Estoy intentando configurar una conexión VPN de sitio a sitio entre dos de nuestras oficinas. Los servidores VPN que estoy usando son 2 "Edgerouter lite" y el software de túnel que estoy usando es OpenVPN.
Así está la configuración en este momento:
-
R1:
LAN subnet: 192.168.2.0/24
LAN port: 192.168.2.1
WAN port: X.X.X.X
-
R2:
LAN subnet: 10.10.0.0/24
LAN port: 10.10.0.34
WAN port: Y.Y.Y.Y
-
R1 Open VPN config:
openvpn vtun0 {
local-address 192.168.2.1 {
}
local-port 1194
mode site-to-site
openvpn-option --comp-lzo
openvpn-option --float
openvpn-option "--ping 10"
openvpn-option "--ping-restart 20"
openvpn-option --ping-timer-rem
openvpn-option --persist-tun
openvpn-option --persist-key
openvpn-option "--user nobody"
openvpn-option "--group nogroup"
remote-address 10.10.0.39
remote-host X.X.X.X
remote-port 1194
shared-secret-key-file /config/auth/secret
}
-
R2 Open VPN config:
openvpn vtun0 {
local-address 10.10.0.39 {
}
local-port 1194
mode site-to-site
openvpn-option --comp-lzo
openvpn-option --float
openvpn-option "--ping 10"
openvpn-option "--ping-restart 20"
openvpn-option --ping-timer-rem
openvpn-option --persist-tun
openvpn-option --persist-key
openvpn-option "--user nobody"
openvpn-option "--group nogroup"
remote-address 192.168.2.1
remote-host Y.Y.Y.Y
remote-port 1194
shared-secret-key-file /config/auth/secret
}
-
show openvpn status site-to-site on R1
OpenVPN client status on vtun0 []
Remote CN Remote IP Tunnel IP TX byte RX byte Connected Since
--------------- --------------- --------------- ------- ------- ------------------------
None (PSK) Y.Y.Y.Y 10.10.0.39 51.6K 51.0K N/A
-
show openvpn status site-to-site on R2
OpenVPN client status on vtun0 []
Remote CN Remote IP Tunnel IP TX byte RX byte Connected Since
--------------- --------------- --------------- ------- ------- ------------------------
None (PSK) X.X.X.X 192.168.2.1 85.3K 84.5K N/A
-
Routing table R1:
IP Next hop INT TYPE
0.0.0.0/0 X.X.X.XGW eth1 static
127.0.0.0/8 lo connected
192.168.2.0/24 eth0 connected
X.X.X.X/X eth1 connected
10.10.0.0/24 vtun0 static
10.10.0.39/32 vtun0 connected
-
Routing table R2:
IP Next hop INT TYPE
0.0.0.0/0 Y.Y.Y.YGW eth0 static
127.0.0.0/8 lo connected
10.10.0.0/24 eth1 connected
Y.Y.Y.Y/Y eth0 connected
192.168.2.0/24 vtun0 static
192.168.2.1/32 vtun0 connected
Desde un host en la LAN 192.168.2.0 (en R1) puedo hacer ping a 10.10.0.34 (IP del puerto LAN en R2) pero no puedo hacer ping a 10.10.0.4 (un host en la LAN R2).
¿Hay algún problema en mi configuración?
Respuesta1
Esto suele tener que ver con el enrutamiento. Si puede pasar de un punto final OpenVPN a otro, debería estar bastante cerca de tener una configuración que funcione, pero:
Asegúrese de que el reenvío de IP esté habilitado si hay una LAN a la que se debe acceder más allá de un punto final en particular.
Los clientes en el lado remoto de una conexión no saben cómo regresar al otro lado de la conexión. Esto es cierto en ambos sentidos del túnel.
Puede solucionar este problema utilizando las declaraciones iroute
y push
en el openvpn.conf
de su elección. Si está uniendo dos redes x.x.x.x
y y.y.y.y
, luego, en el lado del servidor (digamos x.x.x.x
), puede hacer esto:
push "route net mask"
opush "route x.x.x.x 255.255.255.0"
por ejemplo. Esto entrega a los clientes remotosy.y.y.y
la ruta correcta de regreso ax.x.x.x
través del túnel.Si el lado del servidor (
x.x.x.x
) necesita poder ver estaciones más allá de la puerta de enlace OpenVPN eny.y.y.y
, también debe utilizar lairoute
declaración. Colóqueloiroute y.y.y.y 255.255.255.0
en el lado del servidor para que esto suceda. Básicamente, esto le permite a OpenVPN saber qué cliente es responsable de una subred en particular.iroute
las declaraciones deben ir alccd
(directorio de configuración del cliente, creo). Por lo general, esto estaría en archivos llamados/etc/openvpn/ccd/<client name>
.
Creo que esto debería ponerte en marcha. Además, eche un vistazo a la excelente documentación de OpenVPN:como este bit en LAN. ¡Espero que funcione para usted!