네트워크 주소 변환(Network Address Translation, 줄여서 NAT)은
IP패킷의 TCP/UDP포트 번호와 소스 및 목적지 IP주소 둥을 재기록하면서 라우터를 통해 네트워크를 주고 받는 기술이다.
NAT는 IPv4 주소 부족 문제를 해결하기 위한 방법으로 내부 사설->외부 공인망과의 통신을 위해서 네트워크를 주소를 변환하는 것이다
본인집에 cmd창에 ipconfig입력 된 IP주소와 네이버에서 내IP주소를 검색하면 IP가 완전히 다른걸 볼수 있을 것이다.
이유는 지금 현재 설명하고 있는 NAT기술을 우리는 가정에서도 많이 사용하고 있기때문이다.
또한 보안에서 아주 큰 장점을 가지고 있다 외부 공격으로부터 내부사용자를 지킬수 있다
이유는 외부에서 라우터에게 할당 된 IP주소만 알려지고 있고 안에 사용자들이 사용하고 있는
내부IP주소를 알수없기 때문에 공격이 불가하기 때문에 내부 네트워크를 보호할수 있다.
Static NAT (정적 NAT)
특징: 내부(사설) IP ↔ 외부(공인) IP를 1:1로 고정 매핑
항상 같은 공인 IP를 사용해야 할 때 적용
장점: 서버 운영(웹, 메일 등)에 유리 → 외부에서 항상 같은 IP로 접속 가능
단점: 공인 IP를 내부 장비 개수만큼 확보해야 함 → 비용 증가
Dynamic NAT (동적 NAT)
특징: 내부 사설 IP를 공인 IP 풀(Pool) 중 가용 IP로 동적으로 매핑
내부 클라이언트가 접속할 때마다 사용 가능한 공인 IP를 임시 할당
장점: Static NAT보다 공인 IP를 효율적으로 사용 가능
단점: 공인 IP 풀 크기보다 내부 사용자가 많으면 매핑 실패 가능
PAT (Port Address Translation)
특징: 여러 사설 IP가 하나의 공인 IP를 공유하되 포트 번호로 구분
가장 많이 사용되는 방식 (가정·기업 인터넷 공유기)
장점
공인 IP 1개만으로 수십·수백 대 기기 인터넷 접속 가능
IPv4 주소 부족 문제 해결

위 네트워크에서 1.1.1.0/24호스트들이 2.2.2.2까지 어떻게 하면 도달 할수 있을까?
우선 라우터는 3계층 장비이다 본인들의 라우팅 테이블에서 경로를 참조하여 해당 IP패킷을 포워딩을 시키는 장비이다
Router#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
2.0.0.0/24 is subnetted, 1 subnets
C 2.2.2.0 is directly connected, FastEthernet0/0
위에 보이는것 처럼 1.1.1.0/24 호스트에 대한 경로가 없다 어떻게 하면 될까?
라우팅을 추가하지 않고 바로 NAT를 적용시키면 된다
간혹 NAT는 공인IP로 변환시켜주는거 아닌가요?라고 하는데 40점짜리 답변이라고 생각한다.
사설에서 사설은 안되나요? 물으면 간혹 버벅거리는 친구들이 있다.
interface FastEthernet0/0
ip address 1.1.1.1 255.255.255.0
ip nat inside //내부 NAT지정
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 2.2.2.1 255.255.255.0
ip nat outside //외부 NAT지정
duplex auto
speed auto
!
interface Vlan1
no ip address
shutdown
!
ip nat pool NAT 2.2.2.1 2.2.2.1 netmask 255.255.255.0 //변환IP
ip nat inside source list 1 pool NAT overload //내부IP NAT 정책에 적용
ip classless
!
ip flow-export version 9
!
!
access-list 1 permit 1.1.1.0 0.0.0.255 //내부IP

해당 작업 후 PC에서 2.2.2.2대역으로 ping을 때리면 통신이 되는걸 확인할수 있다.
test#show ip nat translations
Pro Inside global Inside local Outside local Outside global
icmp 2.2.2.1:23 1.1.1.100:23 2.2.2.2:23 2.2.2.2:23
icmp 2.2.2.1:24 1.1.1.100:24 2.2.2.2:24 2.2.2.2:24
icmp 2.2.2.1:25 1.1.1.100:25 2.2.2.2:25 2.2.2.2:25
icmp 2.2.2.1:26 1.1.1.100:26 2.2.2.2:26 2.2.2.2:26
통신 라우터 장비의 NAT 현황을 보면 내부에서 NAT처리 나간 패킷을 기록하고 있다.
때문에 외부에서는 2.2.2.1로 응답을 보내고 해당 패킷을 받은 라우터는 다시 본인의 NAT테이블에서 등록 된 정보로 다시 내부IP들에게 회신을 해준다.