iptables로 NAT를 수행할 때 외부 포트를 무작위로 지정

iptables로 NAT를 수행할 때 외부 포트를 무작위로 지정

에서 구현한 기본 동작과 다른 NAT 동작을 구성하고 싶습니다 iptables.

이 예에서는 다음과 같습니다.

iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 193.49.142.107:2000-400

에 의해 구현된 NAT의 기본 동작은 iptables엔드포인트 독립적입니다. 즉, 동일한 호스트에서 시작된 모든 세션은 포트 범위가 있더라도 동일한 '외부'(IP, 포트 번호)를 갖습니다.

각 세션마다 다른 포트 번호를 갖기 위해 수정해야 할 플래그나 옵션이 무엇인지 알아야 합니다.

답변1

SNAT옵션 을 수락합니다 --random(에서iptables 확장맨페이지):

--random
       If  option --random is used then port mapping will be randomized
       (kernel >= 2.6.21).

그래서 나는 다음과 같은 것을 시도할 것입니다:

iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 193.49.142.107:2000-4000 --random

관련 정보