Як завантажити модуль tun в Linux?


26

Не вдається завантажити tunмодуль у вікно ArchLinux. Я намагаюся зв’язатися з OpenVPN, але журнал говорить:

nm-openvpn[6662]: Note: Cannot open TUN/TAP dev /dev/net/tun: No such device (errno=19)

lsmod | grep tun

Повертає нічого:

Якщо я біжу:

sudo modprobe tun

Він повертає невдачу, але жодного повідомлення про помилку, а lsmod все ще немає tun. Модуль, здається, існує, як і tun.ko.gzв /lib/modules/.

Я дійсно не знаю, що ще спробувати.

Відповіді:


27

Ця відповідь, мабуть, трохи пізня, але я зіткнувся з проблемою, саме так, як описано.

Запуск OpenVPN призведе до:

Note: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)

І біг tunctlпризведе до:

Failed to open '/dev/net/tun' : No such file or directory

І ця команда не мала виходу:

lsmod | grep tun

При спробі додати tunмодуль за допомогою:

modprobe tun

modprobe вийшов би з кодом помилки помилки (1), і нічого не змінилося.

Я знайшов альтернативний спосіб активації модуля tun через insmod. Спочатку знайдіть модуль за допомогою цієї команди:

find /lib/modules/ -iname 'tun.ko.gz'

Потім використовуйте insmod із поверненим шляхом (у мене лише одна відповідність), наприклад:

insmod /lib/modules/3.6.9-1-ARCH/kernel/drivers/net/tun.ko.gz

Для мене виконання цієї команди працювало, tunctlі OpenVPN працював нормально після цього.


Якщо це було також на моєму малиновому пі, інсмод вирішив це (після перезавантаження я можу пробувати, як завжди)
unhammer

Тхамкс! команда insmod працює! Якщо це було для проблеми з відкритим підключенням: Не вдалося відкрити пристрій tun: Немає такого пристрою
Антоніо Сако

Необхідний кореневий доступ ?!
Dr.jacky

3
не можу знайти / lib / module / -iname 'tun.ko.gz' на моєму Ubuntu 14.04 vps (
користувач3479125

1
не вдається знайти його і на CentOS 7.
січ

22

Я зіткнувся з подібною проблемою при спробі запуску openvpn на OVH Cloud VPS, openvpn скаржиться, що не може знайти інтерфейс TUN.

modprobe завжди повертає модуль не знайдено:

$ sudo modprobe tun
FATAL: Module tun not found.

Нарешті, я виявив, що tun - це не модуль, а вбудований у ядро, тому те, що я повинен вирішити, було створити відсутні реж і кивок:

$ sudo mkdir /dev/net
$ sudo mknod /dev/net/tun c 10 200

І тоді openvpn може знайти та використати пристрій tun.

Зауважимо, що згодом modprobe все одно поверне помилку, оскільки tun не є модулем.

$ sudo modprobe tun
FATAL: Module tun not found.

Дякую, я отримав цю проблему із сервером доступу OpenVPN на OVH Classic VPS після того, як пройшов розширення з Debian 7 на Debian 8. Ви також можете зробити так, sudo chmod 600 /dev/net/tunяк сказано в цій статті: wiki.vpslink.com/TUN/TAP_device_with_OpenVPN_or_Hamachi Після перезапуску openvpn з sudo service openvpnas restart, Я міг зв’язатися з клієнтом. Але коли я перезавантажую Linux-сервер, / dev / net / tun вже не існує. Я не знаю, чи нормально це, але я додав команди до /etc/rc.local, тому він буде працювати після перезавантаження.
baptx

Спасибі. Ваше рішення працювало на моєму портфельному порту debian скресса, що працює на моєму мобільному Android Я отримав таку ж помилку під час запуску OpenVPN.
Сурав Гош

так, tunце не модуль.
MrRolling

це працює для мене більше ніж.
Pouya Samie


0

У мене виникла проблема, коли мій /lib/modules/.../modules.aliasне містив рядка

alias char-major-10-200 tunode_tunnel

Тож навіть якщо ви вже зробили mknod /dev/net/tunі tun.koдесь у вас /lib/modules/..., він не завантажиться, якщо не modules.aliasмає правильного заклику.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.