Debian ゲートウェイサーバーに OpenVPN を設定しました。 OpenVPNサーバーゲートウェイルーターLANは172.16.20.0/24です。ゲートウェイIPは172.16.20.254です。 openvpn.confファイルから:
port 1194
proto udp
dev tun
ca ca.crt
cert ccrr.crt
key ccrr.key
dh dh1024.pem
server 172.16.21.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
user nobody
group users
persist-key
persist-tun
status openvpn-status.log
verb 4
client-to-client
route 192.168.55.0 255.255.255.0
push "route 172.16.20.0 255.255.255.0"
push "route 172.16.200.0 255.255.255.0"
クライアントLANネットワークは192.168.55.0/24で、ゲートウェイIPは192.168.55.254です。 LAN VPNは172.16.21.0/24です。 VPN に正常に接続すると、VPN サーバーには次の IP 172.16.21.1 および 172.16.21.22 クライアントがあります.クライアントは、サーバおよび IP 172.16.200.254 の ADSL ルータを含む、サーバに接続されたすべての LAN に対して ping を送信します。 OpenVPN pingサーバーはIP 172.16.21.22を正常にpingしますが、クライアントLAN(たとえば192.168.55.3)またはLANクライアントのADSLゲートウェイ(例:192.168.55.254)のIPアドレスをpingできません。
以下はサーバー側のパスです。
root@ccrr:/# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.16.200.254 0.0.0.0 UG 0 0 0 eth0
172.16.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
172.16.21.0 172.16.21.2 255.255.255.0 UG 0 0 0 tun0
172.16.21.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
172.16.200.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
192.168.55.0 172.16.21.2 255.255.255.0 UG 0 0 0 tun0
次の規則を使用してファイアウォール構成を挿入します。
iptables -A INPUT -i tun+ -j ACCEPT
iptables -A OUTPUT -o tun+ -j ACCEPT
以下のガイドに従って、LANクライアントを見つけるために従うべきパスをサーバーに指示しました。 ルーティングされたVPN(dev tun)を使用するときにクライアント上の複数のコンピュータを含める。
他のopenvpn Debianゲートウェイルータをクライアントとしてインストールしようとしたときにも同じ問題が発生しました。すべてがうまくいきます。クライアントはサーバーに接続されており、ゲートウェイサーバーとopenvpnをそのLANに接続されている2つのデバイスにpingすることができますが、その逆はできません。つまり、VPNゲートウェイサーバーまたはそのLANに接続されているデバイスがクライアントにpingしようとすると、応答がありません。
私はサーバーからクライアントにpingコマンドを送信したときにtcpdumpからICMPパケットで何が起こるかを確認しようとしましたが、結果は次のとおりです。
18:12:01.335462 ip: 172.16.21.1 > 192.168.55.3: ICMP echo request, id 5855, seq 1, length 64
18:12:02.334983 ip: 172.16.21.1 > 192.168.55.3: ICMP echo request, id 5855, seq 2, length 64
これが起こる理由と解決策を理解するのに役立ちます。申し訳ありません。私の英語力が悪いです。ありがとうございます。