El servicio OpenVPN no se inicia

El servicio OpenVPN no se inicia

Estoy intentando configurar un servidor VPN en una Raspberry Pi, sin embargo, aparece un error[FAIL] Starting virtual private network daemon: server failed!

He seguido algunos tutoriales diferentes, pero ninguno de ellos termina en un servicio que funcione. Estoy seguro de que he interpretado mal una instrucción en alguna parte, pero ¿alguien puede ayudarme a hacerla funcionar?

El Pi ejecuta Raspbian. Tiene una IP estática 192.168.1.230. El enrutador es 192.168.1.254.

Mi archivo /etc/openvpn/server.conf dice:

dev tun
proto udp
port 1194
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
user nobody
group nogroup
server 10.8.0.0 255.255.255.0
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
client-to-client
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
log-append /var/log/openvpn
comp-lzo

ifconfig -a muestra:

eth0      Link encap:Ethernet  HWaddr b8:27:eb:78:40:2b  
          inet addr:192.168.1.230  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:18862 errors:0 dropped:35 overruns:0 frame:0
          TX packets:16015 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1130316 (1.0 MiB)  TX bytes:1997172 (1.9 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

/var/log/openvpn contiene:

Fri Jul  4 18:32:39 2014 OpenVPN 2.2.1 arm-linux-gnueabihf [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Oct 12 2013
Fri Jul  4 18:32:39 2014 WARNING: --keepalive option is missing from server config
Fri Jul  4 18:32:39 2014 NOTE: your local LAN uses the extremely common subnet address 192.168.0.x or 192.168.1.x.  Be aware that this might create routing conflicts if you connect to the VPN server from $
Fri Jul  4 18:32:39 2014 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Fri Jul  4 18:32:39 2014 Diffie-Hellman initialized with 2048 bit key
Fri Jul  4 18:32:39 2014 TLS-Auth MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Fri Jul  4 18:32:39 2014 Socket Buffers: R=[163840->131072] S=[163840->131072]
Fri Jul  4 18:32:39 2014 ROUTE default_gateway=192.168.1.254
Fri Jul  4 18:32:39 2014 TUN/TAP device tun0 opened
Fri Jul  4 18:32:39 2014 TUN/TAP TX queue length set to 100
Fri Jul  4 18:32:39 2014 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Fri Jul  4 18:32:39 2014 /sbin/ifconfig tun0 10.8.0.1 pointopoint 10.8.0.2 mtu 1500
Fri Jul  4 18:32:39 2014 /sbin/route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.2
Fri Jul  4 18:32:39 2014 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Fri Jul  4 18:32:39 2014 GID set to nogroup
Fri Jul  4 18:32:39 2014 UID set to nobody
Fri Jul  4 18:32:39 2014 UDPv4 link local (bound): [undef]
Fri Jul  4 18:32:39 2014 UDPv4 link remote: [undef]
Fri Jul  4 18:32:39 2014 MULTI: multi_init called, r=256 v=256
Fri Jul  4 18:32:39 2014 IFCONFIG POOL: base=10.8.0.4 size=62, ipv6=0
Fri Jul  4 18:32:39 2014 Initialization Sequence Completed

Actualización 13 14 de julio

El comando ps aux | grep openvpnmuestra:

nobody    2269  0.0  0.2   5072  1192 ?        Ss   Jul04   0:17 /usr/sbin/openvpn --writepid /var/run/openvpn.openvpn.pid --daemon ovpn-openvpn --cd /etc/openvpn --config /etc/openvpn/openvpn.conf
root      5140  0.0  0.1   3548   800 pts/0    S+   08:54   0:00 grep openvpn

El comando netstat -l | grep 1194no tiene salida.

Respuesta1

La salida del registro y el hecho de que el dispositivo tun aparezca ifconfigsugiere que el demonio openvpn realmente se está ejecutando. ¿Puedes verlo en la lista de procesos si ejecutas:

ps aux | grep openvpn

El comando de inicio del servicio, ¿lo está ejecutando como sudo/root? De lo contrario, es posible que esté intentando ajustar las tablas de enrutamiento o controlar el dispositivo tun y no tenga los permisos adecuados.

Además, asegúrese de que:

netstat -l | grep 1194

Muestra el demonio escuchando en el puerto UDP 1194.

La salida del registro muestra que el demonio openvpn ha podido crear el dispositivo tun (y aparece en la salida de ifconfig), por lo que me sorprendería mucho si el demonio no se estuviera ejecutando realmente. Si ese es el caso, y no está haciendo sudo en el control del servicio, es posible que haya algún problema con el script de inicio.

información relacionada