NAT, NAPT
NAT (Network Address Translator)
- 원래의 IP 주소를 다른것으로 변환하여 전송하는 것을 의미한다.
- 일반적으로 사설IP주소를 인터넷으로 라우팅 시킬때 공인IP주소로 변환시키고, 인터넷에서 수신한 공인IP 주소를 내부망으로 전송할 때 다시 사설 IP 주소로 변환시킨다.
- 보통 10/8, 172.16/12, 192.168/16 대역의 주소를 사설 IP로 사용한다.
NAT의 용도
- 공인 IP 주소 절약
- 예를들어 PC 10,000대인 조직이 있다면 공인 IP 주소도 1만개가 필요하다. 그러나 NAT를 사용하면 공인 IP 주소 1개만 있어도 10,000개의 PC를 인터넷과 접속하여 사용할 수 있다.
- 네트워크 보안
- 내부에서 사용하는 IP 주소를 외부(인터넷 등)에서 알 수 없다. 고로 보안성이 강화된다.
- 효과적인 주소 할당
- IANA에서 IP주소를 할당받는 경우, 원하는 대역을 지정할 수 없다. 그러나 사설 IP 주소를 사용하면 관리자 임의로 네트워크를 할당할 수 있다.
- 그로 인해 효과적인 축약이 가능해지므로 라우팅 네트워크의 성능이 향상되고, 장애처리에 용이하다.
NAT의 종류
- STATIC NAT
- 내부주소와 외부주소를 1:1로 대응한다.
- Tranditional NAT
- 내부에서 외부로만 시작하는 한방향의 NAT이다.
- NAPT(Network Address Port Translation)
- Basic NAT 개념을 확장시킨 것으로 써 변환되는 범위를 IP주소에서 transport identifier로 확장시킨 NAT를 말한다.
- 내부에서 외부로 보내지는 패킷이 있을 때 NAPT는 소스 포트 번호를 임의로 변환한 후 IP주소를 외부 IP주소로 변환한다. 따라서 하나의 외부 IP주소에 대해서 하나의 세션만이 존재하는 것이 아니고 여러 세션이 존재할 수 있으며, 가능한 세선의 수는 사용가능한 포트의 수와 같다.
- 반대로 내부로 들어오는 패킷에 대해서는 임의의 포트번호 대신 원래의 포트번호로 되돌리고 IP주소도 내부망의 것으로 변환한 다음에 전송한다.
- 즉 NAPT는 포트번호로 맵핑을 한다.
NAPT 연습
# 공통설정
conf t
no ip domain lookup
line c 0
logg syn
exec-timeout 0
exit
# VLAN
SW]
conf t
no ip routing
vlan 10
exit
vlan 20
exit
int f1/1
sw mode acc
sw acc vlan 10
exit
int f1/2
sw mode acc
sw acc vlan 20
exit
int f1/9
sw trunk encap dot1
sw mode trunk
sw trunk native vlan 10
exit
# IP address
ISP]
conf t
int f0/0
no shut
exit
int f0/0.10
encap dot1 10 native
ip add 172.16.10.254 255.255.255.0
exit
int f0/0.20
encap dot1 20
ip add 172.16.20.254 255.255.255.0
exit
int f1/0
mac-address ffff.ffff.ffff
no shut
ip add dhcp
exit
ip route 0.0.0.0 0.0.0.0 f1/0 10.0.0.1
PC1]
conf t
no ip routing
ip default-gateway 172.16.10.254
int f0/0
no shut
ip add 172.16.10.1 255.255.255.0
exit
ping 172.16.10.254
PC2]
conf t
no ip routing
ip default-gateway 172.16.20.254
int f0/0
no shut
ip add 172.16.20.2 255.255.255.0
exit
Ping 172.16.20.254
#NAPT
ISP]
conf t
ip access-list standard BIBI
permit 172.16.10.0 0.0.0.255
permit 172.16.20.0 0.0.0.255
exit
ip nat inside source list BIBI int f1/0 overload
int f0/0
ip nat inside
exit
int f1/0
ip nat outside
3줄 요약
-
NAT는 IP부족을 해결해준다.
-
외부IP는 내부IP를 모른다. 즉, 보안성이 좋다.
-
native 덕에 4byte 아꼈다. (dot1q)
댓글남기기