
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 を正常に実行しましたが、クライアント LAN の IP アドレス (192.168.55.3) や LAN クライアントの ADSL ゲートウェイ (192.168.55.254) を 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 ゲートウェイ ルーターをクライアントとしてインストールしようとすると、同じ問題が発生します。すべて正常に動作します。クライアントはサーバーに接続し、ゲートウェイ サーバーと、その LAN に接続されている両方のデバイスの両方を ping できますが、その逆はできません。つまり、VPN ゲートウェイ サーバーまたはその LAN に接続されているデバイスがクライアントに ping しようとしても、応答がありません。
サーバーからクライアントに ping コマンドを送信したときに ICMP パケットに tcpdump を実行すると何が起こるかを確認してみましたが、結果は次のようになりました。
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
なぜこのようなことが起こるのか、どうすればこの問題を解決できるのか教えてください。英語が下手で申し訳ありません。Grazie。