NAT(Network Address Translation)
- IP 주소 혹은 IP 패킷의 TCP/UDP Port 숫자를 변환 및 재기록하여 네트워크 트래픽을 주고받는 기술
- 외부망 ↔ 내부망 으로 통신하고자 할 때 외부망/내부망에서 사용하는 IP로 변환하는 것을 의미
필요한 이유
- IPv4 주소가 부족하기 때문에 공용 IP를 공유하도록 하는 데 NAT가 유용함
- 내부 네트워크 주소가 외부에 노출되지 않아 보안성이 향상됨
- 여러 장치가 동일한 공용 IP 주소를 사용하여 인터넷에 엑세스할 수 있음
NAT 유형
- Static NAT
- 하나의 사설 IP 주소를 특정 공용 IP 주소에 고정적으로 매핑함
- 일반적으로 서버처럼 고정 IP가 필요한 경우 사용됨
- Dynamic NAT
- 여러 사설 IP 주소를 하나의 공용 IP 풀에 매핑함
- 사용 가능한 공용 IP가 제한된 경우 사용됨
- PAT(Port Address Translation)
- 하나의 공용 IP 주소를 다수의 사설 IP 주소에 매핑함
- 포트 번호를 사용해 내부 장치를 구분함
- 가장 일반적으로 사용되는 NAT 유형임
iptables 이용 실습
# NAT를 활성화 (포트 포워딩)
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
192.168.1.0/24가 eth0 인터페이스로 나갈 때 인터넷 등 다른 네트워크에 접속할 수 있도록 허용한다.
# 특정 IP로 정적 NAT
iptables -t nat -A PREROUTING -d 203.0.113.5 -j DNAT --to-destination 192.168.1.100