私はこれと同様の問題を抱えています: NATなしのOpenVPN
まだ答えられていないようです。
私の状況の説明:別の管理者が会社を辞める前にインストールしたopenvpnサーバーがネットワークAにあります。現在、複数のユーザーとサーバーがそのopenvpnサーバーに接続してネットワークAにアクセスし、NATを取得しているため、vpnユーザー/サーバーからのすべてのリクエストにopenvpnサーバーからの送信元アドレス。
ここで、openvpnクライアント/サーバーの1つにアクセスするためにネットワークA上のサーバーが必要であり、openvpnでNATを無効にして、これらのクライアントとサーバーの「vpn内部」IPアドレスを公開したいと思います。
VPNネットワークにアクセスするためにネットワークAにルートを追加する必要があることはわかっていますが、それは明らかですが、openvpnでNATを無効にする方法がわかりません。また、IPtablesルールが存在しないためです。いくつかのopenvpn内部NATメカニズムが使用されているようです。
NATを無効にするためにチェックする必要があるオプションはどれですか?
OpenVPNサーバーには、次のようなルールが必要です。
iptables -t nat -A POSTROUTING -i tun0 -j MASQUERADE
あなたはそれを見つけることができます
iptables-t nat -L -n -v
このルールを抑制する必要があります。
もし、あなたが主張するように(しかしあなたは走りましたか
iptables -t nat -L -n -v
実行中のiptablesルールがないことを再確認するには?)、他の唯一の可能性は、iproute2
スイートを介してナッティングが行われることです。行う
cat /etc/iproute2/rt_tables
お持ちのテーブルの名前を書き留めてから、
ip route table TABLE_NAME | grep ^nat
そして、あなたがいくつかの出力を見つけることができるかどうかを確認してください。そうした場合、それはパケットヘッダーがiproute2
コマンドip route add nat ..
によって書き換えられることを意味します。あなたがする必要があるのは問題のルーティングテーブルを削除することです。
これらは2つの可能性ですtertium non datur。
次に、ルーターにルールを追加して、OpenVPNサブネット10.0.0.0/24のパケットをOpenVPNサーバー経由でルーティングする必要があります(IPアドレス192.168.0.127があると仮定します)。ルーターがLinuxマシンの場合、次のコマンドで実行できます。
ip route add 10.0.0.0/24 via 192.168.0.127
Ciscoのようなほとんどのルーターには、GUIにあるAdvanced routing
機能があります。上記のルートを指定するには、これを使用する必要があります。