본문 바로가기

Networking

8. NAT

<<NAT (Network Address Translation)>>

================================================================================

- IP의 낭비를 막기 위해 사용

- 내부에서는 사설 ip를 쓰고 나갈때는 공인 ip를 쓰는 개념

- 다른 네트워크에서도 같은 사설 IP를 사용할 수 있다. -> Overlapping 허용

- 다수의 사설 IP가 소수의 공인 IP를 물고 나갈 수 있다. -> Overloadding

- 일종의 방화벽 기능


==> 궁극적 IPv6 => 2^128

           IPv4 아이피 1개당 1g으로 하면 엠파이어 빌딩에 80g

           IPv6 아이피 1개당 1g으로 하면 지구무게에 




================================================================================



<<PAT (Port Address Translation) >>

================================================================================

- NAT 개념에 Port 추가


================================================================================



<<NAT (Network Address Translation) 명령 -  Static설정>>

================================================================================

- NAT역할을 할 라우터에서 각 인터페이스 마다 설정

- ip nat [inside/outside] source static [변환 당할 네트워크주소] [변환 할 네트워크주소]


R2(config)#int s1/1

R2(config)#ip nat inside source static 172.16.100.33 172.16.100.101


R2(config)#int s1/0

R2(config-if)#ip nat outside source static 172.16.100.33 172.16.100.101


- 설정확인

R2#sh ip nat translations

Pro Inside global      Inside local       Outside local      Outside global

--- ---                ---                172.16.100.101     172.16.100.33

--- 172.16.100.101     172.16.100.33      ---                ---


================================================================================



<<NAT (Network Address Translation) 명령 -  dynamic설정>>

================================================================================

- 설정 순서 항상 

    - 변환 당할 네트워크 설정 (사설)

    - 주소변환 할 네트워크주소 설정 (공인)

    - 변환!


R2(config)#access-list 10 permit 172.16.100.32 0.0.0.31

R2(config)#ip nat pool CCNA 172.16.100.101 172.16.100.101 netmask 255.255.255.252


R2(config)#ip nat inside source list 10 pool CCNA


R2(config)#int serial 1/1

R2(config-if)#ip nat inside


R2(config-if)#int 1/0

R2(config-if)#ip nat outside


- R1에서 ping 해본후


R2#sh ip nat translations

Pro Inside global      Inside local       Outside local      Outside global

icmp 172.16.100.101:6  172.16.100.33:6    172.168.200.65:6   172.168.200.65:6

--- 172.16.100.101     172.16.100.33      ---                ---

================================================================================



<<NAT (Network Address Translation) 명령 -  PAT 으로 하기>>

================================================================================

- ip nat 설정 맨뒤에 'overload' 명령만 붙여주면되!


R2(config)#ip nat inside source list 10 pool CCNA overload

%Dynamic mapping in use, cannot change  (==> 이미 NAT dynamic이 동작중이다. 기존 테이블을 지워야한다.)


R2#clear ip nat translations *


R1# ping 172.168.200.65


R2#sh ip nat translations

Pro Inside global      Inside local       Outside local      Outside global

icmp 172.16.100.101:7  172.16.100.33:7    172.168.200.65:7   172.168.200.65:7



R2#debug ip nat

IP NAT debugging is on

R2#

*Mar  1 02:35:32.295: NAT*: s=172.16.100.33->172.16.100.101, d=172.168.200.65 [40]

*Mar  1 02:35:32.347: NAT*: s=172.168.200.65, d=172.16.100.101->172.16.100.33 [40]

*Mar  1 02:35:32.395: NAT*: s=172.16.100.33->172.16.100.101, d=172.168.200.65 [41]

*Mar  1 02:35:32.431: NAT*: s=172.168.200.65, d=172.16.100.101->172.16.100.33 [41]

*Mar  1 02:35:32.483: NAT*: s=172.16.100.33->172.16.100.101, d=172.168.200.65 [42]

*Mar  1 02:35:32.491: NAT*: s=172.168.200.65, d=172.16.100.101->172.16.100.33 [42]

*Mar  1 02:35:32.503: NAT*: s=172.16.100.33->172.16.100.101, d=172.168.200.65 [43]

*Mar  1 02:35:32.511: NAT*: s=172.168.200.65, d=172.16.100.101->172.16.100.33 [43]

================================================================================

'Networking' 카테고리의 다른 글

10. DHCP  (0) 2015.01.24
9. 스위치  (0) 2015.01.24
7. OSPF  (0) 2015.01.24
6. EIGRP  (0) 2015.01.24
5. ACL  (0) 2015.01.24