openvpnは2つのネットワークを接続します

openvpnは2つのネットワークを接続します

openvpnトンネル(各トンデバイス)を介して接続したい2つのネットワークがあります。

サーバー側のネットワークは10.10.7.0/24で、
VPNゲートウェイはIPが10.10.7.12のVMで実行されており、
VPNゲートウェイ側のVPNトンネルIPは10.10.9.1(tun0)
、ルーターは有線ルーターです。 IPは10.10.7.1です。
ルータには、10.10.10.0/24から10.10.7.12までのルーティングエントリがあります。
ルータは 1194 から 10.10.7.12:1194 にポート転送を実行します。

クライアントネットワークは10.10.10.0/24です。
クライアントルータはIP 10.10.10.1のDebianラズベリーです。
プール(192.168.0.xx)のIPを使用して外部wlan(wlan0)に接続します。
クライアントは(まだ)
イーサネット(eth0)を介してVPNに接続します。トンネルのIPは10.10.9.2です。

VPN接続を確立し、ネットワーク間のルーティングが必要です。
クライアント側では、「route add -net 10.10.7.0/24 tun0」でパスを追加しました。サーバー
側では、「route add -net 10.10.10.0/24 tun0」でパスを追加しました。
サーバー側が受け入れるように設定されています。
私はマスカレーディングやsnatを設定していませんが、TCPパケットの発信者IPがペイロードの発信者IPと異なる場合、私が実行しているサービスが混乱しているので、したくありません。
他のインターネット接続はトンネルを介してルーティングしてはいけません。

これで、クライアントゲートウェイからサーバーや他のネットワークにpingを実行できるようになりました。 httpも動作します。ただし、サーバーからクライアントゲートウェイにpingを送信できず、どのサービスにもアクセスできません(例:[Eメール保護])。私は何を見逃していますか?

ご協力ありがとうございます。

ベストアンサー1

"route add -net 10.10.10.0/24 tun0"はopenvpnにトラフィックを送信しますが、どのクライアントにトラフィックを送信するかをopenvpnサーバーに通知しませんでした。

これを行うには、irouteディレクティブを使用する必要があります。

iroute 10.10.10.0 255.255.255.0

これはサーバーの/etc/openvpn/ccd/<cn>になければなりません(<cn>をクライアント証明書の一般名に置き換えます)。

おすすめ記事