Não é possível iniciar o OpenVPN

3

Ao iniciar OpenVPN no Gentoo Linux, recebo o seguinte erro.

# openvpn /etc/openvpn/openvpn.conf 
Wed Mar  8 00:55:00 2017 OpenVPN 2.3.12 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [MH] [IPv6] built on Mar  7 2017
Wed Mar  8 00:55:00 2017 library versions: OpenSSL 1.0.2k  26 Jan 2017, LZO 2.08
Wed Mar  8 00:55:00 2017 UDPv4 link local: [undef]
Wed Mar  8 00:55:00 2017 UDPv4 link remote: [AF_INET]172.98.67.7:1198
Wed Mar  8 00:55:01 2017 [28624468b5f74825ffa12e8a33e573f3] Peer Connection Initiated with [AF_INET]172.98.67.7:1198
Wed Mar  8 00:55:03 2017 ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)
Wed Mar  8 00:55:03 2017 Exiting due to fatal error

Alguns resultados do Google sugeriram a criação manual do dispositivo tun com mknod , isso gera um novo erro

# mknod /dev/net/tun c 10 200
# openvpn /etc/openvpn/openvpn.conf 
Wed Mar  8 00:57:25 2017 OpenVPN 2.3.12 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [MH] [IPv6] built on Mar  7 2017
Wed Mar  8 00:57:25 2017 library versions: OpenSSL 1.0.2k  26 Jan 2017, LZO 2.08
Wed Mar  8 00:57:25 2017 UDPv4 link local: [undef]
Wed Mar  8 00:57:25 2017 UDPv4 link remote: [AF_INET]172.98.67.124:1198
Wed Mar  8 00:57:25 2017 [3ccec8eea78838d4b5676ec98bd25713] Peer Connection Initiated with [AF_INET]172.98.67.124:1198
Wed Mar  8 00:57:27 2017 ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such device (errno=19)
Wed Mar  8 00:57:27 2017 Exiting due to fatal error

Eu tenho tun embutido no meu Kernel como mostrado abaixo. uname output também forneceu

$ grep tun /lib/modules/4.10.1/modules.builtin
kernel/drivers/net/tun.ko
...
...

$ uname -a
Linux acer 4.10.1 #5 SMP Sun Mar 5 04:04:19 -00 2017 x86_64 Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz GenuineIntel GNU/Linux

Há algum passo que eu possa ter esquecido? Além de tun , existem mais módulos do Kernel que eu precisaria instalar?

    
por Mike 08.03.2017 / 01:59

1 resposta

1

Até onde eu sei, strace output modprobe confiam cegamente no que modules.builtin.bin diz que é interno. Se esse arquivo estiver fora de sincronia com seu kernel real, espero que modprobe retorne o sucesso, mesmo que o módulo não esteja lá.

Através de /proc você pode descobrir se o driver está realmente carregado. Este é um driver misc , então você precisa procurar em dois locais.

Em /proc/devices , você encontrará duas seções listando dispositivos de caractere e dispositivos de bloco. Você deve encontrar este dispositivo de caracteres:

 10 misc

Em seguida, procure em /proc/misc pelo menor número de cada driver. Você deve procurar por isso:

200 tun

Se você achar que o driver misc está presente, mas tun está faltando em /proc/misc , provavelmente o seu arquivo modules.builtin.bin não corresponde ao kernel que você está executando.

    
por 12.03.2017 / 00:01

Tags