トンネル経由で OpenVPN サーバーの LAN インターフェイスに接続できないのはなぜですか?

トンネル経由で OpenVPN サーバーの LAN インターフェイスに接続できないのはなぜですか?

職場と自宅の間に OpenVPN を設定しました。証明書 (事前共有キーではない) を使用し、tun モードになっており、問題なく動作しています。ネットワークは次のようになります。

図

トラフィックを送受信するための適切なルートを設定しており、クライアントは 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.1 に送信する」というポリシー ベース ルーティング ルールを設定しました。これは、OpenVPN 接続が確立されると、適切に機能することを意味します。

問題は、トンネル内から 192.168.5.10 に ping すると、返されるパケットが同じ PBR ルールにヒットし、トンネルから戻らずに 192.168.5.1 に送信されてしまうことです。PBR ルールを変更することで、この問題は修正されました。

関連情報