サーバーはVPN経由でルーティングされたpingに応答しません

サーバーはVPN経由でルーティングされたpingに応答しません

サーバーと仮想マシンがあります。このサーバーで OpenVPN をホストしています。仮想マシンには 2 つのインターフェイスがあります。ens18 (パブリック IP 用)、ens19 (内部ネットワーク用)。VPN 経由で 10.2.0.3 (ens19 の仮想マシン IP) に ping を実行しようとしていますが、応答がありません。tcpdump -i ens19 icmp仮想マシンで実行すると、次の結果が返されます。

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

Ping出力:

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

マシンの tcpdump 出力:

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

私の 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       

私のルートテーブル:

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] 

IP ルール リスト:

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

追加情報が必要な場合はコメントを追加してください。英語が下手で申し訳ありません

答え1

@TomYan より

VM で ip r add 10.8.0.0/24 via 10.2.0.1 を実行します。VPN 部分については、クライアント conf に route 10.2.0.0 255.255.255.0 を追加するか、クライアント conf で client / pull を使用していると仮定して、サーバー conf に push "route 10.2.0.0 255.255.255.0" を追加します。VM と VPN クライアントの両方がサーバーをデフォルト ゲートウェイとして使用する場合、これらのルートは不要であることに注意してください。

関連情報