공유기 하단의 IPSEC VPN 구축시 참고사항

NAT-T (NAT traversal)이란 IPsec 장비들 사이에 NAT 장비가 있을 때 자동으로 퀵 모드의 ISAKMP 패킷과 ESP 패킷을 UDP 4500번으로 Encapsulation 하여 전송하는 기술 입니다.
출발지/목적지 포트번호를 500으로 사용하는 ISAKMP가 변환된 번호로 인하여 제대로 동작을 하지 못하거나, 또 IPsec Transport 모드를 사용하는 패킷이 NAT 장비를 통과하면 IP주소가 변환되고, IP주소가 원래 해시코드를 계산했을 때와 달라짐으로 수신장비에서 계산된 해시코드 값이 달라져서 IPsec이 동작하지 않음으로 이와같은 문제점을 해결하기 위해 각 ipsec gateway 장비에서 NAT-T 기술을 적용합니다.


포티게이트 설정 예시

일반적으로 IPSec VPN에서 VPN 연결 설정을 위한 IKE는 UDP 500을 통해 통신하고, 실제 VPN 터널을 통해 통신하는 데이터는 ESP (IP protocol 50)을 사용 한다.

ESP는 port number가 없기 때문에 NAT를 지원하지 않는다.

NAT의 경우 IP가 변경되면서 원본 IP/port number와 변경된 IP address/port number를 매칭하는데, ESP는 port number가 없기 때문에 NAT를 지원하지 않는다.

이를 해결하기 위해 NAT Traversal 기능을 사용한다.

NAT Traversal을 enable하면 처음에 UDP 500을 통해 VPN 협상을 시도하다가, 중간에 NAT 장치가 발견되면 UDP 4500을 통해 VPN 협상을 진행한다.

협상이 완료되고 실제 데이터 통신도 UDP 4500을 사용한다.

Forced 는 VPN 경로상에 NAT 장치가 없더라도 IKE와 ESP 모두 UDP 4500을 강제로 사용하는 설정이다. 

NAT Traversal을 enable하면 Keepalive Frequency 옵션 설정이 가능하다.

Keepalive Frequency는 UDP 4500으로 통신하는 IPsec 연결에 대해, 중간 NAT 장치와 다른 네트워크 장치들에서 session timeout이 발생하지 않도록 하는 목적이다.

Leave a Comment