네트워크 인프라 6. NAT / PAT
NAT (Network Address Translation / 네트워크 주소 변환)
: IP 주소를 다른 IP 주소로 변환해 라우팅을 원활하게 해주는 기술
: 사설 IP에서 공인 IP로, 공인 IP에서 사설 IP로 전환하는데 쓰임
NAT 기술의 종류
- PAT (Port Address Translation)
IP 주소 고갈 문제를 해결하기 위해 여러 개의 IP를 하나의 IP로 변환하는 기술
- AFT (Address Family Translation)
: IPv4 주소와 IPv6 주소 간 변환하는 기술
NAT 기술의 필요성
- IPv4 주소 고갈 문제 해소
: 외부에 공개해야하는 서비스 외의 내부 장비들에 대해서는 사설 IP를 할당하여 효율성 증대
- 보안 강화
: 외부와 통신할 때 내부 IP를 다른 IP로 변환하여 외부에서 내부의 주소 체계를 알 수 없음
: NAT는 주소 변환 후 주소 역변환이 정상적으로 수행되어야 통신이 가능
- IP 주소 체계가 같은 두 네트워크간 통신을 가능하게 함
: 독립된 네트워크 끼리 NAT를 설치 (Double NAT)하여 사설 IP가 같아도 통신이 가능
- 불필요한 설정 변경 축소
: KISA를 통해 인터넷 독립기관으로 직접 등록하고 소유한 IP 주소를 직접 운영하는 경우가 아니라면 통신 사업자나 IDC 쪽에서 IP를 할당 받아 사용하게 됨
: 장비나 네트워크 서비스를 교체/이전해도 설정 변경이 필요없음
NAT의 동작 방식
: NAT를 수행하는 장비에서 패킷을 수신하면 NAT 정책에 따라 출발지 IP를 외부와 통신이 가능한 공인 IP로 변경하고 변경 전후의 IP 주소를 NAT 테이블에 저장하고 패킷을 해당 서버로 전송
: 서버의 응답을 클라이언트로 전송할 때는 반대의 과정을 거쳐 전송
PAT의 동작 방식
: NAT의 동작 방식과 동일하나, 출발지 IP와 포트까지 변경하여 전송됨
: 하나의 IP에 다양한 포트 번호를 사용하여 사용자를 구분
: 사용자가 너무 많을 경우 공인 IP를 pool로 구성하여야 NAT 테이블에서 정상적으로 참조 가능
: 서비스 포트를 할당하기 때문에 내부에서 외부로의 전송 시에만 변환이 가능
SNAT (Source NAT)와 DNAT (Destination NAT)
- SNAT
: 출발지 주소를 변경하는 NAT
: 사설 네트워크에서 공인 네트워크로의 통신 (출발지 IP를 공인 IP로 변환. 외부 네트워크에서 도착지 IP를 찾을 수 있게 하기 위함)
: 보안상 출발지 IP를 숨겨야하거나 출발지와 목적지 서버가 동일한 대역이여서 로드밸런서를 거치도록 할 때 활용
- DNAT
: 도착지 주소를 변경하는 NAT
: 로드밸런서에서 많이 사용
: 사용자가 서비스 요청을 위해 로드 밸런서에 설정된 VIP (Virtual IP)로 서비스를 요청하고 로드 밸런서에서는 VIP를 로드 밸런싱될 서버의 실제 IP로 DNAT하여 내보냄
: 사내망에서 대외망으로의 네트워크 구성 시 개별적으로 라우팅을 설정하지 않기 위해 대역 단위로 NAT를 수행
- 역 NAT
: SNAT 혹은 DNAT로 패킷 전송을 수행 시 응답 패킷을 받을때는 반대 NAT를 수행하게 되는데, NAT 장비를 패킷이 통과할 때 생성되는 NAT 테이블을 통해 반대로 패킷을 변환하는 과정
정적 NAT
: 출발지 IP와 도착지 IP를 미리 매핑하여 고정해놓은 NAT
: 방향성 고려와 별도의 설정 없이 NAT 가능
: NAT 맵에 대해 유효시간이 없음
동적 NAT
: NAT를 수행할 때 IP를 동적으로 변경하는 NAT
: 출발지나 목적이 중 한 곳이 IP 풀이나 범위로 설정되어 있으며, IP를 매핑하는 시점에 NAT 테이블을 만들고 일정 시간동안 유지
Reference