簡単な紹介;
私はインターネットに直接接続されたVPSと私のルーター(NAT)の背後にある地下室にある2つのシステムを持っています。 VPSを使用し、すべてのポートのIPアドレスの1つに対するすべての要求を地下室のシステムに転送したいと思います。
私はOpenVPNを使って2つを接続し、私が設定したことをうまく実行しました。次のプロセスを使用して、IPからのすべての要求を地下室のコンピュータに転送できます。
- OpenVPN経由でデバイスを接続する
- VPS に接続されているインターネットで次のコマンドを実行します。
iptables -t nat -A PREROUTING -d public.facing.vps.ip -j DNAT --to-destination basement.computer.vpn.ip
- 地下マシンで次のコマンドを実行します。
echo '100 VPN' >> /etc/iproute2/rt_tables (only once) ip rule add from vpn.subnet/24 table VPN ip route add default via vpn.gateway.ip table VPN
これはいつもうまくいきますが、この記事GREトンネリングの文脈で厳密に説明し、最後のステップの意味を理解するのが困難です。
私の質問
OpenVPNサーバーを保持するか、クライアントが自動化(ポリシーベース?)ルーティングを実行してトンネルを介してパケットを返すように設定できますか?
一番下のコマンドセットが正確に何を意味するのかわかりません。したがって、現在の式でopenvpnの「パス」に「翻訳」するのは面倒です。
「ポリシーベースのルーティング」と呼ばれるようです。パケットがVPNサブネットから来ると、VPNゲートウェイを介して再ルーティングされます(ルーティングテーブルを「VPN」に変更)。
OpenVPNがWindowsで同様のことを行うことができると思うので、OpenVPNはこれを自動的に実行したいのですが、まだ考えたことはありません。これは自動的に実行され、iptablesルールを自動的に実行してパブリックIPからのトラフィックをVPNクライアントに転送できるようにすることをお勧めします。