동일한 서버에서 Bind9가 거부되었습니다.

동일한 서버에서 Bind9가 거부되었습니다.

Docker 컨테이너에서 실행되는 로컬 BIND9 DNS 서버가 있습니다. 다른 컨테이너에서는 외부에서 홈 네트워크에 연결하는 데 사용하는 Wireguard를 실행합니다.

내가 겪고 있는 문제는 서버 IP를 Wireguard의 DNS로 선택할 때 BIND9가 계속 쿼리를 거부한다는 것입니다. 라우터를 DNS로 선택한 다음 BIND9 DNS로 전달하면 모든 것이 예상대로 작동합니다.

명명된.conf.옵션

# BEGIN MANAGED HOMENETWORK BLOCK
acl homenetwork {
  192.168.1.0/24; # home network
  172.17.0.1; # docker host
  192.168.4.0/24; # Wireguard network
  localhost;
  localnets;
};
# END MANAGED HOMENETWORK BLOCK
options {
    directory "/var/cache/bind";

    // If there is a firewall between you and nameservers you want
    // to talk to, you may need to fix the firewall to allow multiple
    // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

    // If your ISP provided one or more IP addresses for stable 
    // nameservers, you probably want to use them as forwarders.  
    // Uncomment the following block, and insert the addresses replacing 
    // the all-0's placeholder.

    // forwarders {
    //  0.0.0.0;
    // };

    //========================================================================
    // 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;

# BEGIN MANAGED CACHING BLOCK
recursion yes;
allow-query { homenetwork; };
auth-nxdomain no; # conform to rfc1035
# END MANAGED CACHING BLOCK
    listen-on-v6 { any; };
};

문제의 IP는 BIND(Docker)의 경우 172.17.0.5, Wireguard(Docker)의 경우 172.17.0.7, 192.168.4.2(Wireguard 클라이언트)입니다.

실수

03-Oct-2023 20:44:52.999 client @0x7ff680007460 172.17.0.1#60081 (gitlab.lan): query 'gitlab.lan/A/IN' denied

acl설정 을 시도했지만 any;동일한 오류가 발생하므로 다른 것임에 틀림없습니다. 어떤 팁이 있나요?

답변1

zone나는 또한 이 설정을 가지고 있는 것으로 밝혀졌습니다 :

zone "lan" {
  type master;
  file "/var/lib/bind/lan.hosts";
  allow-query {
    192.168.1.0/24;
  };
};

또한 제대로 작동하려면 쿼리를 허용하도록 업데이트해야 합니다. 이제 최종 구성은 다음과 같습니다.

이름 .conf.local

zone "lan" {
  type master;
  file "/var/lib/bind/lan.hosts";
  allow-query {
    192.168.1.0/24;
    172.17.0.1; 
  };
};

명명된.conf.옵션

acl homenetwork {
  # home network
  192.168.1.0/24; 
  # docker host
  172.17.0.1; 
  localhost;
  localnets;
};

관련 정보