컴퓨터에서 인터넷을 사용하려면 IP주소를 부여받아야 하고,
보통 이 주소는 공인 IP라 부릅니다
IP주소는 인터넷 사용인구 증가로 인해 부족해지는 현상이 나타났고,
부족한 현상을 해결하기 위한 방안 중 하나가 바로 NAT입니다
NAT란 네트워크 주소를 변환해주는 역할을 합니다
즉 한 개의 공인 IP주소를 가지고 있는데 여러대의 컴퓨터의 인터넷 접속이 필요한 경우에
공인 IP주소를 공유해서 여러 대의 컴퓨터가 인터넷 접속이 가능하도록 하는 설정이 대표적입니다
iptables에서 NAT는 SNAT(Source NAT)와 DNAT(Destination NAT)로 구분합니다
SNAT는 공인 IP주소 하나로 다수의 컴퓨터가 인터넷 접속이 가능하게 하는 경우이고,
DNAT는 하나의 공인 IP주소로 다수의 서버를 운영하는 경우가 해당됩니다
SNAT는 패킷의 소스 주소인 발신지를 변경한다는 의미입니다
방화벽 내부의 사설 IP주소를 사용하는 컴퓨터가 웹사이트를 방문하기 위해서는 공인 IP주소가 필요합니다
이때 SNAT는 라우팅 경로가 결정된 이후에 설정된다고 하여 NAT테이블의 POSTROUTING 사슬에 정책 설정을 합니다
DNAT는 패킷의 도착지 주소를 변경한다는 의미입니다
패킷의 목적지 주소가 먼저 변경되고 그 변경된 주소로 새로운 라우팅 경로를 찾습니다
DNAT는 라우팅 이전 단계에서 적용된다고 하여 NAT 테이블의 PREROUTING 사슬에 정책을 설정합니다