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;
};