私は次のことをしたいと思います:
1.2.3.4
192.168.1.1
パブリックIP(例)と内部IP(例)を持つサーバー- マルチVPNルータ接続(IPSECおよびOPENVPN)(ポート500/1194/4500)
- 内部VPN Linuxサーバー(
192.168.1.2
- >192.168.1.100
はい)
私はこれが欲しい:
- 特定のIP(たとえば
5.6.7.8
)の接続はIPSECおよびOPENVPN受信ポートに到着し、パケットはリダイレクトされます。 ->192.168.1.2
(おそらく別のポートに?) - たとえば、他のIPからの接続は
8.9.10.11
IPSECおよびOPENVPN受信ポートに到着し、パケットは->192.168.1.3
(たぶん別のポートに?)にリダイレクトされます。
など...
- 可能ですか?たくさん検索しましたが、答えが見つかりませんでした。
- では、どうすればよいですか
iptables
?
答え1
これは可能です。すでにすべてのポリシーなどで実行されているiptablesがあるかどうかわかりません。したがって、イントラネットとインターネットの間にある作業ルーティングステーションに探しているものを追加する行だけを作成します。この2行だけでは不十分です。
次のようにしてみてください。
iptables -t nat -A PREROUTING -s 5.6.7.8 -i eth0 -p tcp --dport 500 -j DNAT --to-destination 192.168.1.2:500
iptables -t nat -A POSTROUTING -s 5.6.7.8 -i eth0 -p tcp --dport 500 -j SNAT --to-source <ip of iptables computer>
最初の行は、パケットが正しい宛先に送信されるように宛先を内部サーバーに変更します。 2 行目は、サーバーがパケットを再送信する場所を知るようにソースを変更します。