[Network] NAT: Network Address Translation
network-nat, NAT, Network Address Translation, 네트워크 주소 변환, SNAT, DNAT
정의
NAT (Network Address Translation) 는 IP 주소를 변환하는 기법. 주로 사설 IP 를 public IP 로, 또는 반대로 매핑.
왜 필요한가
- IPv4 주소 고갈: 사내 100 대 호스트가 1 public IP 공유
- 보안: 내부 호스트 은닉
- 정책: 특정 서비스만 외부 노출
종류
SNAT (Source NAT)
아웃바운드 트래픽의 source IP 를 변경. 홈 라우터 기본 동작:
- 내부
192.168.1.10:12345→203.0.113.5:12345 - 응답 오면 매핑 테이블 참조하여 원래 클라이언트로 전달
DNAT (Destination NAT)
인바운드 트래픽의 destination IP 를 변경. 포트 포워딩:
- 외부
203.0.113.5:80→ 내부192.168.1.10:8080
PAT (Port Address Translation, NAPT)
포트까지 매핑. 한 public IP 를 여러 호스트가 공유:
192.168.1.10:12345→203.0.113.5:1001192.168.1.11:12345→203.0.113.5:1002
거의 모든 실제 NAT 는 PAT.
클라우드 NAT
AWS
- NAT Gateway: 관리형, 프라이빗 서브넷의 아웃바운드
- NAT Instance: 자체 관리 EC2
흐름
private subnet → NAT Gateway (public subnet) → Internet Gateway → Internet
함정
- NAT traversal: P2P (WebRTC, BitTorrent) 는 NAT 통과 어려움 → STUN, TURN 서버 필요
- Hairpin NAT: 내부에서 자기 public IP 로 접근하는 경우
- NAT 만료: 매핑 테이블은 유휴 시 만료 → long-lived TCP 는 keep-alive 필요
참고
이 글의 용어 (3개)
- [AWS] VPC: subnet, route, NAT, peeringcloud
- 정의 VPC (Virtual Private Cloud) = AWS 안의 논리적 격리 네트워크. CIDR 정의 + subnet 분할 + 라우팅. 구조 Subnet 종류 | 종류 |…
- [Network] CIDR와 Subnettingnetwork
- 정의 CIDR (Classless Inter-Domain Routing) 은 IPv4 / IPv6 주소를 prefix length 로 표기하는 표준. 1993년 등장 (RFC 1…
- [Network] IP: IPv4, IPv6, CIDRnetwork
- 정의 IP (Internet Protocol) 주소 는 인터넷에서 노드를 식별하는 논리 주소. IPv4 (32bit) 와 IPv6 (128bit) 두 버전이 병존. IPv4 4 …
💬 댓글