한 개의 public IP, 여러 장치
NAT(Network Address Translation) 가 집안 전체 — 노트북, 폰, TV, IoT — 가 단 하나의 public IP 를 공유하게 만드는 방법이야. 라우터가 사설 망이랑 인터넷의 경계에 앉아서 나갈 때 / 들어올 때 주소를 번역. NAT 없으면 모든 장치가 자기 public IPv4 가져야 했고 — 그건 진작에 다 떨어졌어.
번역, 한 단계씩
- 노트북 (
192.168.1.42) 이 웹페이지 가져오려 함. 패킷 보냄:
출발 192.168.1.42:52847 도착 93.184.216.34:443 - 라우터가 출발지 재기록 — public IP 의 미사용 포트 (예: 30001) 골라서 매핑 기억:
출발 [your-public-IP]:30001 도착 93.184.216.34:443 - 서버가 네 public IP, 포트 30001 로 답.
- 라우터가 NAT 테이블 조회: "포트 30001 은 192.168.1.42:52847 거."
- 라우터가 도착지 다시 노트북으로 재기록해서 forward.
PAT — 가정용 라우터가 진짜 하는 일
대부분의 가정용 라우터는 고전 NAT (사설 IP 1 ↔ public IP 1) 안 해. PAT(Port Address Translation, "NAT overload" 또는 "masquerading") 야 — 라우터가 다른 public-side 포트를 써서 여러 사설 장치를 한 public IP 에 다중화. 매핑 테이블에 사설 IP 랑 사설 포트 둘 다, public 포트로 키 잡아서 들고 있어.
외부 → 집 연결이 어려운 이유
NAT 은 outbound 연결만 자연스럽게 처리. 카페에서 집 서버 사설 IP 로 도달 시도하면 카페엔 경로가 없어. 집 라우터는 public IP 가지고 있지만 어느 내부 장치 거인지 몰라 — "unsolicited inbound" 라서. 탈출구 셋:
- Port forwarding — "public 22 들어오면 → 192.168.1.100:22." 동작은 하지만 서비스를 인터넷에 노출.
- UPnP — 안에서 자동 port forward 요청. 편한데 자주 안전하지 않음. 보통 꺼.
- VPN / Tailscale / WireGuard — NAT 우회하는 암호화 터널. Track 6.