VPN을 구성하기 전에 패킷 경로를 작성하라
구성을 건드리기 전에 출발지, 목적지, 게이트웨이, 응답 경로를 이름 붙여라. 한 장의 경로 기록은 빠진 전달을 일찍 드러낸다.
대부분의 VPN 구축은 클라이언트와 프로필에서 시작하고, 터널이 올라오면 어느 패킷이 그곳을 지나야 했는지 아무도 말할 수 없다. 첫 장의 작업은 세 번째 시간의 디버깅보다 싸므로, 구성 파일이 생기기 전에 의도한 연결 하나를 종이 위에서 끝에서 끝까지 적어 보라. 이 연습은 보통 아직 던지지 않은 질문, 예컨대 요구가 인터넷 출구인지 서브넷에 대한 원격 접근인지 두 사이트 사이의 링크인지를 정리한다.
시작에는 연결 하나로 충분하다. 토폴로지 세 장은 보통 같은 빠진 답을 감춘다.
다이어그램이 아니라 요청 하나를 서술하라
보낸 쪽, 곧 주소 범위와 주소 체계, 그리고 트래픽을 만드는 응용 프로그램부터 시작하라. 다음으로 목적지 프리픽스와 그 위의 서비스를 포트와 프로토콜까지 이름 붙이되, 서브넷은 허용하지만 서비스는 허용하지 않는 규칙은 아무것도 하지 않는 규칙임을 기억하라. 두 주소가 요점이고, 그 아래의 모든 것은 두 주소에 맞춰야 하는 기계 장치다.
경로를 물리 링크, 양 끝의 VPN 종단점, 터널 자체, 그 너머의 네트워크 순서로 나열하라. 인터페이스 이름을 안다면, 그 세부가 설명을 나중에 라우팅 테이블과 비교할 수 있는 것으로 바꾸므로 적어라. 각 인터페이스가 터널 쪽에서 쓰는 주소도 더하라. 이 두 사실이 없으면 다른 누구도 기록을 장비와 대조할 수 없다.
이제 의도한 연결 하나를 페이지 위쪽 한 문장으로 이름 붙여라. 그 문장에 또는이라는 말이 필요하면 설계가 둘이며 따로 다루어야 한다.
요청보다 응답을 먼저 따라가라
나가는 방향만 서술한 경로는 문서의 절반이다. 응답을 거꾸로 따라가며 어느 장비가 보낸 쪽 범위를 아는지, 변환이 출구에서 출발지를 바꾸는지, 돌아오는 패킷이 어디로 들어온다고 보는지 확인하라. 대부분의 구축이 실패하는 곳은 응답 쪽이다, 요청은 관찰하기 쉽고 응답은 그렇지 않기 때문이다.
주소 변환이 있으면 어디서 일어나고 먼 쪽이 그 뒤에 무엇을 보는지까지 밝혀 적어라. 한 주소를 기록하면서 다른 주소로 라우팅하는 상대는 서로 다른 두 설계를 말하고 있다.
이름 해석을 응용 프로그램 경로의 일부가 아니라 독립된 교환으로 다루어라. 내부 레코드는 터널로만 닿을 수 있는 해석기를 필요로 할 수 있고, 응용 프로그램 프리픽스에서 멈추는 경로 기록은 그것을 드러내지 않는다. 내부 기관에 닿는 데 의존하는 인증서 검증도 마찬가지다.
모든 결정에 소유자를 두어라
모든 경로, 방화벽 규칙, 선택자, 자격 증명마다 어느 구성이 그것을 보관하는지와 누가 바꿀 수 있는지를 적어라. 줄마다 소유자가 있어야 문서가 첫 변경 요청을 견디며, 그렇지 않으면 의도를 적은 문서와 이력을 말하는 네트워크만 남는다.
한 기본값에 소유자가 둘인 경우를 경계하라. 클라이언트 스크립트와 네트워크 관리자는 서로 모른 채 경로를 설치할 수 있고, 게이트웨이의 수신 허가는 전달 허가와 같지 않다. 두 경우 모두 종이에서는 맞고 케이블에서는 틀린 경로 기록을 만든다.
값을 당신이 아니라 공급자가 정한다면 같은 줄에 그렇게 적어라. 호스팅 회사가 위임한 프리픽스는 직접 고른 것과 변경 절차가 다르다. 그 메모는 장애 때 다음 엔지니어의 지원 요청을 아낀다. 승인한 변경이 왜 효과가 없었는지도 설명해 준다.
무엇이 깨지고 어떻게 회복하는지 서술하라
경로의 각 단계마다 터널이 사라질 때 무엇이 멈추는지, 고치려면 어느 외부 연결이 닿아 있어야 하는지 말하라. 터널과 함께 관리 접근까지 잃는 설계는 현장 방문이 필요한 설계다.
전체 터널과 분할 터널은 실패 방식과 복구 경로를 모두 바꾸므로 확인란이 아니라 명시적 선택으로 이 페이지에 속한다.
각 단계에 무해한 시험을 하나 이름 붙여라
종단점 도달, 터널 수립, 사설 주소, 사설 이름, 응용 프로그램 허가는 서로 다른 다섯 가지 관찰이며, 각각은 다른 것과 혼동할 수 없는 시험이 필요하다. 게이트웨이로의 핑은 기껏해야 처음 둘을 증명한다. 응용 프로그램 포트로의 연결은 이름이 의도한 해석기로 풀렸을 때만 넷째와 다섯째를 증명한다.
시험을 그것이 덮는 단계 옆에 명령과 예상 출력과 함께 적어라. 정확한 경로 한 장은 어느 패킷에 영향을 주려 했는지 결코 말하지 않는 명령 한 장을 이긴다.