본문 바로가기

IT 엔지니어를 위한 네트워크

SNAT 와 DNAT

Today Keys :    NAT, PAT, NAPT, 나트, network, address, translation, 주소, 변환, 공인, 사설, ipv4, 동적, 정적


본 포스팅은 'IT 엔지니어를 위한 네트워크 입문' [길벗] 서적에 포함된 '7.1 NAT/PAT'장의 내용 중 7.1.4장의 내용입니다


NAT를 사용해 네트워크 주소를 변환할 때 어떤 IP 주소를 변환하는지에 따라 두 가지로 구분합니다.

● SNAT(Source NAT) - 출발지 주소를 변경하는 NAT
● DNAT(Destination NAT) - 도착지 주소를 변경하는 NAT

 

SNAT와 DNAT는 트래픽이 출발하는 시작 지점을 기준으로 구분합니다. 어떤 주소를 변경해야 하는지는 서비스 흐름과 목적에 따라 결정됩니다.

앞에서 말했듯이 SNAT와 DNAT의 기준은 NAT가 수행되기 이전의 트래픽이 출발하는 시작 지점입니다. 즉, 요청 시 SNAT를 해 목적지로 전송하면 해당 트래픽에 대한 응답을 받을 때는 출발지와 목적지가 반대가 되므로 DNAT가 되는데 이때 트래픽을 요청하는 시작 지점만 고려해 SNAT 설정을 해야 합니다. NAT 장비를 처음 통과할 때 NAT 테이블이 생성되므로 응답 패킷이 NAT 장비에 들어오면 별도의 NAT 설정이 없더라도 NAT 테이블을 사용해 반대로 패킷을 변환해줄 수 있기 때문입니다. 이 과정을 역 NAT라고 하며 NAT가 정상적으로 수행되려면 역 NAT 과정이 함께 수행되어야 합니다.

 

참고
실무에서는 NAT를 다양하게 표현합니다. 출발지 주소를 변경하는 NAT를 SNAT 또는 Source NAT으로 표현하고 출발지 NAT로 표현하기도 합니다. 도착지 주소를 변경하는 NAT를 DNAT 또는 Destination NAT, 도착지 NAT로 표현합니. 이 책에서는 줄여서 SNAT, DNAT로 표기
하지만 실제로는 다양하게 표현됩니다.

 

그럼 SNAT와 DNAT는 어떤 경우에 사용할까요? 지금부터 SNAT와 DNAT의 몇 가지 사용 경우를 알아보겠습니다.

먼저 Source NAT입니다.

SNAT는 사설에서 공인으로 통신할 때 많이 사용합니다. 공인 IP 주소의 목적지에서 출발지로 다시 응답을 받으려면 출발지 IP 주소 경로가 필요한데 공인 대역에서는 사설 대역으로의 경로를 알 수 없으므로 공인 IP의 목적지로 서비스를 요청할 때 출발지에서는 사설 IP를 별도의 공인 IP로 NAT해 서비스를 요청해야 합니다. 그래야 해당 요청을 받은 목적지에서 출발지 IP를 공인 IP로 확인해 다시 응답할 수 있는 경로를 찾을 수 있습니다. 이것은 공유기처럼 PAT를 사용하는 경우에 해당할 수 있습니다.

다른 경우는 보안상 SNAT를 사용할 때입니다. 회사에서 다른 대외사와 통신 시 내부 IP 주소가 아니라 별도의 다른 IP로 전환해 전송함으로써 대외에 내부의 실제 IP 주소를 숨길 수 있습니다. 보안상의 문제뿐만 아니라 대외사와 통신해야 하는 사내 IP가 대외사의 사내 IP 대역과 중복될 때 도 SNAT를 통해 중복되지 않는 다른 IP로 변경해 통신하는 데 사용할 수 있습니다. 이 경우는 앞에서 말한 사설에서 공인으로 통신해야 하는 경우와 비슷하지만 이 경우에는 변경되는 IP가 반드시 공인일 필요는 없습니다.

로드 밸런서의 구성에 따라 SNAT를 사용하기도 합니다. 출발지와 목적지 서버가 동일한 대역일 때는 로드 밸런서 구성에 따라 트래픽이 로드 밸런서를 거치지 않고 응답할 수 있어 SNAT를 통해 응답 트래픽이 로드 밸런서를 거치게 할 수 있습니다. 로드 밸런서에서의 SNAT는 12장 로드 밸런서에서 자세히 다룰 예정입니다.

다음은 DNAT입니다.
DNAT는 로드 밸런서에서 많이 사용합니다. 사용자는 서비스 요청을 위해 로드 밸런서에 설정된 서비스 VIP(Virtual IP)로 서비스를 요청하고 로드 밸런서에서는 서비스 VIP를 로드 밸런싱될 서버의 실제 IP로 DNAT해 내보냅니다. 이 부분도 마찬가지로 12장 로드 밸런서에서 자세히 다루겠습니다.

사내가 아닌 대외망과의 네트워크 구성에도 DNAT를 사용합니다. 사내 IP 주소는 중앙에서 일괄적으로 관리되므로 IP가 중복되는 경우가 없지만 사내가 아닌 대외망과의 연동에서는 IP가 중복 될 수 있습니다. 설사 IP가 중복되지 않더라도 IP 주소가 제각각이므로 신규 대외사와의 연동마다 라우팅을 개별적으로 설정해야 합니다. 이 경우, 대외망에 NAT 장비를 이용해 대외사의 IP를 특정 IP 대역으로 NAT합니다. 사내에서는 어떤 대외사든 대외망 전용 NAT 대역으로 변경된 네트
워크 대역으로 라우팅을 처리하면 되므로 대외사 추가에 따라 별도 라우팅을 개별적으로 설정할 필요가 없고 사내 IP와 중복되는 IP가 있더라도 라우팅 이슈 없이 구성할 수 있습니다.