위로
아래
NAT, PAT
- 네트워크 주소를 변환하는 기술
- 가정용 PC는 공유기를 통해, 스마트폰은 통신사 장비가 수행하는 NAT을 통해 외부와 통신한다
- L3 장비 (라우터, L3 스위치)와 L4 장비 (방화벽, 로드 밸런서)에서도 많이 사용된다.
NAT (Network Address Translation)
- 하나의 네트워크 주소를 다른 하나의 네트워크 주소로 변환하는 1:1 변환
- 사설 IP -> 공인 IP 전환 / 공인 IP -> 사설 IP 전환 / 사설 IP -> 사설 IP 전환 / 공인 IP -> 공인 IP 전환
- 가장 많이 사용하는 경우는 사설 IP 주소를 공인 IP 주소로 전환할 때
- 작동 방식
- 출발지 IP 주소인 10.10.10.10을 NAT 테이블에 기록하고, NAT IP인 11.11.11.11로 변경해 목적지 IP 주소인 20.20.20.20으로 전송
- 20.20.20.20에서 응답을 보내면 NAT IP인 11.11.11.11로 변경한 후 NAT 테이블을 확인해 기존 출발지 IP 주소인 10.10.10.10으로 전송
PAT (Port Address Translation)
- 여러 개의 IP를 하나의 IP로 변환
- 원래는 NAPT (Network Address Port Translation)인데, 그냥 PAT라고 부른다.
- NAT과 똑같은 방식으로 작동하지만, NAT 테이블에 IP 주소와 서비스 포트 번호가 모두 실린다.
- 내부에서 외부로 출발하는 경우에만 사용이 가능하다 (내부 -> 외부 과정에서 NAT 테이블 작성이 먼저 되어야, 외부 -> 내부 연결도 가능하다)
- SANT 사용 가능, DNAT 사용 불가능
- 작동 방식
- 출발지 IP 주소인 10.10.10.10와 서비스 포트 번호 2000을 NAT 테이블에 기록하고, IP와 포트번호를 11.11.11.11/3000으로 변경해 목적지 IP 주소인 20.20.20.20으로 전송
- 20.20.20.20/3000에서 응답을 보내면 NAT IP인 11.11.11.11로 변경한 후 NAT 테이블을 확인해 기존 출발지 IP 주소와 포트 번호인 10.10.10.10/2000으로 전송
- 하나의 IP 만으로도 여러 포트 번호를 다루어 사용자를 구분할 수 있다
AFT (Address Family Translation)
- IPv4 주소를 IPv6 주소로 변환하거나 그 반대
사용하는 경우
- IPv4 주소 고갈 문제의 솔루션
- 내부 사설 IP를 감춤으로써 보안 강화
- 사용되는 사설 IP 대역이 같은 회사끼리 통신할 수 있다 (더블 NAT)
- 회선 사업자를 바꿔 공인 IP를 바꿔야할 때에도 서버와 PC의 IP 주소 변경 없이 가능
SNAT / DNAT
NAT이 수행되기 이전의 트래픽이 출발하는 시작 지점을 기준으로 구분
SNAT (Source NAT)
- 출발지 IP 주소를 변경하는 NAT
- 사설에서 공인으로 통신할 때 많이 사용
- 공인 IP에서 응답을 받을 때, 공인 IP는 원래 출발지인 사설 IP 주소를 찾을 수 없으므로, 애초에 신호를 보낼 때 출발지 사설 IP를 NAT 해서 출발지 공인 IP로 바꾸어줘야 한다. 그래야 목적지 공인 IP가 NAT된 공인 IP를 인식하고 응답을 보내줄 수 있다.
DNAT (Destination NAT)
- 도착지 IP 주소를 변경하는 NAT
- 로드 밸런서에서 많이 사용
- VIP (Virtual IP), RIP (Real IP)
- 사내 IP는 중앙에서 일괄적으로 관리하므로 IP가 중복될 경우가 없지만, 사내에서 외부의 대외사를 이용할 때는 IP 주소가 중복될 수 있다. 이때 NAT을 이용해 대외사의 IP를 특정 IP 대역으로 NAT할 수 있다.
정적 NAT / 동적 NAT
정적 NAT
- 출발지와 목적지의 IP를 미리 매핑해 고정해놓은 NAT
- 1:1 NAT이라고도 부른다
- 방향성이 없어서 서비스 흐름을 고려하지 않고 NAT을 설정할 수 있다
- 외부에서 내부로 통신을 시작하면 DNAT, 내부에서 외부로 통신을 시작하면 SNAT
동적 NAT
- 출발지나 목적지 어느 경우든 사전에 정해지지 않고 NAT을 수행할 때 IP를 동적으로 변경하는 NAT
- 출발지나 목적지 중 최소한 한 곳이 IP 풀이나 Range로 설정되어 있다
- NAT이 필요할 때 IP 풀에서 어떤 IP로 매핑될 것인지 판단해 NAT을 수행하는 시점에서 NAT 테이블이 만들어진다
- NAT 테이블의 타임아웃을 고려하여 적용해야 한다