NAT(Network Address Translation)
이번 포스팅은 NAT에 대해 하겠습니다. 네트워크에서 외부망과 내부망을 나눠주는 기능을 하게 됩니다.
NAT를 사용하면 보안에 좀 더 도움이 됩니다. 내부망의 IP주소를 숨길 수 있기 때문입니다.
NAT는 공인망으로 나갈때 내부망 그대로의 주소를 가져갈 수 없기 때문에 공인망의 주소로 바꿔나가는 것입니다.
설명할 때의 외부망과 공인망은 같은 말이라고 생각하시면 될 것 같습니다.
개념
NAT는 Network Address Translation의 줄임말이며 해석하면 네트워크 주소 변환입니다.
말 그대로 네트워크 주소를 변환해주는 기능을 합니다. 네트워크 주소는 쉽게 생각하면 IP주소라고 생각하시면 됩니다.
내부 네트워크에서 외부로 나가는 패킷들의 주소를 외부 네트워크 주소로 변환하고 또한 그 패킷에 대한 응답 패킷의 목적의 주소를 다시 패킷이 발송된 내부 네트워크 주소로 변환하여 주는 기능입니다.
이것을 쉽게 설명한다면 내부 IP주소와 외부 IP주소의 연결이라고 생각하시면 됩니다.
방화벽에서의 NAT
따라서 위의 그림처럼 외부 IP주소에서 내부 IP주소를 매핑시켜서 사용하는 개념이라고 보시면 됩니다.
외부 IP주소를 NAT 시켜서 내부로 들어올 수 있게 만들어 줄 수 있습니다.
위의 그림과 같이 내부에서 외부로 나갈때도 IP주소를 바꿔서 나갈 수 있습니다.
이것이 바로 NAT의 개념이며 사용하는 이유입니다. 실제 방화벽에서는 외부에서 내부로 IP가 들어올 수 없습니다. 공인IP와 내부IP로 갈 수 없기 때문입니다.
일반적으로 NAT기능을 사용하게 되면 네트워크 외부로 나가거나 들어오는 각 요구들이 모두 주소 변환과정을 거치기 때문에 보안을 확실하게 하는데 도움이 됩니다.
또한 요청들을 제한하거나 인증하는 등의 추가적인 보안을 제공할 수 있습니다.
내부 네트워크에서 필요한 만큼의 공인 IP주소가 없는 경우에도 모든 PC등에서 외부 네트워크(인터넷)에 접속이 가능하도록 만들어 줍니다.
예를 들면 공인 IP가 1.1.1.1 하나 밖에 없다고 가정한다면 내부에서 외부로 나갈경우에는 1.1.1.1의 IP밖에 없기 때문에 1개의 내부 네트워크만 사용할 수 있습니다. (1:1 NAT의 경우) 하지만 NAT기능을 이용하면 내부 네트워크에 여러개의 IP가 있더라도 1.1.1.1 1개로 변환하여 외부로 나갈 수 있습니다. (1:N NAT인 경우 한개의 공인IP를 가지고 여러개의 내부IP를 사용할 수 있음)
장점
1. 공인IP 주소 절약
NAT를 사용하는 목적은 첫째는 인터넷의 공인 IP주소를 절약할 수 있다는 점입니다.
둘째는 인터넷이란 공공망과 연결되는 사용자들의 고유한 사설망을 침입자들로부터 보호할 수 있다는 점입니다.
현재 IPv4의 주소가 거의 포화상태이기 때문에 공인IP 한 개로 내부망에서 여러 개의 IP를 사용할 수 있는 것은 큰 장점입니다.
2. 보안적 측면
NAT는 보안적 측면에서도 장점이 있습니다.
NAT는 거의 대부분 방화벽에서 설정을 해주는데 방화벽을 지나면서 한 번 트래픽을 거를 수 있을 뿐만 아니라 IP를 숨겨줄 수 있습니다.
공개된 인터넷과 사설망 사이에 방화벽(Firewall)을 설치하여 외부 공격으로부터 사용자의 통신망을 보호하는 기본적인 수단으로 활용할 수 있습니다.
이때 외부 통신망 즉 인터넷망과 연결하는 장비인 라우터에 NAT를 설정할 경우 라우터는 자신에게 할당된 공인 IP주소만 외부로 알려지게 하고, 내부에서는 사설 IP주소만 사용하도록 하여 필요 시에 이를 서로 변환시켜 줍니다.
따라서 외부 침입자가 공격하기 위해서는 사설망의 내부 사설 IP주소를 알아야 하기 때문에 공격이 불가능해지므로 내부 네트워크를 보호할 수 있습니다.
NAT의 종류
NAT를 직접 쓰려면 여러 종류의 NAT 중 원하는 기능을 가진 NAT를 선택해서 쓰시면 됩니다.
각각의 NAT는 기능이 다르기 때문에 상황에 맞는 기능을 사용하시면 됩니다.
만약 작은 망이나 하나의 PC만을 사용할 경우 Static NAT를 사용하시면 됩니다.
작은 망이 아니라 어느정도 큰 망에서 사용하기 위해서는 Dynamic NAT혹은 PAT를 사용하는데 대부분 보안성을 위해 PAT를 사용합니다.
이렇게 종류를 나누는 이유는 IP가 어떻게 매칭이 되는지 그리고 Port와 함께 매칭이 되느지에 따라 달라집니다. 또한 공인 IP를 얼마나 사용하는지에 따라서 달라지게 됩니다.
차이점은 외부에서 내부로 들어오느지 내부에서 외부로 나가는지에 따라서 달라진다는 점입니다. 그렇게 때문에 출발지, 목적지가 중요해집니다.
Static NAT
공인 IP주소와 내부 IP 주소가 1:1로 매칭되는 것입니다.
한 개의 내부 IP주소에 한 개의 공인 IP주소가 필요하므로 주소의 절약에는 별로 도움이 되지 못합니다.
1:1로 한 개씩 매칭해주기 때문에 Static이라는 이름이 붙었습니다.
Dynamic NAT
공인 IP주소보다 내부 내트워크의 실제 Host 수가 적을 경우 또는 모든 내부 IP주소를 일일이 외부용 IP 주소로 고정적으로 할당할 필요가 없을 경우에 사용합니다.
입력된 외부 네트워크 사용을 위한 IP 주소들은 Pool 방식으로 설정됩니다.
또한, 하나의 실재하는 내부 IP 주소에 Pool에 있는 하나의 외부 IP 주소가 한번 할당되면 해당 IP 주소로부터 발생하는 모든 세션들은 이미 할당된 외부용 IP 주소를 통해 통신합니다.
만약 이러한 방식으로 Pool에 할당된 외부 IP 주소가 모두 사용되고 있을 때, 다른 내부IP 주소가 추가 할당을 요청하지만 이미 외부용 IP Pool에는 더 이상 할당해줄 수 있는 외부용 IP가 없기 때문에 외부로의 접근이 불가능합니다.
이러한 경우에도 외부로의 접근이 가능하도록 하려면 PAT기능을 설정해야 합니다.
* IP Pool은 IP들이 들어있는 그룹이라고 생각하시면 됩니다. IP 주소를 어디부터 어디까지 정해놓고 그 부분을 pool1로 한다든지 지정할 수 있습니다. ( ex. 192.168.0.1 ~ 192.168.0.5 ; pool1 )
PAT(Port Address Translation)
PAT는 하나 또는 하나 이상의 공인 IP 주소를 여러 개의 내부 IP주소들이 공유할 경우에 사용하며 같은 공인 IP 주소로 변환하고 Port를 다르게 변환하여 주는 방식입니다.
모든 통신에서는 IP주소와 Port번호가 있습니다.
PAT를 사용하는 경우는 IP주소가 중복이 되기 때문에 Port번호를 통해서 나눠주는 방식을 사용하는 것입니다.
Static NAT나 Dynamic NAT로 변환하도록 설정되지 않은 내부 IP 주소들 또는 Dynamic NAT에 설정은 되어 있으나 공인용 IP 주소 Pool이 고갈되어 더 이상 할당 받을 수 없는 주소들은 PAT 를 적용합니다.
'IT > 네트워크' 카테고리의 다른 글
네트워크 - ICMP 프로토콜, ARP, RARP (0) | 2017.08.03 |
---|---|
Wireshark 설명 및 설치 방법 정리 (0) | 2017.08.03 |
네트워크 기초2 - OSI 4계층 심화 (0) | 2017.07.31 |
라우팅과 라우팅 프로토콜에 대해 알아보자. (0) | 2017.07.17 |
네트워크 - OSI 7계층, 계층별 설명 정리 (0) | 2017.07.17 |
댓글