당신의 IPv4 VPN 규칙은 IPv6 트래픽에 대해 아무 말도 하지 않는다
규칙이 두 패밀리를 모두 포괄하는지는 세 가지 조건이 결정합니다. 플랫폼의 규칙 모델, 규칙이 적용되는 위치, 그리고 IPv6가 가야 할 경로입니다.
감사 결과 같은 인터페이스에서 터널이 IPv4에는 엄격하게 필터링되고 IPv6에는 활짝 열려 있습니다. 오타라는 의미의 설정 오류는 없었고, 규칙 집합이 한 패밀리만 기술했으며 모두가 다른 하나도 그것을 따른다고 가정했을 뿐입니다. 실제로 따르는 경우는 드뭅니다. 규칙이 정말 두 패밀리를 모두 포괄하는지는 세 가지 조건이 결정하며, 첫 번째는 정책이 아니라 플랫폼에 관한 것입니다.
조건 하나: 플랫폼에 테이블이 하나인가 둘인가
일부 패킷 필터는 IPv4와 IPv6를 완전히 분리된 규칙 집합에 보관하므로, 한쪽에 추가한 규칙은 누군가 복제하기 전까지 다른 쪽에 효력이 없습니다. 다른 제품은 둘 다에 일치하는 패밀리를 제공하고 주소를 패킷마다 변환합니다. 세 번째 그룹은 정책 언어는 하나로 유지하지만 그 뒤에서 패밀리별로 별도 객체를 저장합니다.
실제로 운영하는 필터의 문서를 읽고, 어떤 테이블이 존재하며 변경이 어느 것을 건드렸는지 나열하십시오. IPv4 테이블의 규칙을 세는 것은 아무도 묻지 않은 질문에 답하는 일입니다. 그런 다음 어떤 테이블이 존재하며 변경이 어느 것을 건드렸는지 나열하십시오.
조건 둘: 정책은 어디에 적용되는가
혼동되기 쉬운 세 위치는 터널을 받아들이는 리스너, 트래픽을 앞으로 전달하는 경로, 터널이 흐름을 나르지 않을 때 클라이언트가 쓰는 일반 인터페이스입니다. 게이트웨이는 세션을 받아들이면서 그로부터 전달되는 모든 것을 버릴 수 있고, 그것은 필터가 아니라 고장 난 터널처럼 보입니다. 세 위치는 소유자와 로그가 다르므로 무언가를 쓰기 전에 그 혼동을 없애십시오. 변경 기록에 이들을 명시하는 것이 수정이 장애에서 한 계층 떨어진 곳에 떨어지는 것을 막습니다.
규칙이 세 위치 중 어디를 통제하려는 것인지 적으십시오. 리스너를 보호하는 규칙은 전달 경로를 보호하지 않으며, 둘 중 어느 것도 클라이언트의 직접 경로를 닫지 않습니다. 대부분의 조직에서 답은 다른 팀이므로 각 위치의 소유자가 누구인지 확인하십시오.
조건 셋: IPv6는 무엇을 해야 하는가
IPv6가 터널을 통과하는지, 보호가 불가능한 동안 차단되는지, 아니면 문서화된 예외를 따르는지 결정하십시오. 답마다 다른 규칙 집합이 나오며, 질문을 열어 두는 것이 바로 네이티브 IPv6를 가진 클라이언트가 IPv4로 터널 안에서 도달하는 목적지에 터널 밖에서도 도달하게 되는 이유입니다.
규칙을 쓰기 전에 답을 소리 내어 말하십시오. IPv6를 나르지 않는 터널에는 차단이 정당한 선택이지만, 빈 테이블의 우연한 결과가 아니라 의도적이고 테스트된 것이어야 합니다. 문서화되지 않은 것은 다음에 규칙을 건드리는 사람이, 보통은 서둘러 다시 결정합니다.
ICMPv6는 제어 트래픽이다
이웃 탐색과 경로 피드백은 모두 ICMPv6 위에서 동작하므로, IPv4 습관에서 복사한 일괄 차단은 주소 지정과 대용량 전송을 동시에 깨뜨립니다. 아무도 지켜보지 않는 채널을 넘겨주기 때문에 일괄 허용도 답이 아닙니다.
중요한 메시지 유형에 대해서는 필터링 지침을 따르고 나머지는 이유와 함께 거부하십시오. 가장 자주 오진되는 장애는 Packet Too Big 메시지의 누락이며, 연결이 열린 뒤 멈추는 형태로 나타납니다.
증명하기, 한 번에 한 패밀리씩
각 패밀리에서 승인된 요청을 따로 테스트하고, 정책이 세션을 넘어 유지되어야 한다면 재연결 후 반복하십시오. IPv4만 있는 네트워크의 테스트는 IPv6 경로를 실행할 수 없으므로, 통과해도 닫으려는 누출에 대해 아무것도 알려주지 않습니다. 절대 일치하지 않는 규칙은 주석이 주장하는 일을 하지 않으므로 테스트가 도는 동안 카운터를 보십시오.
시도마다 범위가 정해진 규칙 하나를 바꾸고 이전 구성을 손에 두십시오. 관리되는 프로필이 정책을 소유한다면 다음 체크인이 로컬 수정을 덮어쓰고 누출을 되살리므로, 로컬에서 편집하기 전에 그 관리자를 참여시키십시오.