Network / / 2024. 6. 23. 13:23

NAT의 이해

Static NAT

인터넷상의 시스템에서 사설 네트워크에 있는 서버에 접속하고자 할 때 설정하는 NAT

(로컬IP : 공인IP가 1:1로 매핑되어 있음)

 

Portforwording

  =>Static NAT는 모든 트래픽이 NAT동작을 하는 반면

      Portforwording은 포트를 특정해준 서비스에 해당될 때만 NAT동작을 합니다.

      [로컬IP 포트번호 : 공인IP 포트번호로 IP주소와 포트번호가 1:1로 매핑되어 있음]

 

 

Dynamic NAT

사설 네트워크 내부의 클라이언트가 외부(인터넷)와 통신이 가능하도록

IP주소를 동적으로 변환하는 기능

 

로컬IP주소 대역(M) : 공인IP주소(1)

                           공인IP주소 대역(N)

 

다수의 로컬 주소를 하나 또는 몇개의 공인주소로 바꾸는 기능

 

 

 

NAT 실습

요구조건

 - NAT를 이용해 OutsideSvr에서 InsideSvr으로 텔넷 접속이 가능하도록 하기

 - NAT를 이용해 사설 네트워크 전체와 OutsideSvr에서 인터넷 통신이 가능하도록 하기

 - NAT를 이용해 윈도우에서 InsideSvr로 텔넷 접속이 가능하도록 하기

 

IP Adress 입력

PC1)

ip 172.31.0.10/24 172.31.0.254

PC2)

ip 172.31.0.20/24 172.31.0.254

InsideSvr)

conf t

no ip routing

ip default-gateway 172.31.0.254

int f0/0

ip add 172.31.0.100 255.255.255.0

no sh

NAT)

conf t

int f0/0

ip add 172.31.0.254 255.255.255.0

no sh

int s1/0

ip add 10.1.1.1 255.255.255.0

no sh

ISP)

conf t

int s1/0

ip add 10.1.1.2 255.255.255.0

no sh

int f0/0

ip add dhcp

no sh

int f0/1

ip add 172.16.100.254 255.255.255.0

no sh

OutsideSvr)

conf t

no ip routing

ip default-gateway 172.16.100.254

int f0/0

ip add 172.16.100.200 255.255.255.0

no sh

 

Routing 설정

NAT)

ip route 0.0.0.0 0.0.0.0 s1/0 10.1.1.2

 

 NAT를 통하여 텔넷 접속 하기

NAT)

ip nat inside source static 172.31.0.100 10.1.1.100

 

# 바깥(outside)에서 10.1.1.100가 호출되면 172.31.0.100으로 변환하여

# 내부(inside)에서 해당 IP주소를 찾습니다.

 

int f0/0

ip nat inside

int s1/0

ip nat outside

 

# NAT를 적용하기 위한 설정입니다.

InsideSvr)

enable password cisco

line vty 0 4

password cisco

login

 

# 텔넷에 접속 할수 있도록 암호 설정

OutsideSvr)

telnet 10.1.1.100

 

# 10.1.1.100으로 접근하면 NAT에 의해 172.31.0.100의 IP를 가진

# InsideSvr의 텔넷으로 접근할 수 있습니다.

 

Portfowording을 이용하여 텔넷 접속하기

NAT)

no ip nat inside source static 172.31.0.100 10.1.1.100

ip nat inside source static tcp 172.31.0.100 23 10.1.1.100 23333

 

# 위에서 사용했던 NAT설정을 지우고

# Portfowording을 사용하기 위한 NAT를 다시 설정했습니다.

 

# 10.1.1.100 23333은 outside에서 받을 IP와 포트번호

# 172.31.0.100 23은 변환해줄 IP와 포트번호 (23은 텔넷의 포트번호 입니다)

OutsideSvr)

telnet 10.1.1.100 23333

 

Inside에서 인터넷 통신을 위한 Dynamic NAT 설정

ISP)

ip nat inside source static 10.1.1.1 interface f0/0

 

# IP대신 포트 인터페이스를 주면 포트의 IP를 가져옵니다.

# DHCP를 사용했으므로 DHCP의 IP를 자동으로 가져오게 됩니다.

 

int s1/0

ip nat insdie

int f0/0

ip nat outside

 

# NAT와 마찬가지로 사설 IP쪽이 inside, 인터넷쪽이 outside입니다.

NAT)

access-list 1 permit 172.31.0.0 0.0.0.255

 

# Inside의 로컬 IP 주소를 표현하기 위해서 ACL을 사용합니다.

# 172.31.0.X로 들어오는 주소는 Access-list(ACL)의 1번으로 설정됩니다.

 

ip nat inside source list 1 interface s1/0

# ACL에서 정한 IP주소대역에 해당이 되면 NAT동작을 합니다.
# 출발지 주소가 ACL 1번에 해당이 되면
# S1/0 인터페이스의 IP주소로 변경합니다.

 

이제 PC나 InsideSvr에서 인터넷 통신이 가능합니다.

 

OutsideSvr에서도 인터넷이 가능하도록 하기

위에서 실습한 내용이면 사설 네트워크에서는 인터넷 통신이 가능하지만

OutsideSvr에서는 통신이 불가능합니다.

따라서 ISP에서도 Dynamic NAT를 설정해주어야 합니다.

ISP)

access-list 2 permit host 10.1.1.1
access-list 2 permit host 172.16.100.200

ip nat inside source list 2 interface f0/0

int f0/1
ip nat inside

 

 

NAT POOL을 사용하여 Dynamic NAT 설정

- 공인IP주소가 한 개가 아니라 몇 개를 사용하여 NAT동작을 할 경우

  NAT POOL을 설정해 주어야 합니다.

ip nat pool [풀이름] [시작IP주소] [마지막IP주소] [netmask]       [서브넷마스크]

                                                                         prefix-length           XX

# 풀 이름은 대소문자를 구별하므로 주의

 

ip nat inside source list [번호] pool [풀이름] overload

# overload 옵션을 붙이지 않으면 풀에있는 IP주소 갯수만큼만 세션 연결 가능

# overload 옵션에 의해 PAT로 동작함으로 많은 수의 세션이 연결 가능

# 특별한 제약사항이 없는 이상 overload 옵션을 꼭 붙여줍니다.

PAT (Port Address Translation)

 => 많은 수의 세션을 허용하기 위해 포트로 NAT 세션을 구분하는 NAT

      포트가 65536개로 많은 수의 세션을 허용할 수 있습니다.

 

NAT)

ip nat pool TestPool 10.1.1.101 10.1.1.102 netmask 255.255.255.252

ip nat inside source list 1 pool TestPool overload

ISP)

no access-list 2
access-list 2 permit 10.1.1.0 0.0.0.255
access-list 2 permit 172.16.100.0 0.0.0.255

 

 

 

 윈도우에서 InsideSvr로 텔넷 접속하기

- 윈도우에서 ISP 라우터의 외부 인터페이스에서 텔넷 접속했을 때

   InsideSvr에 접속 가능하도록 Static 포트포워딩 설정

ISP)

do sh ip int b

# 이 명령어로 DHCP의 IP주소를 확인해 줍시다

 

ip nat inside source static tcp 10.1.1.150 23 interface f0/0 23

NAT)

ip nat inside source static tcp 172.31.0.100 23 10.1.1.150 23

Windows CMD)

Telnet [DHCP IP]

 

CMD에서 텔넷이 사용되지 않는다면

Windows 기능 켜기/끄기 -> 텔넷 클라이언트

를 켜주어야 합니다.

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유