리눅스에서 tun 모듈을로드하는 방법?


26

tunArchLinux 상자에 모듈 을로드 할 수 없습니다 . 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에는 여전히 no가 없습니다 tun. tun.ko.gzin 이 있기 때문에 모듈이 존재하는 것 같습니다 /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

나에게 그 명령을 실행하면 tunctlOpenVPN이 정상적으로 작동했습니다.


너무 내 라즈베리 파이에이 있었다, insmod 명령은 (재부팅 후 나는 평소처럼 modprobe를 할 수 있습니다) 그것을 해결
unhammer

Thamks! insmod 명령 명령은 작동한다! 열린 TUN 장치에 실패 : openconnect 문제에 대한이 없었다 이러한 장치
안토니오 사코

루트 액세스가 필요하십니까?!
Dr.jacky

3
Ubuntu 14.04 vps에서 / lib / modules / -iname 'tun.ko.gz'를 찾을 수 없음 (
user3479125

1
CentOS 7에서도 찾을 수 없습니다.
39 초

22

OVH Cloud VPS에서 openvpn을 실행하려고 할 때 비슷한 문제가 발생하여 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 장치를 찾아서 사용할 수 있습니다.

나중에 tun은 모듈이 아니기 때문에 modprobe는 여전히 오류를 반환합니다.

$ sudo modprobe tun
FATAL: Module tun not found.

덕분에, 내가 수행 한 후 OVH 클래식 VPS에 OpenVPN을 액세스 서버에이 문제를 가지고 데비안 7 데비안 8로 DIST를 업그레이드 할 수도 있습니다 할 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 2016 년

감사. 귀하의 솔루션은 내 안드로이드 모바일에서 실행되는 데비안 스퀴즈의 armbi 포트에서 작동했습니다. OpenVPN을 시작하는 동안 같은 오류가 발생했습니다.
Sourav Ghosh

예, tun모듈이 아닙니다.
MrRolling

그쪽은 저에게 고맙습니다.
Pouya Samie

2

아치 리눅스에서 networkmanager-vpnc패키지를 설치 하면 문제가 해결됩니다.


0

/lib/modules/.../modules.alias라인을 포함하지 않은 문제가있었습니다

alias char-major-10-200 tunode_tunnel

따라서을 mknod /dev/net/tun하고 tun.ko어딘가에 있더라도 올바른 주문 /lib/modules/...이 없으면로드되지 않습니다 modules.alias.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.