SNAT와 가장 무도회의 차이점


38

SNAT와 가장 무도회의 실제 차이점은 무엇입니까?

로컬 네트워크에서 인터넷 연결을 공유하려면 SNAT를 선택해야합니까, 가장 무도회를 선택해야합니까?

답변:


41

SNAT대상은 모든 나가는 패킷에 적용 할 IP 주소를 제공하도록 요구합니다. MASQUERADE대상은 그것을 인터페이스를 제공 할 수 있으며 해당 인터페이스에 어떤 주소 모든 나가는 패킷에 적용되는 주소입니다. 또한으로 SNAT커널의 연결 추적은 인터페이스가 중단되고 다시 시작될 때 모든 연결을 추적합니다. MASQUERADE대상의 경우도 마찬가지입니다 .

좋은 문서는 Netfilter 사이트하우투iptables매뉴얼 페이지를 포함 합니다.


2
SNAT의 이점을 이해하는 데 문제가 있습니다. 인터페이스가 다운 될 때 커널이 연결을 추적하는지 여부가 중요한 이유는 무엇입니까? MASQUERADE와 관련하여 netfilter 문서는 "하지만 더 중요한 것은 연결이 끊어지면 연결이 끊어지면 연결을 잊어 버려서 새로운 IP 주소로 연결될 때 글리치가 줄어든다는 것입니다."라고 말합니다. 합리적으로 들리지만 (결함은 무엇입니까?) 이제 SNAT를 살펴보면 손실 된 연결을 추적하면 어떤 이점이 있습니까? 매번 MASQUERADE를 사용하지 않는 이유는 무엇입니까?
Carl G

1
@CarlG, LAN 노드에서 새로운 발신 연결이 동일한 LAN 노드에서 끊긴 발신 연결과 동일한 소스 포트 번호를 사용하는 경우 영구적으로 추적 -j SNAT하면 (재활용 추적과 달리) 글리치가 발생한다고 생각 -j MASQUERADE합니다. 이 경우 이전 발신 연결에서 들어오는 패킷이 TCP 스택과 혼동되어 노드로 전송되는 것을 상상할 수 있습니다. -j SNAT의 이점에 대해 NAT 상자가 동일한 외부 IP 주소로 구성되고 커널이 RST로 응답하는 대신 이전 연결에서 패킷을 계속 전달하면 어떻게됩니까?
eel ghEEz

예를 들어 나가는 인터페이스에 여러 IP 주소가 할당되어 있고 NAT 소스가이 중 하나가되도록하려면 SNAT가 유용합니다.
pgoetz

19

기본적 SNATMASQUERADEPOSTROUTING 체인 내에서 NAT 테이블에 동일한 소스 NAT의 일을.

차이점

  • MASQUERADE--to-source동적으로 할당 된 IP와 작동하도록 만들어 졌으므로 필요하지 않습니다

  • SNAT 정적 IP에서만 작동합니다. --to-source

  • MASQUERADE추가 오버 헤드가 있으며 대상이 패킷에 도달 SNAT할 때마다 MASQUERADE사용하는 IP 주소를 확인해야하기 때문에 속도가 느립니다 .

참고 : 일반적인 사용 사례 MASQUERADE: VPC의 AWS EC2 인스턴스, VPC CIDR 내에 프라이빗 IP (예 : 10.10.1.0/24)-10.10.1.100 (예 : 10.10.1.100)과 통신 할 수있는 퍼블릭 IP가 있습니다. 개인 IP 1 : 1 NAT를 통한 인터넷 (공용 서브넷에 있다고 가정). 퍼블릭 IP는 인스턴스 재부팅 후 (EIP가 아닌 경우) 변경 될 수 있으며이 MASQUERADE사용 사례에서 더 나은 옵션입니다.

중요 : MASQUERADE고정 IP로 대상 을 사용하는 것은 여전히 ​​가능 하며 추가 오버 헤드를 알고 있어야합니다.

참고 문헌

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.