나는 사용하고있다ipfw nat
다음 구성으로
ipfw -q nat 1 config if em0
NAT는 어떤 TCP 및 UDP 범위에서 별칭 포트를 선택합니까? 다음을 수행할 수 있도록 항상 49152~65535 범위에 있기를 바랍니다.
add allow tcp from any to me 22
add allow tcp from any to me 80
add deny tcp from any to me 1-49151
add nat 1 tcp from any to me recv em0 established
ipfw
이거 지원하기 쉽나요? 그렇지 않은 경우 이 동작을 강제할 수 있는 방법이 있습니까?
답변1
sysctl에 대한 이러한 설정이 도움이 될 수 있습니다.
net.inet.ip.portrange.first=32768
net.inet.ip.portrange.last=49151
net.inet.ip.portrange.hifirst=49152
net.inet.ip.portrange.hilast=65535
그러나 나는 이것이 구현하기 쉽지 않다고 생각하며 ipfw에 강요되지도 않습니다. ipfw에는 src-port/dst-port 옵션이 있지만 귀하의 경우에는 적합하지 않다고 생각하며 일반적으로 direct_port와 같은 용도에 사용됩니다.... natd(8) 및 divert(4) 소켓은 적어도 모르겠습니다. 그러한 매개변수의. natd에는 포트 예약을 의미하는 -m 매개변수와 -out_port -o 매개변수가 있지만 이는 divert(4) 소켓과 ipfw 스택에서 나가는 패킷을 처리하는 방법을 위한 것입니다.
일부 netgraph 기반 모듈이 있을 수 있지만 이 경우에도 도움이 될 수 있습니다. 아직 조사해 본 적은 없지만 누군가는 조사했을 수도 있습니다.
이것이 당신에게 통찰력을 주기를 바랍니다.