192.168.0.2:80
発信トラフィックをから(localhostまたはマシンがゲートウェイなので、他の場所から)にリダイレクトしたいと思いますlocalhost:80
。
私はnatテーブルにこのルールを設定しようとしています:
-A PREROUTING -p tcp -d 192.168.0.2 --dport 80 -j DNAT --to-destination 127.0.0.1:80
これを入力すると、次の規則が適用されますiptables -t nat -L
。
DNAT tcp -- anywhere 192.168.0.2 tcp dpt:http to:127.0.0.1:80
しかし、これはうまくいかないようです。私は何が間違っていましたか?
答え1
最新のカーネルでは、「route_localnet」を有効にしてこれを実現できます。
sysctl -w net.ipv4.conf.all.route_localnet=1
答え2
ループバックIPアドレス(127.0.0.1)が接続可能に設定されていることをもう一度確認してくださいlocalhost
。どちらもpingして、どちらも良い答えを受けていることを確認してください。
Chain FORWARD (policy ACCEPT)
target prot opt source destination
iptablesをチェックしてください。
sudo iptables -L -n
このルールを追加してみてください
iptables -t nat -A OUTPUT -p tcp --dport 80 -d 192.168.0.2 -j DNAT --to-destination 127.0.0.1:80