BIND9가 IPv6을 통해 쿼리를 받지 못함

BIND9가 IPv6을 통해 쿼리를 받지 못함

저는 Debian 10 서버를 Debian 11로 업그레이드하는 것을 테스트하고 있습니다. 서버는 여러 도메인에 대해 기본 권한 있는 DNS로 바인딩9를 실행하고 Debian 10에서는 2년 동안 잘 작동했습니다. (BIND v.9.11.5) 새로운 테스트 Debian 11 VPS(BIND 9.16.15)에서 사이트별 구성 파일이 복사된(현재는 1개의 테스트 도메인에 대해서만) 쿼리(A, AAAA, MX)은 IPv4를 통해 전송되지만 IPv6을 사용할 때 응답이 없습니다.
포트 53에 대한 수신 패킷을 허용하는 nftables 방화벽이 있고 UDP dport 53에 대한 방화벽 로깅을 켜면 IPv6 및 IPv4 쿼리 패킷이 모두 표시됩니다.
Bind9이 시작되면 IPv6 주소를 수신하고 있음을 syslog에 보고합니다.
ss는 IPv6에서 수신 대기하는 프로세스를 보여줍니다. 로그 파일을
사용 rndc querylog하고 보면 IPv4 쿼리는 기록되지만 IPv6 쿼리는 기록되지 않습니다.
마치 방화벽과 바인드9 사이에서 들어오는 UDP 패킷이 손실되는 것과 같습니다.
다른 프로세스는 포트 53에서 수신 대기하고 있지 않습니다. 왜냐하면 제가 바인딩9 실행을 중지하면 ss는 아무 것도 나열하지 않기 때문입니다.
다른 서비스(예: SSH)는 IPv6에서 완벽하게 작동합니다.
named.conf.options모습은 다음과 같습니다.

options {
    directory "/var/cache/bind";

  allow-query-cache { none; };
  allow-query { any; };
  recursion no;

    //========================================================================
    // If BIND logs error messages about the root key being expired,
    // you will need to update your keys.  See https://www.isc.org/bind-keys
    //========================================================================

  dnssec-validation auto;

  listen-on-v6 port 53 { any; };

};

그렇다면 이 문제를 해결하려면 어떤 다른 테스트를 할 수 있나요?

(BIND에는 관련이 없을 수 있는 두 번째 문제가 있습니다. 즉, 보조 DNS로 영역을 전송하는 동안 "권한 거부" 오류가 발생합니다.)

답변1

재부팅하면 해결됨!
최근에 자동 커널 업그레이드가 완료된 후에 이 작업을 수행했어야 했을 가능성이 있습니다. 그 행동은 확실히 말이 되지 않았습니다.

업데이트: 비슷한 문제가 다시 발생하면서 이전에 다른 소프트웨어에 의해 시스템에 iptables가 설치되었기 때문에 이런 일이 발생한 것으로 의심됩니다. iptables가 계속 설치되어 있는 경우 해당 규칙은 nftables에 보이지 않게 커널의 ​​네트워킹 구성에서 지속될 수 있습니다. 문제를 해결하려면 iptables 패키지를 제거하고 커널에서 모든 iptables 규칙을 지워야 했습니다. 후자는 재부팅했을 때 발생했을 것입니다.

관련 정보