No se puede hacer ping al host Docker al estar conectado al host a través de VPN

No se puede hacer ping al host Docker al estar conectado al host a través de VPN

Tengo dos hosts: CentOS 7, que es un host Docker y un servidor OpenVPN y Ubuntu como cliente. Estoy usando OpenVPN para conectar un cliente al host, pero el problema es que el servidor VPN no envía una respuesta, es decir, no envía ningún paquete. El cliente está detrás de la NAT. Revisé el firewall en ambos lados: se permiten todos los tipos de tráfico. ¿Qué más debo comprobar? MTU no es la causa con seguridad. Como enrutador, utilizamos Mikrotik.

Configuración del cliente:

remote <Server IP>
dev tun
rport 18999
lport 18999
proto udp
ifconfig IP1 IP2
secret /etc/openvpn/static.key 1
persist-tun
persist-key
keepalive 10 60
ping-timer-rem
verb 3
daemon
log-append /var/log/openvpn.log

Configuración en el lado del servidor:

ev tun.yasha
proto udp
local <someip>
lport 18999
rport 18999
secret /etc/openvpn/.keys/secret.key 0
ifconfig <IP2> <IP1>
user nobody # On CentOS
group nobody # On CentOS
persist-tun
persist-key
keepalive 10 60
ping-timer-rem
verb 6
daemon
log-append /var/log/openvpn.log

Salidas mientras el túnel está activo: Cliente: ip r

default via 192.168.88.1 dev wlp3s0 proto dhcp metric 600 
10.8.0.1 dev tun0 proto kernel scope link src 10.8.0.2 
169.254.0.0/16 dev wlp3s0 scope link metric 1000 
192.168.88.0/24 dev wlp3s0 proto kernel scope link src 192.168.88.34 metric 600

ip un

tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.2 peer 10.8.0.1/32 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::9b45:4bf5:f2d7:5375/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever

Servidor:

ip r

default via 217.12.XXX.X dev eno1 
10.8.0.2 dev tun.yasha proto kernel scope link src 10.8.0.1

ip a (tenemos muchas interfaces en la máquina, así que las omito)

tun.yasha: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.1 peer 10.8.0.2/32 scope global tun.yasha
       valid_lft forever preferred_lft forever
    inet6 fe80::4815:ef11:3756:faea/64 scope link flags 800 
       valid_lft forever preferred_lft forever

Respuesta1

Con sus configuraciones, solo configuró una dirección IP para el túnel en el cliente.

Como la dirección es una dirección punto a punto /32, es posible que no se agregue ninguna ruta de forma predeterminada. (Eso puede ser específico de la plataforma).

Si simplemente desea poder comunicarse con el servidor a través de IP1pero no funciona de fábrica, agregarlo route IP1debería ser suficiente.

Si, por ejemplo, desea que todo el tráfico del host del cliente se enrute al túnel, deberá utilizar esta opción redirect-gatewayen su lugar.

Para esto último, querrá asegurarse de que el host del cliente utilice servidores DNS a los que se pueda acceder a través del túnel (consulte dhcp-option DNS). Además, es necesario habilitar el reenvío de IP entre el túnel y la NIC en el servidor.

información relacionada