SNAT와 가장 무도회의 차이점

SNAT와 가장 무도회의 차이점

SNAT와 Masquerade의 실제 차이점이 무엇인지 궁금합니다.

로컬 네트워크에서 인터넷 연결을 공유하려면 SNAT 또는 Masquerade를 선택해야 합니까?

답변1

대상에는 SNAT나가는 모든 패킷에 적용할 IP 주소를 제공해야 합니다. 대상을 MASQUERADE사용하면 인터페이스를 제공할 수 있으며 해당 인터페이스의 모든 주소는 나가는 모든 패킷에 적용되는 주소입니다. 또한 SNAT커널의 연결 추적을 사용하면 인터페이스가 닫히고 복원될 때 모든 연결을 추적합니다. 이는 대상의 경우에는 해당되지 않습니다 MASQUERADE.

좋은 문서에는 다음이 포함됩니다.Netfilter 웹사이트의 HOWTO그리고iptables매뉴얼 페이지.

답변2

SNAT그리고 체인 내의 테이블 MASQUERADE에 대해 동일한 소스 NAT 작업을 수행합니다 .natPOSTROUTING

차이점

  • MASQUERADE하다아니요--to-source동적으로 할당된 IP와 함께 사용하도록 설계되었기 때문에 필수입니다 .

  • SNAT일하다오직고정 IP를 사용하세요. 그래서 필요합니다.--to-source

  • MASQUERADE추가 오버헤드가 있고 대상이 패킷에 부딪힐 때마다 사용할 IP 주소를 확인해야 하기 SNAT때문에 속도가 느려집니다.MASQUERADE

노트MASQUERADE: VPC CIDR 내에 프라이빗 IP가 있는 VPC의 AWS EC2 인스턴스에 대한 일반적인 사용 사례(예: 퍼블릭 서브넷에 있다고 가정 10.10.1.0/24) - 10.10.1.100인터넷과 통신하기 위해 연결된 퍼블릭 IP도 있습니다. ), 프라이빗 IP는 이를 통해 1:1 NAT(AWS 네트워크 인프라 매직)를 수행합니다. 퍼블릭 IP는 인스턴스 전원을 껐다 켠 후 변경될 수 있습니다. 이 사용 사례에서는 EIP가 아닌 경우 중지한 후 시작하는 것이 MASQUERADE더 나은 선택입니다.

중요: 고정 IP가 있는 대상을 사용할 수 있지만 MASQUERADE추가 오버헤드에 유의하세요.

인용하다

답변3

짧은 답변: SNAT 사용

설명: 방금 내 Raspbian 라우터에서 가장 규칙을 제거하려고 시도했지만(인터페이스 IP 주소가 192.168.8.2이고 고정된 eth0을 통해 다른 라우터와 통신함) 인터넷 공유가 계속 작동합니다. 내가 시도한 명령은 다음과 같습니다.

iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.8.2

관련 정보