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 openvpn
muestra:
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 1194
no tiene salida.
Respuesta1
La salida del registro y el hecho de que el dispositivo tun aparezca ifconfig
sugiere 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.