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/
.
나는 무엇을 더 시도해야 할지 정말로 모른다.
답변1
이 답변은 아마도 약간 늦었을 것입니다. 그러나 설명된 대로 정확하게 문제가 발생했습니다.
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이 제대로 작동했습니다.
답변2
OVH Cloud VPS에서 openvpn을 실행하려고 할 때 비슷한 문제가 발생했습니다. openvpn은 TUN 인터페이스를 찾을 수 없다고 불평합니다.
modprobe는 항상 모듈을 찾을 수 없음을 반환합니다.
$ sudo modprobe tun
FATAL: Module tun not found.
마지막으로 tun이 모듈이 아니라 커널에 내장되어 있다는 사실을 발견했습니다. 그래서 해결하기 위해 제가 한 일은 누락된 dir과 nod를 생성하는 것이었습니다.
$ sudo mkdir /dev/net
$ sudo mknod /dev/net/tun c 10 200
그런 다음 openvpn은 tun 장치를 찾아서 사용할 수 있습니다.
tun은 모듈이 아니기 때문에 이후에도 modprobe는 여전히 오류를 반환합니다.
$ sudo modprobe tun
FATAL: Module tun not found.
답변3
Arch Linux에서 networkmanager-vpnc
또는 NetworkManager-vpnc
패키지를 설치하면 문제가 해결됩니다.
답변4
내 줄에 /lib/modules/.../modules.alias
해당 줄이 포함되지 않은 문제가 발생했습니다.
alias char-major-10-200 tunode_tunnel
따라서 작업을 완료 mknod /dev/net/tun
하고 tun.ko
어딘가에 있는 경우에도 올바른 주문이 /lib/modules/...
없으면 로드되지 않습니다 .modules.alias