OpenVPNサーバーのLANインターフェイスにトンネリングできないのはなぜですか?

OpenVPNサーバーのLANインターフェイスにトンネリングできないのはなぜですか?

仕事と家の間にOpenVPNを設定しました。事前共有鍵ではなく証明書を使用し、トンモードにあり、正常に動作します。ネットワークは次のとおりです。

チャート

トラフィックを送受信するための正しいパスが設定されており、クライアントは192.168.80.1(サーバーのトンネルIP)または192.168.5.0/24(会社)ネットワーク上のいずれとも通信できません。

私が経験している問題の1つは、クライアントが192.168.5.10(作業ネットワーク上のサーバーのIP)と通信またはpingできないことです。

iptablesは何もブロックしません。一部のOpenVPNセキュリティ設定またはLinux設定がありませんか?

答え1

答えはpingが使用している可能性があります。間違ったICMP パケットの送信元 IP。デフォルトでは、パケットのアウトバウンドインターフェイスでIPを選択します。あなたの場合、職場の住所は192.168.80.1、自宅の住所は192.168.80.10です。

以下を試してください。

ping -I eth0 <address>

答え2

ついに私の問題を見つけました。 OpenVPN自体とは何の関係もなく、上記の情報では解決できません。他の人がこの状況に直面する場合、結果は次のようになります。

私のOpenVPNサーバーは2つの異なるネットワークに接続されており、2つの異なるOpenVPNインスタンスを実行しています。 1 つは 1 つのインターフェイスを受信し、もう 1 つは別のインターフェイスを受信します。インターフェースの1つは私の図(192.168.5.10)にありますが、もう1つはありません。 192.168.4.10と呼びます。

これを行うには、「パケットの送信元 IP が 192.168.5.10 の場合、ルータ 192.168.5.1 に送信します。」そして、「パケットの送信元IPが192.168.4.10の場合、192.168.4.10」というポリシーベースのルーティングルールがあります。このルーターは「192.168.4.1」ルーターに送信されます。これは、OpenVPN接続が確立されると正しく機能することを意味します。

問題は、トンネル内で192.168.5.10をpingすると、戻りパケットが同じPBRルールに到達し、トンネルを介して戻ってくるのではなく、192.168.5.1に送信されることです。私のPBRルールを変更すると、この問題は解決しました。

関連情報