Azure 사이트 간 VPN과 NAT 뒤의 피어:점검 목록
NAT-T는 바깥쪽 패킷을 다루며 피어 주소나 안쪽 경로를 다루지 않는다. 순서대로 정리된 다섯 가지 점검으로 번역 문제와 설정 문제를 구분할 수 있다.
이 점검을 순서대로 수행하고 처음 실패하는 지점에서 멈춘다. Azure가 NAT 뒤의 장치를 지원하지 않는다는 보고는 대부분 Azure가 도달할 수 없는 피어 주소이거나 올바른 쪽에서 시작되지 않는 터널이다. 바깥쪽 전송과 안쪽 라우팅은 서로 다른 문제이며, 둘을 섞으면 반나절을 잃는다. 아래 각 단계는 다른 사람에게 그대로 넘길 수 있는 관찰 결과를 만든다.
1단계: 피어가 정말 NAT 뒤에 있는지 확인한다
장치의 WAN 인터페이스 주소와 Azure가 그 장치에 대해 보는 주소를 비교한다. 두 주소가 다르면 무언가가 변환하고 있다는 뜻이며, 그 변환기는 이제 VPN 설계의 일부다. 제공업체에 매핑이 고정인지 공유인지 물어본다. 공유 매핑은 무엇을 믿을 수 있는지를 바꾼다. 사설 WAN 주소가 있고 포워딩이 없는 장치는 안정적인 공용 매핑을 가진 통신사급 NAT 뒤의 장치와 다른 사례다.
두 주소가 같다면 여기서 멈춘다. NAT는 문제가 아니며 이 목록의 나머지는 도움이 되지 않는다.
두 주소와 변환기 모델을 티켓에 기록한다. 그 한 줄이 설정한 피어가 왜 응답하지 않는지에 대한 다음 질문 공세를 막는다.
2단계: 누가 시작할지 합의한다
Azure VPN Gateway FAQ는 NAT-T 지원을 언급하고, 온프레미스 장치가 NAT 뒤에 있으면 IPsec 터널을 시작해야 한다고 덧붙인다. 이는 상태 저장 변환이 동작하는 방식과 맞는다. 안쪽 장치가 첫 패킷을 보냈기 때문에 변환기가 매핑을 유지하기 때문이다. Azure가 시작해야 하는데 그 매핑을 만들 패킷이 도착하지 않으면 터널은 시작되지 않는다.
응답자 전용 실수가 분명히 드러나도록 피어를 설정하고, 장치가 스스로 재시도하는지 아니면 트리거가 필요한지 확인한다. 일부 장치는 흥미로운 트래픽이 나타날 때만 터널을 올리는데, 흥미로운 트래픽이 결코 오지 않는 상태 프로브가 되기 전까지는 괜찮다.
수동 시작 중에 장치의 IKE 교환을 관찰한다. 그곳의 침묵은 라우팅이나 방화벽의 답이지 Azure의 답이 아니다.
3단계: 피어 주소를 올바르게 잡는다
Azure는 로컬 네트워크 게이트웨이 개체에서 피어에 대해 도달 가능한 공용 주소를 필요로 하며, 보통 장치의 안쪽 주소가 아니라 변환기의 공용 주소다. 장치가 인증에 사용하는 ID는 별도 필드이며 Azure가 연결하는 주소와 정당하게 다를 수 있다. 둘을 혼동하지 말아야 한다. 서로 바꾸면 NAT 문제와 똑같이 보이는 인증 실패가 생긴다.
공용 주소가 바뀌면 그 개체도 함께 바뀌어야 한다. 오래된 주소로 해석되는 이름은 손으로 갱신해야 하는 고정 주소보다 나쁘다.
세 가지 값을 모두 적는다. 장치의 로컬 주소, 변환된 공용 주소, 설정한 피어 ID다.
4단계: NAT-T에 필요한 포트만 연다
NAT-T는 ESP를 UDP 안에 실어 보내며, RFC 3948은 포트 500에서의 초기 협상 후 포트 4500을 사용하는 그 캡슐화를 설명한다. 방화벽과 변환기 모두 그 교환과 반환 트래픽을 허용해야 한다. 무관한 TCP 포트를 허용해도 이 경로에 대해 아무것도 증명하지 못하며, 나가는 트래픽만 허용하고 응답은 허용하지 않는 규칙도 여전히 실패한다.
피어가 시작하고 변환기가 상태를 유지할 때 고정 인바운드 포트 포워딩이 자동으로 필요한 것은 아니다. 매핑이 불안정하거나 경로의 무언가가 상태를 공격적으로 만료시킬 때 필요해진다.
변환기의 양쪽에서 한 번씩 캡처한다. 캡슐화 차이가 곧바로 보인다.
5단계: 바깥쪽 전송과 안쪽 라우팅을 분리한다
설정되지만 아무것도 나르지 않는 터널은 라우팅 문제이지 NAT-T 문제가 아니다. 사이트에는 여전히 호환되는 트래픽 선택자, 일치하는 주소 공간, 액세스 규칙, 애플리케이션 네트워크를 위한 반환 경로가 필요하다. 성공한 IKE 교환이 이 중 어느 것도 제공하지 않는다.
두 사이트가 겹치는 사설 범위를 사용한다면 터널 내부의 변환은 자체 규칙을 가진 별도 설계다. 바깥 게이트웨이가 우연히 가정용 라우터 뒤에 있다고 해서 서브넷 번호를 다시 매기지 않는다.
무엇이든 바꾸기 전에 실패를 단계별로 분류하고, 그 분류를 티켓에 남겨 다음 사람이 당신이 멈춘 지점에서 시작할 수 있게 한다.