위로 아래

NAT, PAT

  1. 네트워크 주소를 변환하는 기술
  2. 가정용 PC는 공유기를 통해, 스마트폰은 통신사 장비가 수행하는 NAT을 통해 외부와 통신한다
  3. L3 장비 (라우터, L3 스위치)와 L4 장비 (방화벽, 로드 밸런서)에서도 많이 사용된다.

 

NAT (Network Address Translation)

  1. 하나의 네트워크 주소를 다른 하나의 네트워크 주소로 변환하는 1:1 변환
  2. 사설 IP -> 공인 IP 전환 / 공인 IP -> 사설 IP 전환 / 사설 IP -> 사설 IP 전환 / 공인 IP -> 공인 IP 전환
  3. 가장 많이 사용하는 경우는 사설 IP 주소를 공인 IP 주소로 전환할 때
  4. 작동 방식
    1. 출발지 IP 주소인 10.10.10.10을 NAT 테이블에 기록하고, NAT IP인 11.11.11.11로 변경해 목적지 IP 주소인 20.20.20.20으로 전송
    2. 20.20.20.20에서 응답을 보내면 NAT IP인 11.11.11.11로 변경한 후 NAT 테이블을 확인해 기존 출발지 IP 주소인 10.10.10.10으로 전송

 

 

PAT (Port Address Translation)

  1. 여러 개의 IP를 하나의 IP로 변환
  2. 원래는 NAPT (Network Address Port Translation)인데, 그냥 PAT라고 부른다.
  3. NAT과 똑같은 방식으로 작동하지만, NAT 테이블에 IP 주소와 서비스 포트 번호가 모두 실린다.
  4. 내부에서 외부로 출발하는 경우에만 사용이 가능하다 (내부 -> 외부 과정에서 NAT 테이블 작성이 먼저 되어야, 외부 -> 내부 연결도 가능하다)
  5. SANT 사용 가능, DNAT 사용 불가능
  6. 작동 방식
    1. 출발지 IP 주소인 10.10.10.10와 서비스 포트 번호 2000을 NAT 테이블에 기록하고, IP와 포트번호를 11.11.11.11/3000으로 변경해 목적지 IP 주소인 20.20.20.20으로 전송
    2. 20.20.20.20/3000에서 응답을 보내면 NAT IP인 11.11.11.11로 변경한 후 NAT 테이블을 확인해 기존 출발지 IP 주소와 포트 번호인 10.10.10.10/2000으로 전송
    3. 하나의 IP 만으로도 여러 포트 번호를 다루어 사용자를 구분할 수 있다

 

 

AFT (Address Family Translation)

  1. IPv4 주소를 IPv6 주소로 변환하거나 그 반대

 

사용하는 경우

  1. IPv4 주소 고갈 문제의 솔루션
  2. 내부 사설 IP를 감춤으로써 보안 강화
  3. 사용되는 사설 IP 대역이 같은 회사끼리 통신할 수 있다 (더블 NAT)
  4. 회선 사업자를 바꿔 공인 IP를 바꿔야할 때에도 서버와 PC의 IP 주소 변경 없이 가능

 

 


SNAT / DNAT

NAT이 수행되기 이전의 트래픽이 출발하는 시작 지점을 기준으로 구분

 

 

SNAT (Source NAT)

  1. 출발지 IP 주소를 변경하는 NAT
  2. 사설에서 공인으로 통신할 때 많이 사용
  3. 공인 IP에서 응답을 받을 때, 공인 IP는 원래 출발지인 사설 IP 주소를 찾을 수 없으므로, 애초에 신호를 보낼 때 출발지 사설 IP를 NAT 해서 출발지 공인 IP로 바꾸어줘야 한다. 그래야 목적지 공인 IP가 NAT된 공인 IP를 인식하고 응답을 보내줄 수 있다.

 

 

DNAT (Destination NAT)

 

  1. 도착지 IP 주소를 변경하는 NAT
  2. 로드 밸런서에서 많이 사용
  3. VIP (Virtual IP), RIP (Real IP)
  4. 사내 IP는 중앙에서 일괄적으로 관리하므로 IP가 중복될 경우가 없지만, 사내에서 외부의 대외사를 이용할 때는 IP 주소가 중복될 수 있다. 이때 NAT을 이용해 대외사의 IP를 특정 IP 대역으로 NAT할 수 있다.

 

 


정적 NAT / 동적 NAT

 

정적 NAT

  1. 출발지와 목적지의 IP를 미리 매핑해 고정해놓은 NAT
  2. 1:1 NAT이라고도 부른다
  3. 방향성이 없어서 서비스 흐름을 고려하지 않고 NAT을 설정할 수 있다
  4. 외부에서 내부로 통신을 시작하면 DNAT, 내부에서 외부로 통신을 시작하면 SNAT

 

 

동적 NAT

  1. 출발지나 목적지 어느 경우든 사전에 정해지지 않고 NAT을 수행할 때 IP를 동적으로 변경하는 NAT
  2. 출발지나 목적지 중 최소한 한 곳이 IP 풀이나 Range로 설정되어 있다
  3. NAT이 필요할 때 IP 풀에서 어떤 IP로 매핑될 것인지 판단해 NAT을 수행하는 시점에서 NAT 테이블이 만들어진다
  4. NAT 테이블의 타임아웃을 고려하여 적용해야 한다