정책 테이블의 결함과 라우팅 결함은 어떤 규칙이 일치했는지, 그 규칙이 어떤 테이블을 지목했는지, 그 테이블에 무엇이 있는지, 그 안에서 어느 경로가 이겼는지라는 네 가지 점검으로 구분됩니다. 앞선 테이블이 경로를 내놓으면 기본 테이블은 조회되지 않으므로, 거기에 보이는 LAN 항목이 테스트 중인 패킷과 무관할 수 있습니다. 점검을 순서대로 진행하면 빠진 경로는 네 번째가 아니라 세 번째 단계에서 드러납니다.

최장 프리픽스 일치는 하나의 테이블 안에서 일어나며, 모든 테이블의 경로를 하나의 목록처럼 비교하지는 않습니다.

조회는 응답하는 첫 테이블에서 끝납니다

어떤 서브넷의 트래픽이 먼저 테이블 200을 조회하고, 테이블 200에 터널을 지나는 기본 경로가 있으며, 기본 테이블에 LAN 프리픽스가 있는 정책을 가정합니다. LAN 주소로 가는 패킷은 테이블 200의 그 기본 경로와 일치해 거기서 멈출 수 있습니다. 조회가 경로를 내놓았기 때문에 뒤의 기본 테이블 규칙은 더 구체적인 항목을 제시할 기회를 얻지 못합니다. 결과는 터널로 들어가는 패킷이고, 멀쩡한 LAN 경로는 쓰이지 않은 채 남습니다.

앞선 규칙과 머신 자체의 로컬 주소 조회는 여전히 적용되므로, 테스트는 실제 흐름이 지니는 소스, 마크, 인터페이스를 사용해야 합니다. 다른 무엇으로 질의하면 LAN이 올바르게 선택될 수 있고, 그러면 찾고 있는 결함이 바로 가려집니다.

LAN 예외를 제자리에 두십시오

선택된 테이블은 필요한 LAN, 연결된 경로, 엔드포인트 경로를 담을 수 있으며, 그래서 정책이 자기완결적으로 유지됩니다. 다른 설계는 LAN 프리픽스에 대한 명시적 선행 규칙을 쓰거나, 프리픽스를 이후 조회로 넘기는 의도적 스로 경로를 씁니다. 각각 소유자가 다른 정당한 패턴입니다. 어느 쪽이 타이핑하기 짧은지가 아니라 의도한 정책과 경로를 누가 유지하는지로 고르십시오.

패턴이 무엇이든 예외는 정책이 정의된 곳에서 보여야 합니다. 손으로 추가하고 기록하지 않은 경로는 다음 재부팅에서 사라지고, 진단도 함께 사라집니다.

기본 테이블을 통째로 복사하지 마십시오

기본 테이블의 모든 경로를 정책 테이블로 복사하는 것은 수정처럼 보이지만 스냅숏을 만듭니다. 관리자가 주소와 인터페이스를 동적으로 추가하거나 제거할 수 있고, 복사본은 아무도 모르는 사이에 낡습니다. 경로 수명 주기는 설정 소유자에게 두고, 테이블은 어느 한 시점이 아니라 설정에서 다시 생성하십시오.

복사한 테이블은 정책이 제한하려던 폴백 동작을 그대로 재현하므로 목적도 무너뜨립니다.

응답은 경로와 별도로 점검하십시오

조회가 의도한 경로를 골랐더라도 응답은 테이블과 무관한 이유로 실패할 수 있습니다. 변환이 잘못된 인터페이스에 적용될 수 있고, 역경로 검증이 예상치 못한 경로로 도착한 패킷을 거부할 수 있으며, 엔드포인트가 그냥 응답하지 않을 수도 있습니다. 이들은 증거가 다른 별개의 결함이고, 경로 항목을 편집해서 고쳐지는 것은 하나도 없습니다.

변경 전후 양쪽에서 바로 그 흐름에 대한 조회를 저장해 수정이 보이게 하십시오. 역경로 검증을 전역으로 끄거나 규칙을 비워도 빠진 경로가 생기지 않고 무관한 제어가 약해집니다.

규칙, 테이블, 승리한 경로, 응답 경로를 기록하십시오. 그 기록이 정책 실수와 고장 난 서비스를 구분합니다.

관련 글