やっと方法を見つけました。まず、 -i eth1
を追加する必要がありました 私の「外部」ルールに(eth1は私のWAN接続です)。また、他に 2 つのルールを追加する必要がありました。最後に、私が持ってきたものは次のとおりです:
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8080 -j DNAT --to 10.32.25.2:80
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to 10.32.25.2:80
iptables -t nat -A POSTROUTING -p tcp -d 10.32.25.2 --dport 80 -j MASQUERADE
また、宛先 NAT を実行できるようにするには、パッケージ転送を有効にする必要があることを忘れていました。デフォルトでは、通常はオフになっているため、iptables ルールは機能しません。以下を発行することで有効にできます:
echo 1 > /proc/sys/net/ipv4/ip_forward
まず、
で転送を許可しますecho 1 > /proc/sys/net/ipv4/ip_forward
次に、
で iptable ルールを設定しますIF=eth1
PORT_FROM=8080
PORT_TO=80
DEST=10.32.25.2
iptables -t nat -A PREROUTING -i $IF -p tcp --dport $PORT_FROM -j DNAT --to $DEST:$PORT_TO
iptables -t nat -A POSTROUTING -p tcp -d $DEST --dport $PORT_TO -j MASQUERADE
これらの行を /etc/rc.local
に入れることができます 例えば。注:Debian jessie により実行可能になり、
systemctl enable rc-local.service