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