私の目的は、すべてのポートおよびプロトコルでeth0に到達するすべてのIPアドレスをこの方法でNAT(変換)することです:192.168.55.x-> 192.168.42.x(IP転送が有効になっており、192.168.42.0 / 24サブネットワークがeth1にあります)。たとえば、x = 20の場合、次のような行のペアごとに1つのホストに対してこれを実行できます。
iptables -t nat -A PREROUTING -i eth0 -d 192.168.55.20 -j DNAT --to 192.168.42.20
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.42.20 -j SNAT --to 192.168.55.20
しかし、253の可能なホストすべてを翻訳する方法を見つけることができません。私はこれを試しました:
iptables -t nat -A PREROUTING -i eth0 -d 192.168.55.0/24 -j DNAT --to 192.168.42.0-192.168.42.255
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.42.20/24 -j SNAT --to 192.168.55.0-192-168.55.255
これにより、ランダムなホスト変換が行われます。負荷分散に役立ちます。しかし、単純な1対1の翻訳を取得する方法は?
ありがとうございました。
configファイルでforループを使用できる場合があります。おそらく、ここでポートに提案されているものと似ています:here。
—
0range