본문 바로가기
Network Infra 쉽게 이해하기/L4 & L7 Network 쉽게 이해하기

Destination IP NAT 쉽게 이해하기

by 네트워크 엔지니어 환영 2021. 12. 19.
반응형

NAT에 관한 3번째 이야기이자 마지막 이야기는 Destination IP NAT입니다. Destination IP NAT를 사용하는 이유는 목적지 IP를 변경하여 통신을 원활하게 하기 위함입니다. 다시 말해 Destination IP NAT를 실시하지 않으면 제대로 통신이 될 수 없음을 의미하죠. Source IP NAT와는 다르게 Destination IP NAT는 NAT Device(이하 NAT 장비)의 인터페이스 IP를 거의 사용하지 않습니다. 다시 말하면 이미 정해둔 IP 리스트를 보유한 상태에서 해당 IP로 변환을 실시합니다.

Source IP NAT야 목적지가 어떻든 통신을 원활하게 하기 위한 목적이 가장 크므로 그에 걸맞은 IP면 상관이 없죠. 그래서 인터페이스 IP든 IP Pool이든 적당한 IP로 변환합니다. Destination IP NAT는 말 그대로 목적지 IP를 변환하는 만큼 Destination IP(이하 목적지 IP)를 변환하는 대상을 명확히 구분해야 합니다. 무턱대고 적당한 IP로 변환했다가는 목적지를 잃어버릴 수밖에 없습니다. 한 개의 IP로 2개의 목적지를 가리킨다면 어느 곳으로 가야 할지 알 수 없죠. 그렇기에 Destination IP NAT 사례를 이해하기에 앞서 Destination IP NAT에 사용되는 IP와 그 유형에 대해 알아야 합니다. 

 

Destination IP NAT에 사용되는 IP(변환 대상 유형)

Destination IP NAT는 변환되는 대상 IP를 명확히 구분해야 합니다. Source IP NAT와는 다르게 변환 대상 IP를 중복하여 써서는 안 됩니다. 

Source IP NAT에서는 변환 대상 IP를 'Interface IP'와 'IP Pool'로 구분하여 설명했지만 Destination IP NAT에서는 '일대일 변환'과 '일대다 변환'으로 나누어 설명하려 합니다. 앞서 말씀드린 것처럼 Destination IP NAT는 목적지를 변환해야 하는 이유가 명확해야 하는 만큼 변환 대상 IP를 중복하여 써서는 안 됩니다. 2개의 목적지에 대해 1개의 변환 IP를 사용한다면 어느 목적지로 가야 하는지 구분할 수 없습니다. 그러므로 변환 유형만이 약간 다르기에 '변환 대상 유형'으로 설명하고자 합니다. 

변환 대상 유형 #1 - '일대일 변환'

먼저 살펴볼 것은 일대일 변환입니다. 일대일 변환은 한 개의 IP를 한 개의 또 다른 IP로 변환함을 의미합니다. 앞서 몇 번이나 강조한 것처럼 Destination IP NAT는 목적지가 명확해야 합니다. 그러므로 Destination IP NAT을 언급한다는 것은 목적지를 명확히 지정하는 일대일 변환을 의미한다 해도 과언이 아닙니다. 

일대일 변환을 실시해 내부 네트워크의 사용자와 연결하는 NAT 장비

위 그림은 목적지 IP를 일대일 변환하는 것 표현한 그림입니다. 외부 서버(출발지 IP : 125.209.222.142:80)가 공유기를 통해 사용자 1(10.10.10.10/24)과 사용자 2(10.10.10.20/24)에 각각 접속하고자 할 경우, 접근은 공유기로 하지만 목적지의 변화가 필요합니다. 사용자 1과 사용자 2는 공인 IP가 아닌 사설 IP를 사용하기에 Destination IP NAT가 필요합니다. 따라서 공인 IP 하나에 사설 IP 하나를 할당하여 접속할 수 있습니다. 다시 말해 일대일 변환을 실시하는 것이죠. 물론 가정의 경우, 한 개의 공인 IP만을 갖는 경우가 대부분이기 때문에 아래와 같은 Port Forwarding(이하 포트 포워딩) 기능을 사용하여 접속합니다. Source IP NAT 문서에서 본 것처럼 포트를 이용하여 목적지를 구분 짓는 방법입니다. 포트 포워딩을 사용하면 한 개의 공인 IP를 사용하여 다수의 사설 IP를 구분 지을 수 있습니다.

포트를 이용해 변환 IP를 구분짓는 '포트 포워딩'

변환 대상 유형 #2 - '일대다 변환'

두 번째로 살펴볼 유형은 일대다 변환입니다. 일대다 변환은 한 개의 IP를 다수의 IP 중 한 개를 택해 변환함을 의미합니다. 지금까지 Destination IP NAT는 목적지가 명확해야 한다고 말씀드렸었죠. 그런데 일대다 변환은 다수의 IP 중 한 개를 택하므로 어느 IP로 변환하는지 알 수 없습니다. 이것을 다르게 해석하면 어느 IP로 변환하든 결과는 같으므로 상관없다는 뜻과 같게 됩니다. 바로 Load Balancing(이하 로드 밸런싱)이죠. 대표적으로 L4 스위치가 수행하는 Server Load Balancing(이하 서버 로드 밸런싱)이 있습니다.

목적지를 10.10.10.1에서 10.10.20.10(20/30)로 일대다 변환하는 NAT 장비

변환 유형에 대해 살펴보았으니 이제 변환 사례에 대해 살펴보도록 하겠습니다.

 

Destination IP NAT 변환 사례 #1, L4 스위치

Destiation IP NAT에서 가장 높은 비중을 차지하는 사례는 바로 L4 스위치의 Destination IP NAT입니다. L4 스위치에서 Destination IP NAT를 사용하는 이유는 외부 사용자가 서비스 접속을 위해 L4 스위치의 VIP(Virtual Server IP)로 접속하게 되면 이를 서버 로드 밸런싱함과 더불어 실제 서버의 IP로 변환하기 위함입니다. 다시 말해 일대다 변환을 사용합니다. 아래 그림에서 잘 나타내고 있지요.

일대다 변환을 활용해 L4 스위치의 VIP를 서버의 IP로 변환하는 NAT 장비(L4 스위치)

사용자(15.15.15.15)가 웹서비스에 접속하기 위해 L4 스위치의 VIP(123.111.43.1:80)에 접속하면 L4 스위치는 이 요청을 실제 서버(192.168.1.11:80 혹은 192.168.1.12:80)에 전달하기 위해 Destination IP NAT를 실시합니다. 로드 밸런싱 방식(ex. Round Robin)에 따라 어느 서버로 갈 수 있을지 정할 수도 있습니다.

L4 스위치를 사용한다는 것은 대부분의 경우에서 Destination IP NAT를 수반한다는 것을 의미합니다. 특정한 경우(ex. Direct Server Return)를 제외하고 L4 스위치는 반드시 Destination IP NAT를 사용해야 하기 때문에 사용 비중이 가장 크다고 할 수 있죠. 다만 앞에서 언급한 것처럼 현업에서 Destination IP NAT라 말하면 대부분 일대일 변환을 의미하므로 L4 스위치의 Destination IP NAT를 콕 집어 언급하진 않습니다. 사람이 숨 쉬는 것처럼 Destionation IP NAT가 L4 스위치에겐 당연한 것이라 구체적으로 언급하진 않죠. L4 스위치의 Destination IP NAT에 대한 자세한 내용은 L4 스위치 쉽게 이해하기 #3(NAT)를 참고하세요!

 

Destination IP NAT 변환 사례 #2, 대외망 접속

두 번째 사례는 바로 대외망 접속입니다. Source IP NAT에서 다룬 적이 있죠. 대외망 접속에서의 Destination IP NAT는 편의성과 일관성을 위해 사용되는 목적이 좀 더 큽니다. 즉 Destination IP NAT를 실시하지 않는다고 해서 통신이 되지 않는 것은 아니지만 사용하는 것이 좋다는 것을 의미하죠. 일대일 변환을 의미합니다. 아래 그림을 통해 살펴보겠습니다.

계속해서 늘어나는 대외망 네트워크와 자사 네트워크의 연결

위 그림에서 자사 네트워크와 대외망 통신에서 자사 네트워크 스위치가 대외망의 스위치로 이동하기 위한 라우팅 설정을 볼 수 있습니다.( 스위치의 디폴트 게이트웨이는 방화벽이 아닌 다른 곳입니다.) 자사 네트워크 스위치에 대외망 1(172.16.10.1/24)에 대한 라우팅과 대외망 2(192.168.10.1/24)에 대한 라우팅이 적용되어 있군요. 그런데 대외망이 계속해서 늘어나고 대외망 1,2와 사용하는 네트워크 대역과 다른 대역, 다시 말해 172.31.1.x/24, 175.196.211.x/24 등 이미 적용된 라우팅과 전혀 다른 대역을 사용하는 대외망이 나타난다면 어떻게 될까요?

라우팅 테이블이 점점 커지게 됩니다. 왜냐하면 신규 생성된 대외망에 대해 라우팅을 넣어주어야 하기 때문이죠. 이는 여간 골치 아픈 문제가 아닙니다. 대외망이 늘어날 때마다 라우팅을 넣어주어야 하고 라우팅 테이블도 점점 지저분해집니다. 이럴 때 Destination IP NAT를 적용하면 한 번에 해결됩니다.

방화벽 NAT IP를 목적지 IP로 잡는 자사 네트워크 스위치

위 그림은 방화벽의 NAT 설정(표 참조)과 그에 대한 자사 네트워크 스위치의 라우팅 테이블을 보여주고 있습니다. 이전 그림에서는 대외망이 늘어날 때마다 라우팅 테이블에 추가로 라우팅을 넣어주었었죠. 하지만 Destination IP NAT를 이용해 방화벽에서 10.10.20.x/24를 NAT를 위한 IP 대역으로 사용하자 그럴 필요가 없어졌습니다. 각각의 대외망 IP에 대해 순서대로 10.10.20.1, 10.10.20.2, 10.10.20.3, ... 을 계속 할당하고 자사 네트워크 스위치가 목적지를 설정할 때 Origin IP(대외망의 실제 IP)가 아닌 NAT IP를 목적지로 잡도록 하였습니다. 그렇게 되면 대외망이 추가될 때마다 라우팅을 추가할 필요 없이 NAT IP만 추가해주면 알아서 통신하게 되겠지요.

 

Destination IP NAT 변환 사례 #3, 내부 네트워크 접속

마지막 사례는 공인 인터넷에서 사설 네트워크(혹은 사설 IP로 이루어진 DMZ)로의 접속입니다. 공인 인터넷에서 사설 네트워크의 특정 단말에 접속하고자 할 때 많이 사용합니다. 하지만 공인 IP는 공인 인터넷망에서 사용되는 주소이므로 목적지가 공인 IP인 상태이므로 사설 네트워크에서는 사용할 수 없습니다. 그러므로 목적지를 공인 IP에서 사설 IP를 바꿔줄 필요가 있죠.

일대일 변환을 실시해 내부 네트워크의 사용자와 연결하는 NAT 장비

위 그림에서는 서버가 공유기 내부의 사용자 PC로 먼저 접속을 요구하는 모습을 볼 수 있습니다. Source IP NAT 쉽게 이해하기에서는 사용자가 서버에게 먼저 접속을 요청했기에 서버 Response가 공유기로 돌아왔을 땐 Session(이하 세션)이 이미 생성되어 있어 자연스럽게 Destination IP NAT가 되었죠. 하지만 반대의 경우에는 서버가 먼저 요청을 하는 것이기에 Destination IP NAT를 실시해야 하여 내부로 접속해야 합니다. 

이 과정에서 출발지 IP는 공인 IP(125.209.222.142)입니다. 이 IP는 Source IP NAT를 하지 않는 것이 좋습니다. 굳이 해서 얻는 이득이 없기 때문이죠. 어차피 서버 또한 Default Gateway(이하 디폴트 게이트웨이)를 공유기로 잡고 있기 때문에 공인 IP처럼 라우팅 정보가 없는 IP에 대해서는 알아서 공유기로 보내므로 굳이 필요하지 않습니다. 이는 기업의 네트워크에 있어서도 마찬가지입니다.

DMZ 네트워크에 수용된 L4 스위치와 서버

기업에서는 사설 IP로 운영하는 내부 네트워크뿐만 아니라 DMZ(DeMilitarized Zone) 네트워크 또한 존재합니다. DMZ 네트워크란 내부 네트워크뿐 아니라 외부 네트워크에서도 자유롭게 접속 가능한 네트워크, 다시 말해 외부 네트워크와 내부 네트워의 경계를 의미합니다. 이 경계(DMZ)에서는 보통 외부에서 접속 가능한 서비스들이 존재합니다. SSL VPN이나 웹 하드처럼 외부에서 접속할 수 있는 솔루션/장비들이 DMZ에 탑재됩니다.

DMZ 네트워크가 공인 IP로 이루어져 있다면 NAT가 필요 없겠지만 사설 IP로 이루어진 DMZ 네트워크라면 반드시 Destination IP NAT를 실시해야 합니다. 보통 DMZ 네트워크에 수용된 솔루션의 특성에 맞추어 Destination IP NAT를 적용하고 필요한 Port를 허용해야 합니다. 가령 SSL VPN이 DMZ 네트워크에 수용되어있고 사설 IP를 할당받았다면 공인 IP를 목적지로 잡고 들어오는 패킷의 목적지 IP를 SSL VPN의 사설 IP로 Destination IP NAT를 실시하고 HTTPS Port(443)를 허용해야겠지요. 

 

여기까지가 NAT에 대한 이야기입니다. 다시 한번 말씀드리지만 NAT는 이론이 아닌 실전 경험이 중요하며 NAT의 주요 사례를 숙지하는 것이 큰 도움이 됩니다. Source IP NAT, Destination IP NAT 이 2가지 용어만 알아두고 NAT를 사용함으로써 얻을 수 있는 이익에 초점을 맞춘다면 어느 상황이든 이해가 어렵지 않습니다. 다음 주제는 Simple Newtork Managmenet Protocol, SNMP에 대한 이야기입니다.

반응형

댓글