これまで私は解決策を見つけることができませんでした。私はIPTablesの経験が少ないので、あなたが提供できるサポートに大いに感謝します。
仮想マシンがあるサーバーがあります。マスターノードにはリモートIPとサブネットがあります。各仮想マシンは、Linux仮想化とルーティングネットワーキングを使用して作成され、ローカルIPが割り当てられます。次に、IP テーブルを使用して、プライベートリモート IP のすべてのトラフィックをローカル IP に転送することによってリモート IP を割り当てます。これはほとんど機能しているようですが、各VMからのすべてのトラフィックは、VMに転送するリモートIPではなくノードマスターIPからのものです。
私のIPTablesルールは次のとおりです。
iptables -t nat -A POSTROUTING -s 192.168.123.0/24 ! -d 192.168.123.0/24 -j MASQUERADE
iptables -A FORWARD -d 192.168.123.0/24 -o virbr1 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -s 192.168.123.0/24 -i virbr1 -j ACCEPT iptables -A FORWARD -i virbr1 -o virbr1 -j ACCEPT
次に、各仮想マシンに対して次の操作を行います。
iptables -t nat -A PREROUTING -d {Their-remote-IP} -j DNAT --to-destination 192.168.123.3
iptables -A FORWARD -p tcp -d 192.168.123.3 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m udp -p udp -d 192.168.123.3 -j ACCEPT
iptables -A FORWARD -m icmp -p icmp -d 192.168.123.3 -j ACCEPT
設定例
Primary Node IP: X.X.X.172
Additional IP X.X.X.173 1 (NATed to VM 1) to local address 192.168.123.2
Additional IP X.X.X.174 1 (NATed to VM 2) to local address 192.168.123.3
Additional IP X.X.X.175 1 (NATed to VM 3) to local address 192.168.123.4
ただし、仮想マシンからのすべてのアウトバウンドトラフィックはXXX172を通過します。
あなたが提供できるアドバイスは大いに感謝します。
ベストアンサー1
それがまさにそのことMASQUERADE
です。元のソースアドレスをパケットが離れようとしているインターフェイスのアドレスで上書きされます。元のアドレスを維持するには、なりすましを使用しないでください。