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
. 둘 다 핑하여 둘 다 좋은 응답을 받는지 확인합니다.
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