Não é possível executar ping no host Docker conectado ao host via VPN

Não é possível executar ping no host Docker conectado ao host via VPN

Eu tenho dois hosts: CentOS 7, que é um host Docker e servidor OpenVPN e Ubuntu como cliente. Estou usando o OpenVPN para conectar um cliente ao host, mas o problema é que o servidor VPN não envia resposta, ou seja, não envia pacotes de volta. O cliente está por trás do NAT. Verifiquei o firewall dos dois lados - todos os tipos de tráfego são permitidos. O que mais devo verificar? MTU não é a causa com certeza. Como roteador, estamos usando Mikrotik.

Configuração do 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

Configuração no lado do 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

Saídas enquanto o túnel está ativo: 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 um

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 (temos muitas interfaces na máquina, então as 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

Responder1

Com suas configurações, você configurou apenas um endereço IP para o túnel no cliente.

Como o endereço é um endereço ponto a ponto /32, pode não haver nenhuma rota adicionada por padrão. (Isso pode ser específico da plataforma.)

Se você apenas deseja se comunicar com o servidor via IP1mas não funciona imediatamente, adicionar route IP1deve ser suficiente.

Se você, por exemplo, quiser que todo o tráfego do host do cliente seja roteado para o túnel, você deverá usar a opção redirect-gateway.

Para este último você vai querer ter certeza de que o host do cliente usa servidores DNS que podem ser acessíveis através do túnel (veja dhcp-option DNS). Além disso, o encaminhamento de IP entre o túnel e a NIC precisa ser habilitado no servidor.

informação relacionada