IPv4로 클라이언트를 받아들이고 그가 요청한 웹사이트에 IPv6로 도달하는 것이 가능합니다. 이들은 별개의 연결입니다. 웹사이트 쪽에 관한 정책이 IPv4 클라이언트를 자동으로 거부해서는 안 됩니다.

대상 패밀리 거부를 src ipv4와 결합한 예제의 함정이 이것입니다. 소스 ACL은 누가 연결할 수 있는지를 바꾸는 것이지, 어떤 웹사이트 연결이 허용되는지만 바꾸는 것이 아닙니다.

의도한 제한 정의

관련 IP ACL을 지원하는 Squid 릴리스에서는 대상 패밀리 규칙이 dst ipv4를 사용해 IPv4 대상을 식별할 수 있습니다. 이러한 규칙을 기존 인증 및 대상 권한과 통합하고, 이를 우회하는 광범위한 IPv6 허용을 추가하지 마십시오.

ACL 참조는 소스와 대상 유형을 구분합니다. 이것은 제한이지 자동 번역 서비스가 아닙니다. IPv4 전용 웹사이트는 시스템이 IPv4로 도달할 수 있었더라도 사용할 수 없게 될 수 있습니다.

발신 IPv6 주소를 바인딩하는 것도 전체 시행 정책이 아닙니다. 소스 선택, 허용된 대상 패밀리, DNS 응답, 실제 네트워크 도달 가능성이 모두 기여합니다. IPv4 폴백이 허용되는지 명시적으로 결정하십시오.

forwarded_for를 변경해도 이 문제는 해결되지 않습니다. 이는 HTTP 헤더에 영향을 주며 프록시 TCP 연결의 주소 패밀리에는 영향을 주지 않습니다. 마찬가지로 IPv6 DNS 확인자는 응답하는 모든 이름에 IPv6 대상이 있다고 보장하지 않습니다.

대규모의 오래된 구성을 채택하기 전에 릴리스별 동작을 확인하십시오. 특히 Squid 5에서 7까지 dns_v4_first는 지원되는 패밀리 우선순위 스위치가 아닙니다. 정확히 설명할 수 있는 정책이 관련 없는 IPv6 설정 모음보다 검증하기 쉽습니다.

관련 글