Não é possível executar ping na sub-rede atrás do servidor OpenVPN

Não é possível executar ping na sub-rede atrás do servidor OpenVPN

Aqui está minha infraestrutura:

dns of mydomain.com:
  vpn A 90.90.90.1
  vpn A 90.90.90.2

client vpn config:
  client
  dev tun
  proto udp
  nobind
  remote vpn.mydomain.com 1394

server1
  net.ipv4.ip_forward = 1
  iptables:
    FORWARD defaults to ACCEPT
  vpn config:
    dev tun
    topology subnet
    port 1394
    proto udp
    server 10.10.1.0 255.255.255.0
    push "route 10.90.90.0 255.255.255.0"
  interfaces:
    ifpub: 90.90.90.1/24
    ifpriv: 10.90.90.1/24
    ifvpn: 10.10.1.1/24
  routes:
    10.10.1.0/24 src 10.10.1.1 dev ifvpn
    10.10.2.0/24 via 10.90.90.2 dev ifpriv

server2
  net.ipv4.ip_forward = 1
  iptables:
    FORWARD defaults to ACCEPT
  vpn config:
    dev tun
    topology subnet
    port 1394
    proto udp
    server 10.10.2.0 255.255.255.0
    push "route 10.90.90.0 255.255.255.0"
  interfaces:
    ifpub: 90.90.90.2/24
    ifpriv: 10.90.90.2/24
    ifvpn: 10.10.2.1/24
  routes:
    10.10.1.0/24 via 10.90.90.1 dev ifpriv
    10.10.2.0/24 src 10.10.2.1 dev ifvpn

O problema é que do meu cliente posso executar ping no servidor OpenVPN ao qual estou conectado, mas não no outro servidor na sub-rede 10.90.90.0/24.

tcpdumpmostra que a solicitação ICMP vai de ifvpnpara ifprivno mesmo servidor, mas o pacote de solicitação ICMP nunca vai mais longe.

Adicionar log ao iptables também me mostra que o pacote de solicitação ICMP vai para o estado POSTROUTING sem ser descartado, mas o pacote nunca chegou ao seu destino e não sei o que acontece aqui, estou sem soluções.

Eu sabia que posso mascarar meus pacotes, mas não quero porque não é recomendado (https://community.openvpn.net/openvpn/wiki/NatHack), ou será minha última solução.

Responder1

Se o servidor remoto "expõe uma sub-rede", você deve ter um ccddiretório contendo arquivos com iroutediretivas, conforme descrito cuidadosamente na documentação do OpenVPN. Você também deve routeenviar diretivas aos clientes.

Quando tudo estiver funcionando corretamente:

  • O cliente envia o ping.
  • O sistema operacional do cliente possui um comando de roteamento que envia esse tráfego para o servidor OpenVPN local.
  • A ccdinformação diz ao OpenVPNao qual o controle remoto conectadopara enviar o tráfego para entrega.
  • O tráfego emerge neste controle remoto e segue até seu destino.
  • Para a viagem de volta, o sistema remoto devetambémter uma rota de sistema operacional que enviará o tráfego de volta paraisso éServidor OpenVPN.

informação relacionada