これまで、DigitalOceanにOpenVPNサーバーをインストールし、RaspberryPiにOpenVPNクライアントをインストールすることができました。私のRaspberry PiのOpenVPN IPは10.8.0.6で、OpenVPNサーバーからpingできます。これで、このRPiはIP 10.1.2.14によってLANネットワード(ゲートウェイ10.1.1.253、SubnetMask:255.255.252.0)に接続されます。このクライアントの(RPi)ネットワークに接続されている別のLinuxシステムがあり、そのIPは10.1.2.2です。
OpenVPNサーバーからVPN経由で10.1.2.2にアクセスしたいと思います。どうすればいいですか?
[〜#〜] edit [〜#〜]:@masgoの提案に従って、私は次のようにしました
server.conf
ファイルに、client-config-dir /etc/openvpn/ccd
、route 10.1.0.0 255.255.252.0
、およびPush "route 10.1.0.0 255.255.252.0"
を追加しましたiroute 10.1.0.0 255.255.252.0
を追加2つのこと:
ローカルネットワークに問題はありませんか?ゲートウェイが10.1.1.253で、ネットマスクが255.255.255.252の場合、pcs 10.1.2.2と10.1.2.14はゲートウェイと同じネットワーク上でnotになります。
Oceanサーバーからのパケットは、OpenVPNトンネルの反対側のIPアドレス(おそらく10.8.0.1)として現れます。これが10.1.2.2に達すると、それは自身のサブネットとは異なるサブネットに属していることがわかり、したがって、応答を知っている唯一の方法で転送しようとしますieOpenVPNクライアント経由ではなく、ゲートウェイ経由。したがって、リターンpingが返されることはありません。
これを回避する方法は、RPIに次のiptables
ルールを追加することです。
iptables -t nat -A POSTROUTING -d (here your local network) -j MASQUERADE
このようにして、パケットはOpenVPNクライアントに送り返されます。どちらであるかが明確でないため、ネットワークを挿入しませんでした。10.1.2.0/30の場合は、挿入するか、それに応じて変更してください。
あなたがしたいことはLAN-to-LANと呼ばれます。解決策は、VPNクライアントとVPNサーバーに正しいルートを設定することです。通常、クライアント側の構成は、サーバーからクライアントにルーティング情報を「プッシュ」することによって行います。
これを見てください: https://community.openvpn.net/openvpn/wiki/RoutedLans
また: https://serverfault.com/questions/593314/openvpn-routing-for-lan-to-lan-through-tun