728x90

NAT를 사용하는 목적에는 2가지가 있다. 공인 IP주소를 다수가 함께 사용할 수 있도록 사설 IP주소를 공인 IP주소와 상호변환하여 공인 IP주소를 절약할 수 있다는 점이 첫째이고, 둘째는 인터넷이란 공공망과 연결되는 사용자들의 고유한 사설망을 침입자들로부터 보호할 수 있다는 점이다. 

 

 

(1physiccal 2datalink 3network 4transport)

NAT는 주소를 변환하므로 3계층(network) 프로토콜로 보는 것이 보편적이다. 하지만 주소가 데이터에 포함된 경우 Application Layer까지 NAT의 주소 전환이 반영이 되려면 NAT는 IP주소의 참조내용을 담고 있는 application 데이터 부분을 새로운 주소로 변환해야 하므로 7계층까지 작동해야 하는 경우도 있다. 또한 PAT의 경우 포트번호가 들어가므로 4계층과도 관련되어 있지만 layer 4계층이라고 단정짓기는 어렵다. 

 

 

Static NAT : 하나의 내부 IP주소와 외부 IP주소를 1:1로 맵핑

Dynamic NAT : 여러 개의 내부 IP주소와 여러 개의 외부 IP주소를 동적으로 맵핑시키는 방법

PAT(Port Address Translation) : 하나의 공인 IP를 (방화벽을 경계로) 내부 다수의 사설 IP가 포트번호로 구분하여 주소를 맵핑하는 방법

 

 

NAT는 구현 방법에 따라 네 가지로 분류

(1) Normal NAT : 내부 사설 IP 주소를 가지고 있는 클라가 외부로 접속을 하고자 할 때 

(2) Reverse NAT :  내부 네트워크에서 작동하는 서버에 외부 클라 접속 시 동작

(3) Redirect NAT : 목적지 주소를 재지정할 때 사용. 예를 들어 210.100.100.1 로 사용되던 서버의 주소가 210.100.100.2로 바뀌게 되었을 경우, 210.100.100.1 로 접속을 시도해 온 패킷의 목적지 주소를 210.100.100.2로 바꿔줌.

(4) Exclude NAT : Normal NAT를 적용받지 않고 방화벽을 지나도록 설정. 방화벽과 라우터 사이에 서버가 있는 경우와 같이 특정한 목적지에 대해서만 Normal NAT가 적용되지 않도록 설정가능.

 

 

 

NAT는 네트워크 주소를 변환하는 기능을 수행한다.

iptables는 SNATDNAT을 지원한다. SNAT을 이용하면 공인 IP주소 하나를 다수의 호스트가 공유하여 인터넷을 사용할 수 있으며, DNAT을 이용하면 하나의 공인IP로 여러 개의 서버에 접속하도록 구성할 수 있다.

 

DNAT은 목적지 IP주소를 변경하는 것으로 NAT테이블의 PREROUTING 체인에 정책을 설정한다.

 

iptables DNAT 설정 예제

$ iptables -t nat -A PREROUTING -p tcp -d 222.235.10.7 --dport 80 -j DNAT --to 192.168.10.7:80

 

-t nat

//nat테이블을 선택한다.

-A PREROUTING

//PREROUTING 체인에 정책을 설정한다

-p tcp

//TCP 프로토콜을 대상으로 한다 

-d 222.235.10.7

//목적지 주소가 222.235 .10.7인 경우를 점검한다

--dport 80

//목적지 포트가 80인 경우를 점검한다.

-j DNAT

//DNAT으로 설정한다.

--to 192.168.10.7:80

//목적지 주소를 192.168.10.7로, 포트를 80으로 변경하여 연결한다.

'네트워크' 카테고리의 다른 글

[NET] UTP(Unshielded Twisted Pair wire) 케이블  (0) 2023.06.02
[NET] DNS record  (0) 2023.05.20
[NET] Authentication / Authorization / Accounting  (0) 2023.05.16
[NET] Cisco style guide  (0) 2023.05.16
[Network] Routing Protocol  (0) 2023.05.07

+ Recent posts