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

기본적 SNAT와 MASQUERADEPOSTROUTING 체인 내에서 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.