Iptables는 선택된 포트만 MASQUERADE

Iptables는 선택된 포트만 MASQUERADE

이 튜토리얼에 따라 포트 전달을 수행했습니다. http://www.debuntu.org/how-to-redirecting-network-traffic-to-a-new-ip-using-iptables/

iptables -t nat -A PREROUTING -p tcp --dport 1111 -j DNAT --to-destination 2.2.2.2:1111

iptables -t nat -A POSTROUTING -j MASQUERADE

하지만 동일한 서버에 웹 서버가 있고 모든 트래픽을 가장하면 웹 서버가 작동을 멈추기 때문에 전달이 있는 포트만 가장하고 싶습니다.

어떤 아이디어?

해결책: iptables -t nat -A POSTROUTING -d 2.2.2.2 -p tcp --dport 1111 -j SNAT --to-source 2.2.2.1

답변1

만약 너라면정말MASQUERADE이를 수행하는 적절한 방법은 다음과 같습니다 .

iptables -t nat -A PREROUTING -p tcp --dport 1111 -j DNAT --to-destination 2.2.2.2:1111
iptables -t nat -A POSTROUTING -d 2.2.2.2 -p tcp --dport 1111 -j MASQUERADE

이 방법은 MASQUERADEDNAT가 적용된 패킷에만 적용됩니다.

그러나 이는 MASQUERADE대부분 동적 IP 사례(예: 전화 접속)를 위한 것이며 고정 IP의 경우 SNAT제안한 방식대로 사용해야 합니다. iptables매뉴얼 페이지 에서 :

동적으로 할당된 IP(전화 접속) 연결에만 사용해야 합니다. 고정 IP 주소가 있는 경우 SNAT 대상을 사용해야 합니다. 매스커레이딩은 패킷이 나가는 인터페이스의 IP 주소에 대한 매핑을 지정하는 것과 동일하지만 인터페이스가 다운되면 연결이 잊혀지는 효과도 있습니다. 이는 다음 전화 접속이 동일한 인터페이스 주소를 가질 가능성이 없을 때 올바른 동작입니다(따라서 설정된 연결이 어쨌든 손실됩니다).

MASQUERADE그러나 두 가지 모두에 대해 한 가지 주의 사항이 있습니다 SNAT. 2.2.2.2가 동일한 시스템의 VIP인 경우 작동하지 않습니다.

관련 정보