이론
NAT = Network Address Translation
네트워크에서 IP 주소 변환을 의미한다.
주로 로컬 네트워크 내에서 IP 주소를 사용하는 경우에 사용된다.
IP 부족으로 인해 네트워크를 사설 규모와 공인 규모로 나누게 되었다.
이때 공인 네트워크와 사설 네트워크의 경계에서 인터넷 주소를 주고 받으면서 네트워크 트래픽을 주고 받는데, 주소 변환 역할을 해주는 것이 NAT이다.
즉, IP가 변하는 것이 NAT이다.
외부에서 내부로 들어가는 매커니즘, 내부에서 외부로 나가는 매커니즘 모두 NAT라고 부른다.
대상이 누구냐?
Source(출발하는애들이 대상인경우)
Destination(목적지를 향해 오는애들이 대상인경우)
변환 방식
Static(공인아이피를 찾아오는 애들을 내부의 서버로 들여보내줄때 ex) 웹서버)
Dynamic(내부의 수많은 컴퓨터들이 인터넷이 되게 해주고 싶을때)
1) Source + Dynamic = PAT(Port NAT)
2) Destination + Static = DNAT
PAT (Port Address Translation)
PAT는 NAT의 한 형태로, 여러 내부 디바이스가 하나의 공인 IP 주소를 공유할 때 사용된다.
PAT는 내부 디바이스의 사설 IP 주소와 포트 번호를 결합하여 공인 IP 주소와 포트 번호를 생성한다.
이렇게 생성된 포트 번호를 사용하여 내부 디바이스 간의 통신을 식별하고, 동시에 공인 IP 주소도 식별한다.
포트번호
포트번호는 TCP 및 UDP 프로토콜에서 사용되는 논리적인 번호이다.
TCP 및 UDP는 네트워크 통신에서 데이터를 전송하는 데 사용되는 프로토콜이다.
각 프로토콜은 포트 번호를 사용하여 목적지 애플리케이션을 식별하고 데이터를 전달한다.
포트 번호는 16비트 숫자로 표시되고, 범위는 0~65535까지이다. 이중 0에서 1023까지의 포트번호는 잘 알려진 포트 번호로 애플리케이션에 할당되어 있다.
디바이스가 접속하는 통로가 port라고 보면 된다.
ftp:20,21
ssh:22
telnet:23
http:80
dhcp: 67,68
NAT VS. PNAT
1. NAT는 주소 변환을 수행하고, PAT는 주소와 포트 번호 변환을 수행한다.
2. PAT는 내부 내트워크에서 여러 디바이스가 하나의 공인 IP 주소를 공유할 때 유용하며, 여러 디바이스 간의 효과적인 통신을 가능하게 한다.
DNAT (Destination Network Address Translation)
DNAT은 NAT의 한 형태로, 패킷이 특정 목적지 주소로 도달할 때 목적지 주소를 변환하는데 사용된다.
DNAT은 주로 방화벽과 함께 사용되어 내부 네트워크에서 외부로 나가는 트래픽을 관리하거나 서버로 들어오는 트래픽을 리디렉션하는데 유용하다.
동작 방식
- 목적지 주소 변환
- 외부에서 내부로의 포트 포워딩
- 서버 로드 밸런싱
- 패킷 특성 유지
- 보안 및 네트워크 구성
NAT vs. DNAT
1. NAT은 주소 변환을 수행하고 포트 번호 변환은 선택사항이지만, DNAT은 패킷의 목적지 주소를 변경하여 외부에서 내부 디바이스 또는 서버에 접근할 때 사용된다.
2. DNAT은 외부 클라이언트가 내부 리소스에 접근하는데 사용되며, NAT은 내부 디바이스와 외부 네트워크 사이에서 주소 변환을 수행한다.
실습
PAT 실습
1) 내부의 변환될 대상을 지정(Source)
2) 라우터의 각 인터페이스에 내부와 외부를 특정
3) NAT 명령어
ip nat inside source list <access-list> int <외부인터페이스> overload
1)내부의 변환될 대상을 지정(Source)
# access-list <리스트번호> permit <대상 네트워크의 대표주소> <와일드카드 마스크>
R1(config)#access-list 1 permit 192.168.100.0 0.0.0.255
2)라우터의 각 인터페이스에 내부와 외부를 특정
R1(config)#int f0/0
R1(config-if)#ip nat inside
# 내부
R1(config)#int f0/1
R1(config-if)#ip nat outside
# 외부
3) NAT 명령어
R1(config-if)#ip nat inside source list 1 int f0/1 overload
# ip nat inside source list <access-list> int <외부인터페이스> overload
# ip nat : 변환을 하겠다.
# inside source list 1 : 아까 만든 access-list 1이라는 리스트
# int f0/1 : 위의 리스트에 해당하는 주소들이 변환 될 공인아이피가 담긴 인터페이스
# overload : 다수의 사설아이피가 하나의 공인아이피에 과적(overload)되는 방식으로 변환하겠다.
ip 192.168.100.100/24 192.168.100.200
# PC 아이피 설정
PC에서 외부로 핑을 친 후 NAT 설정한 라우터에서
do sh ip nat tran을 치고 변환이 잘 됐는지 확인.
inside = 나
local = 사설주소
global = 공인주소
outside = 상대
inside local
inside global
outside local
outside global
DNAT 실습
목적지를 향해 오는 대상들을 내부의 특정주소로 보내줄때, 주로 공인아이피를 찍고 들어오는 대상을 내부의 서버로 접속시켜줄때 사용한다.
1.수동으로 매칭을 시킬것이기때문에 굳이 list를 만들필요가 없다.
2.내부와 외부 설정
3.명령어
ip nat inside source static <내부주소> <외부주소>
# 이 토폴로지 상에서는 내부주소가 192.168.1.80 외부주소는 10.20.30.200 이므로 명령어는 다음과 같다.
R3(config)#ip nat inside source static 192.168.1.80 10.20.30.200
A네트워크의 PC에서 10.20.30.200으로 접속시, 192.168.1.80으로 접속이 된다.
<추가>
do sh ip os nei
- ospf 네이버 정보 확인.
'🏫 Cloud Practice > 🧪 On-Premise' 카테고리의 다른 글
Virtual Machine에 대해 알아보자 ( + Linux 명령어 ) (0) | 2023.09.04 |
---|---|
VLAN 설정을 해보자 (0) | 2023.09.04 |
VLSM, OSPF (0) | 2023.08.31 |
라우터와 스위치, 사설 IP, 네트워크 연결 (0) | 2023.08.30 |
Host ID, Subnet Mask, CIDR, Packet Tracer, Routing (0) | 2023.08.29 |