O servidor não está respondendo aos pings roteados via VPN

O servidor não está respondendo aos pings roteados via VPN

Tenho servidor e máquina virtual nele. Estou hospedando o OpenVPN neste servidor. A máquina virtual possui duas interfaces: ens18 - para IP público, ens19 - para rede interna. Estou tentando fazer ping em 10.2.0.3 (ip da máquina virtual em ens19) via VPN, mas não está respondendo. Quando executo tcpdump -i ens19 icmpna máquina virtual, ela retorna isto:

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens19, link-type EN10MB (Ethernet), capture size 262144 bytes
16:50:25.931910 IP 10.8.0.2 > 10.2.0.3: ICMP echo request, id 1, seq 80, length 40
16:50:29.381784 IP 10.8.0.2 > 10.2.0.3: ICMP echo request, id 1, seq 81, length 40

Saída de ping:

Pinging 10.2.0.3 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.

Saída tcpdump da máquina:

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 262144 bytes
15:58:15.007090 IP 10.8.0.2 > 10.2.0.3: ICMP echo request, id 1, seq 45, length 40

Minhas regras do iptables:

Chain INPUT (policy ACCEPT 2806K packets, 1097M bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  eth0   any     anywhere             anywhere             state RELATED,ESTABLISHED
 198K   27M ACCEPT     udp  --  vmbr0  any     anywhere             anywhere             udp dpt:[my openvn port]
   40  2429 ACCEPT     all  --  tun0   any     anywhere             anywhere            
    0     0 ACCEPT     all  --  tun+   any     anywhere             anywhere            
    0     0 ACCEPT     all  --  tun+   any     anywhere             anywhere            

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 197K   16M ACCEPT     all  --  tun0   vmbr0   anywhere             anywhere            
 177K  336M ACCEPT     all  --  vmbr0  tun0    anywhere             anywhere            
   45  2540 ACCEPT     all  --  tun0   any     10.8.0.0/24          10.2.0.3            
    2   104 ACCEPT     all  --  tun0   any     10.8.0.0/24          10.2.0.0/24         
    0     0 ACCEPT     all  --  tun+   any     anywhere             anywhere            

Chain OUTPUT (policy ACCEPT 3102K packets, 1303M bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  any    tun0    anywhere             anywhere       

Minha tabela de rotas:

default via [my public ip] dev vmbr0 proto kernel onlink 
10.2.0.0/24 dev vmbr1 proto kernel scope link src 10.2.0.1 
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.1 
[my public ip] dev vmbr0 proto kernel scope link src [my gateway] 

Lista de regras de IP:

0:      from all lookup local 
32766:  from all lookup main 
32767:  from all lookup default 

Se precisar de alguma informação extra, adicione um comentário. Desculpe pelo meu péssimo inglês

Responder1

Por @TomYan

Execute ip r add 10.8.0.0/24 via 10.2.0.1 na VM. Para a parte VPN, adicione a rota 10.2.0.0 255.255.255.0 à configuração do cliente ou adicione push "route 10.2.0.0 255.255.255.0" à configuração do servidor, assumindo que você está usando client / pull na configuração do cliente. Observe que essas rotas não são necessárias se as VMs e os clientes VPN usarem o servidor como gateway padrão

informação relacionada