
望ましいシナリオ: Linux マシンの小さなサブネットワーク。すべてのマシンは別の Linux マシン (IP ルーターとして動作) を介してアクセス可能です。これらのマシンは、プライベート ネットワーク上のアドレス (192.168.xx または 10.xxx) で事前に構成されます。ただし、各マシンは、ルーティング マシン上で構成されたパブリック IP アドレス (それぞれに 1 つ) を使用して、ルーティング マシンを介してアクセスできます。
これは NAT または IP マスカレードに似ていますが、パブリック IP アドレスが別々になります。(パブリック ネットワークにはゲートウェイ アドレス (外部ルーター) があると想定しても問題ありません。)
これはアドレス変換で実行できるはずですが、これをどのように構成すればよいかわかりません。検索しても何も見つかりません。
これは設定できますか? できる場合、どのように設定しますか?
答え1
IP_EXT1
および はIP_EXT2
それぞれマシン #1 と #2 の外部 IP アドレスであり、IP_INT1
はIP_INT2
それぞれの内部 IP アドレスであると仮定します。
IP_EXT1
これらはIP_EXT2
実際にはルーティング マシンのアドレスであり、同じネットワーク インターフェイスのエイリアスか、または 2 つの異なるインターフェイスのいずれかです。
次に、ルーティング マシン上の iptables 構成は次のように単純になります (未テスト):
iptables -t nat -A POSTROUTING --destination $IP_EXT1 -j DNAT --to-destination $IP_INT1
iptables -t nat -A POSTROUTING --source $IP_INT1 -j SNAT --to-source $IP_EXT1
iptables -t nat -A POSTROUTING --destination $IP_EXT2 -j DNAT --to-destination $IP_INT2
iptables -t nat -A POSTROUTING --source $IP_INT2 -j SNAT --to-source $IP_EXT2