NAT: IP 주소 변환 기술을 통한 네트워크 확장 및 보안 강화
🔹 NAT란?
1. NAT(Network Address Translation)의 정의
NAT(Network Address Translation, 네트워크 주소 변환)은 사설 네트워크에서 사용하는 IP 주소를 공인 IP 주소로 변환하는 기술입니다.
NAT는 IPv4 주소 부족 문제를 해결하고, 보안성을 높이는 역할을 수행합니다.
✅ NAT의 주요 기능:
- 사설 네트워크의 IP 주소를 공인 IP 주소로 변환하여 인터넷에 연결 가능
- IPv4 주소 부족 문제 해결
- 외부 네트워크에서 내부 네트워크로의 직접적인 접근을 차단하여 보안 강화
- 포트 포워딩을 활용하여 특정 내부 서버에 접근 가능
📌 NAT는 오늘날 가정, 기업, 데이터센터 및 ISP 환경에서 필수적으로 사용되는 네트워크 기술
🔹 NAT의 작동 원리
NAT는 라우터 또는 방화벽 장치에서 네트워크 패킷의 IP 주소를 변환하는 방식으로 동작합니다.
✔️ NAT 작동 과정:
1️⃣ 내부 장치(PC, 서버)가 사설 IP(예: 192.168.1.10)로 인터넷 요청을 보냄
2️⃣ 라우터가 사설 IP를 공인 IP(예: 203.0.113.1)로 변환하여 외부 네트워크에 전달
3️⃣ 응답 패킷이 공인 IP로 돌아오면 라우터가 다시 사설 IP로 변환하여 내부 장치에 전달
📌 NAT를 사용하면 하나의 공인 IP 주소를 여러 장치가 공유하여 인터넷을 사용할 수 있음
🔹 NAT의 유형
✅ 1. 정적 NAT(Static NAT)
✅ 내부 IP와 외부 IP를 1:1로 매핑하는 방식
✔️ 사용 사례:
- 웹 서버, FTP 서버 등 외부에서 접근이 필요한 내부 서버
- 특정 장치가 항상 동일한 공인 IP를 사용해야 할 때
✔️ 정적 NAT 설정 예제 (Cisco 라우터)
Router(config)# ip nat inside source static 192.168.1.100 203.0.113.100
Router(config)# interface FastEthernet0/0
Router(config-if)# ip nat inside
Router(config-if)# exit
Router(config)# interface Serial0/0
Router(config-if)# ip nat outside
Router(config-if)# exit
📌 특정 내부 서버(192.168.1.100)에 대해 고정된 공인 IP(203.0.113.100)를 할당
✅ 2. 동적 NAT(Dynamic NAT)
✅ 사설 IP 주소를 공인 IP 풀에서 할당받아 변환하는 방식
✔️ 사용 사례:
- 내부 네트워크에서 인터넷을 사용할 때, 공인 IP가 제한적일 경우
- 여러 개의 공인 IP를 할당받았지만, 특정 장치에 고정되지 않아도 되는 경우
✔️ 동적 NAT 설정 예제 (Cisco 라우터)
Router(config)# ip nat pool PUBLIC_IPS 203.0.113.1 203.0.113.10 netmask 255.255.255.0
Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255
Router(config)# ip nat inside source list 1 pool PUBLIC_IPS
📌 공인 IP 풀(203.0.113.1 ~ 203.0.113.10)에서 내부 IP에 동적으로 할당
✅ 3. PAT(포트 주소 변환, Port Address Translation, Overloaded NAT)
✅ 하나의 공인 IP를 여러 개의 사설 IP가 공유하도록 설정하는 방식
✔️ 사용 사례:
- 가정 및 기업 네트워크에서 인터넷 공유
- IPv4 주소 부족 문제 해결
✔️ PAT 설정 예제 (Cisco 라우터)
Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255
Router(config)# ip nat inside source list 1 interface Serial0/0 overload
📌 PAT는 "Overloaded NAT"라고도 하며, 하나의 공인 IP를 여러 장치가 공유할 때 사용됨
🔹 포트 포워딩(Port Forwarding)과 NAT
✅ 포트 포워딩이란?
✅ 공인 IP의 특정 포트로 들어오는 요청을 내부 네트워크의 특정 장치로 전달하는 기술
✔️ 사용 사례:
- 외부에서 내부 웹 서버(80 포트) 또는 게임 서버에 접속할 때
- 원격 데스크톱(3389 포트) 등 특정 서비스를 외부에서 접근 가능하게 할 때
✔️ 포트 포워딩 설정 예제 (Cisco 라우터, SSH 22번 포트 포워딩)
Router(config)# ip nat inside source static tcp 192.168.1.100 22 203.0.113.100 22
📌 외부에서 203.0.113.100:22로 접속하면 내부 서버 192.168.1.100:22로 연결됨
🔹 NAT의 장점과 단점
✅ 1. NAT의 장점
✔️ IPv4 주소 절약 → 하나의 공인 IP를 여러 장치가 공유 가능
✔️ 보안 강화 → 외부에서 직접 내부 네트워크 접근 차단
✔️ 유연한 네트워크 구성 → 사설 네트워크와 공인 네트워크를 쉽게 연결 가능
✅ 2. NAT의 단점
❌ 일부 응용 프로그램과 호환성 문제 (VoIP, P2P 서비스 등)
❌ 패킷 처리 부담 증가 (라우터가 패킷을 변환해야 하므로 성능 저하 가능)
❌ 엔드 투 엔드(End-to-End) 보안 모델 위배 (IPsec VPN, 일부 보안 프로토콜과 충돌 가능)
📌 NAT를 사용할 때는 필요한 경우 포트 포워딩, DMZ 등을 적절히 활용해야 함
🔹 NAT과 IPv6의 관계
IPv6에서는 공인 IP 주소 부족 문제가 해결되었기 때문에 기본적으로 NAT를 사용하지 않음
✔️ IPv6의 대안:
- IPv6 주소 자동 할당(DHCPv6, SLAAC) → 각 장치에 고유한 공인 IP 할당 가능
- NAT64/DNS64 → IPv6 네트워크에서 IPv4 서비스와 통신 가능
📌 IPv6 환경에서는 NAT가 필요 없지만, 기존 IPv4 장치와의 호환성을 위해 NAT64 등의 기술이 활용됨
📌 결론
✅ NAT(Network Address Translation)는 사설 IP를 공인 IP로 변환하여 인터넷 연결을 가능하게 하는 필수적인 네트워크 기술이다.
✅ 정적 NAT, 동적 NAT, PAT(Overloaded NAT) 등 다양한 방식으로 사용된다.
✅ 포트 포워딩을 활용하면 내부 네트워크의 특정 서버에 외부에서 접근할 수 있다.
✅ IPv6 환경에서는 NAT가 필요 없지만, IPv4와의 연동을 위해 NAT64 등이 사용될 수 있다.