Network 9. NAT, PAT

2024. 2. 13. 20:59Network

NAT

(Network Address Translation)

네트워크 주소 변환 기술로

 

사설IP와 공인 IP 간의 통신이 불가하기 때문에

 

사설 IP를 공인 IP로 변환해 WAN으로

나갈 수 있게 해주는 기술이다.

또한 외부에 내부로으 접근이 불가능하다.

 

Static NAT, Dynamic NAT, PAT가 있다.

 

위 같은 토폴로지에 라우팅프로토콜 없이 구성한채 실습 해보겠다.

(NAT기능을 쓰면 IP주소가 테이블에 저장되기 때문에 라우팅이 필요 없다)

 

Static NAT

사설IP와 공인IP를

1:1 대응으로 변환 시켜준다.

Router0

Router>en
Router#conf t
Router(config)#ip nat inside source static 192.168.10.2 1.1.12.3
Router(config)#ip nat inside source static 192.168.10.3 1.1.12.4
nat 내부 지정 및 static설정, 매칭 시켜줄  사설,공인 ip주소 각각 설정

Router(config)#int f0/0
Router(config-if)#ip nat inside 
Router(config-if)#int s0/0/0
Router(config-if)#ip nat outside 
각 포트에 외부 내부 지정

그 후 icmp로 확인해보면

pc에서 외부 라우터로 ping 잘 전송되는 걸 알 수 있다.

당연히 외부 라우터에서 내부로는 ping이 보내지지 않는다.

 

show ip nat translation 명령어로 변환된 nat 주소를 확인 할 수 있다.

Router(config)#do sh ip nat trans
Pro  Inside global     Inside local       Outside local      Outside global
icmp 1.1.12.3:4        192.168.10.2:4     1.1.12.2:4         1.1.12.2:4
icmp 1.1.12.4:3        192.168.10.3:3     1.1.12.2:3         1.1.12.2:3
---  1.1.12.3          192.168.10.2       ---                ---
---  1.1.12.4          192.168.10.3       ---                ---

Inside global : 변환된 주소

Inside local 변환전 주소

 

 

 

 

 

Dynamic NAT

 

static nat와 비슷하지만

각 공인, 사설 IP들이 고정되어 있지 않고

순서에 따라서 매칭되어서 변환 되는 것이다.

Router(config)#ip nat pool cisco 1.1.12.3 1.1.12.254 netmask 255.255.255.0
변환될 공인 IP주소 pool지정

Router(config)#access-list 1 permit 192.168.10.0 0.0.0.255
변환할 IP를 구분하기 위한 acl 설정

Router(config)#ip nat inside source list 1 pool cisco 
nat내부 지정 및 list(dynamic) , pool 지정

Router(config)#int f0/0
Router(config-if)#ip nat inside 
Router(config-if)#int s0/0/0
Router(config-if)#ip nat outside

포트 내,외부 지정

 

설정 후 다시 ping을 보내보자,

이전과 똑같은 결과가 나올 수도 있다.

하지만 테이블의 만료시간을 고려해

시간차를 두고 실행해보면

Router(config)#do sh ip nat trans
Pro  Inside global     Inside local       Outside local      Outside global
icmp 1.1.12.3:8        192.168.10.2:8     1.1.12.2:8         1.1.12.2:8
icmp 1.1.12.4:8        192.168.10.3:8     1.1.12.2:8         1.1.12.2:8

Router(config)#do sh ip nat trans
Pro  Inside global     Inside local       Outside local      Outside global
icmp 1.1.12.4:9        192.168.10.3:9     1.1.12.2:9         1.1.12.2:9
icmp 1.1.12.5:10       192.168.10.2:10    1.1.12.2:10        1.1.12.2:10

위처럼 같은 공인IP에 매칭되지 않는걸 확인할 수 있을 것이다.

 

 

 

PAT

하나의 공인 IP로

여러대의 사설 IP가 변환되어서 외부와 통신이 가능하다.

획기적인 공인IP 절약이 가능하다.

변환 시에는 공인IP에 포트를 붙혀서 구분한다.

 

Router(config)#ip nat pool cisco 1.1.12.3 1.1.12.3 netmask 255.255.255.0
변환될 공인 IP주소 pool지정 (한가지)

Router(config)#access-list 1 permit 192.168.10.0 0.0.0.255
변환할 사설 IP 구분을 위한 acl

Router(config)#ip nat inside source list 1 pool cisco overload 
Dynamic과 같지만 뒤에 overload를 붙여준다

Router(config)#int f0/0
Router(config-if)#ip nat inside
Router(config-if)#int s0/0/0
Router(config-if)#ip nat outside
포트 내,외부 지정

 

설정을 마친뒤 ping 보내고 

nat 변환 테이블을 살펴보자

Router(config-if)#do sh ip nat trans
Pro  Inside global     Inside local       Outside local      Outside global
icmp 1.1.12.3:11       192.168.10.3:11    1.1.12.2:11        1.1.12.2:11
icmp 1.1.12.3:12       192.168.10.2:12    1.1.12.2:12        1.1.12.2:12

확인해보면 

Inside global이 한가지로 고정된 채

포트만 변경되어서 나간 것을 볼 수 있다!

 

 

 

 

과거에 NAT를 사용했었지만

현재는 거의 PAT를 사용한다고 한다.

이유는 당연히 공인 IP 절약이 너무 뛰어나기 때문....

 

 

이상 NAT, PAT에 대해서 알아보았다.

 

 

'Network' 카테고리의 다른 글

Network 11. Etherchannel  (0) 2024.03.14
Network 10. Spanning-Tree Protocol  (0) 2024.02.25
Network 8. Port Security  (0) 2024.02.13
Network 7. telnet과 ssh  (0) 2024.02.13
Network 6. TCP와 UDP  (0) 2024.02.08