VPN 요청이 선택하는 IPv6 소스와 그것이 중요한 이유
IPv6 주소가 여러 개인 호스트는 경로를 조회하기 전에 소스를 고릅니다. 순서가 정해진 규칙, 애플리케이션 바인딩, 원격 측 반환 정책을 확인하십시오.
VPN 주소를 추가하고 요청이 그것을 쓸 것이라 기대했지만, 서버는 여전히 예전 프리픽스를 기록하고 있었습니다. 터널에서 실패한 것은 없으며, 호스트는 당신이 노려보던 경로를 조회하기도 전에 소스 주소를 선택했습니다. IPv6 소스 선택은 호스트의 후보 주소들 사이에서 벌어지는 별개의 순서 있는 경쟁이며, 가장 긴 일치 프리픽스는 그 경쟁의 끝자락에 있는 규칙 하나일 뿐입니다. 원하는 결과를 얻으려면 어떤 규칙이 이미 이겼는지 알아야 합니다. 규칙 자체는 지루하고 정확하며, 차례로 읽어야 하는 이유도 바로 거기에 있습니다.
두 번의 조회, 한 번이 아님
목적지 선택은 다음 홉과 나가는 인터페이스를 정합니다. 그다음 소스 선택이 호스트 주소 중 어느 것이 헤더에 실릴지를 정하며, 두 질문 모두 프리픽스를 쓰지만 서로 다른 구조가 답합니다. 물리 주소, 임시 주소, VPN 주소를 가진 호스트는 어떤 목적지에 대해서도 후보가 셋이고, VPN 쪽으로 가는 경로가 세 번째를 자동으로 지명하지는 않습니다.
올바른 경로와 잘못된 소스가 이렇게 쉽게 공존하는 이유이고, 같은 요청이 브라우저에서와 강제 바인딩에서 다르게 행동할 수 있는 이유입니다. 둘을 연결하는 증거가 나올 때까지 두 조회를 별개로 다루십시오.
규칙을 순서 있는 경쟁으로 읽기
RFC 6724는 규칙을 순서대로 나열하며, 각 규칙은 앞선 규칙이 남긴 동점만 깹니다. 나가는 인터페이스 선호와 레이블 일치는 프리픽스 비교보다 훨씬 앞에 나오므로, 경로가 쓰는 인터페이스의 주소는 더 나은 프리픽스 일치로도 지울 수 없는 우위를 이미 얻은 상태입니다. 폐기 여부와 범위도 참여하므로, 아무도 정책을 바꾸지 않았는데 오래된 주소가 어느 순간 선택되지 않기도 합니다.
실무적 해석은 목적지만으로 승자를 추론할 수 없다는 것입니다. 후보를 나열하고 규칙을 순서대로 훑으며 결정이 실제로 어디서 내려졌는지 보십시오.
이것이 문제의 소스 쪽 절반이라는 점도 유의하십시오. 두 프리픽스 비교를 뒤섞으면 엄밀하게 들리면서 잘못된 주소를 예측하는 설명이 나옵니다. 티켓에서 프리픽스라는 단어를 쓸 때는 어느 비교를 말하는지 밝히십시오.
애플리케이션 바인딩은 질문을 바꾼다
애플리케이션은 특정 소스 주소를 요청할 수 있고, 유효한 명시적 선택은 질문을 “호스트가 어느 주소를 선호할까”에서 “그 주소가 목적지에 도달해 돌아올 수 있는가”로 옮깁니다. 소스에 바인딩하거나 선택된 주소에 대한 부가 데이터를 요청하는 도구는 이를 직접 드러내며, 연결이 실제로 어느 주소를 썼는지 증명하는 가장 빠른 길입니다. 그 실험은 당신이 설정한 것이 아니라 커널이 결정한 것을 보고하기 때문에 라우팅 테이블을 세 번째로 읽는 것보다 낫습니다. 변경 후에 반복하고 두 답을 비교하십시오.
그래서 소스 바인딩은 진단 도구이자 임시 해법이며, VPN 주소에 바인딩해 요청이 성공하는지 보면 됩니다. 성공하면 경로가 정상이고 문제는 선택이었습니다. 실패하면 처음부터 문제는 반환 경로나 원격 측 정책이었습니다.
원격 측이 그 소스를 받아들이는지 확인하기
호스트가 무엇을 고르든 VPN의 보호 범위와 원격 끝의 반환 경로 및 접근 규칙에 맞아야 합니다. 선택자 밖의 소스는 터널로 들어가 원격 끝에서 버려질 수 있으며, 이는 단방향 장애처럼 보여 라우팅 탓으로 돌아갑니다. 모드를 바꾸는 것은 후보 주소 중에서 고르는 일이 아니므로, 암호화 설정을 건드리기 전에 선택된 내부 소스를 보호 범위와 비교하십시오.
바깥 끝점 주소도 추론에서 따로 두십시오. 그것은 VPN 참가자 사이의 전송을 식별하며 안쪽 애플리케이션 패킷의 소스가 아닙니다.
네 가지 관찰로 결정하기
사용한 목적지, 자격이 있는 로컬 소스, 실제로 선택된 소스, 유효한 나가는 경로를 기록하십시오. 거의 모든 사례를 설명하기에 네 줄이면 충분하고, 이론을 다시 논쟁하지 않고도 정상 호스트와 고장 호스트를 비교할 수 있습니다. 구현이 저마다의 로컬 선호를 더하기 때문에, 선택 단계에서는 표준의 이름이 아니라 운영체제 자체가 지원하는 보기를 쓰십시오.
답이 여전히 당신을 놀라게 한다면, 순서가 당신의 정신 모형이 하지 않는 일을 하고 있는 것이며, 해법은 알고리즘과 다투는 것이 아니라 입력을 바꾸는 것입니다. 네 가지 관찰을 티켓에 적으면 다음 독자가 당신의 결론을 재현할 수 있습니다.