ネットワーク翻訳、1対1、1対多ではない

ネットワーク翻訳、1対1、1対多ではない

望ましいシナリオ: Linux マシンの小さなサブネットワーク。すべてのマシンは別の Linux マシン (IP ルーターとして動作) を介してアクセス可能です。これらのマシンは、プライベート ネットワーク上のアドレス (192.168.xx または 10.xxx) で事前に構成されます。ただし、各マシンは、ルーティング マシン上で構成されたパブリック IP アドレス (それぞれに 1 つ) を使用して、ルーティング マシンを介してアクセスできます。

これは NAT または IP マスカレードに似ていますが、パブリック IP アドレスが別々になります。(パブリック ネットワークにはゲートウェイ アドレス (外部ルーター) があると想定しても問題ありません。)

これはアドレス変換で実行できるはずですが、これをどのように構成すればよいかわかりません。検索しても何も見つかりません。

これは設定できますか? できる場合、どのように設定しますか?

答え1

IP_EXT1および はIP_EXT2それぞれマシン #1 と #2 の外部 IP アドレスであり、IP_INT1IP_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

関連情報