BIND를 단순 전달자로 구성 (루트 서버 쿼리 없음)

OpenDNS에 대한 단순 전달자로 작동 할 수있는 단순 바인드 서버를 설정하고 싶습니다. 서버.

바인드를 원하지는 않지만 루트 서버를 쿼리 할 수 있기 때문에 모든 트래픽이 OpenDNS로만 이동하고 “캐시”역할을 할 수 있습니다.

어떻게 할 수 있습니까? 루트 서버 힌트를 어떤 식 으로든 비활성화해야합니까? 이것이 올바른 절차입니까?

named.conf.default-zones 파일. 재귀를 비활성화하여 비 쿼리 루트 서버도 달성 할 수 있지만 재귀를 비활성화하면 서버도 포워더를 이용할 수 없게되는 것 같습니다. 내 conf가 잘못된 곳은 어디입니까?

Conf는 다음과 같습니다.

named.conf

// This is the primary configuration file for the BIND DNS server named. // // Please read /usr/share/doc/bind9/README.Debian.gz for information on the // structure of BIND configuration files in Debian, *BEFORE* you customize // this configuration file. // // If you are just adding zones, please do that in /etc/bind/named.conf.local include "/etc/bind/named.conf.options"; include "/etc/bind/named.conf.local"; include "/etc/bind/named.conf.default-zones"; 

named.conf.options

acl "trusted" { 127.0.0.1/8; 10.0.0.0/8; 172.16.0.0/12; 192.168.0.0/16; ::1; }; options { directory "/var/cache/bind"; # bind cache directory recursion no; # enables resursive queries allow-query { trusted; } ; allow-recursion { "none"; }; additional-from-cache no; allow-transfer { none; }; # disable zone transfers by default // 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. forward only; forwarders { 208.67.222.222; 208.67.220.220; }; //======================================================================== // 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-enable no; dnssec-validation no; dnssec-lookaside auto; auth-nxdomain no; # conform to RFC1035 }; 

named.conf.local

// // Do any local configuration here // // Consider adding the 1918 zones here, if they are not used in your // organization //include "/etc/bind/zones.rfc1918"; 

named.conf.default-zones

// prime the server with knowledge of the root servers zone "." { type hint; file "/etc/bind/db.root"; }; // be authoritative for the localhost forward and reverse zones, and for // broadcast zones as per RFC 1912 zone "localhost" { type master; file "/etc/bind/db.local"; }; zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127"; }; zone "0.in-addr.arpa" { type master; file "/etc/bind/db.0"; }; zone "255.in-addr.arpa" { type master; file "/etc/bind/db.255"; }; 

Answer

BIND 구성은 실제로 전달자가 정의 될 때 로컬 BIND에 의해 충족되지 않은 모든 요청을 전달자에게 보냅니다.

더욱 그렇기 때문에 forward only;를 사용하면 로컬 영역이 무시되고 모든 요청이 캐시 또는 전달자에서만 충족됩니다.

로컬 영역이 필요한 경우 (예 : RFC 1918 및 로컬 홈 / 오피스 영역의 개인 IP 주소), 포워더를 사용하려면 루트 힌트가있는 영역과 forward only; 지시문을 모두 주석 처리해야합니다.

// forward only; // zone "." { // type hint; // file "/etc/bind/db.root"; // }; 

DNS HowTo

하지만 “forward only”가 설정되어 있으면 BIND가 포워더로부터 응답을받지 못하면 포기하고 gethostbyname ()은 즉시 반환합니다. 따라서 꼼꼼하게 수행 할 필요가 없습니다. -/ etc에있는 파일을 처리하고 서버를 다시 시작합니다.

제 경우에는

forward only; forwarders {193.133.58.5;};

named.conf 파일의 옵션 {} 섹션에 추가합니다. 매우 잘 작동합니다. 이것의 유일한 단점은 믿을 수 없을 정도로 정교한 DNS 소프트웨어를 멍청한 캐시 상태로 줄여 준다는 것입니다.

따라서 멍청한 캐시 만 필요한 경우 요청 만 전달할 수 있습니다. 이것이 적절한 구성입니다. 예를 들어 중앙 사무실로 요청을 전달할 때 기업 환경에서 켜집니다.

귀하의 상황에 따라 외부로 요청을 전달하는 경우 맹목적으로하지 않는 것이 좋습니다. forward only 상위 계층 / 루트 이름 서버에 대한 개인 IP 주소 범위 / 로컬 DNS / Windows 도메인의 DNS 요청을 전달하지 않으려면

댓글

  • btw, OpenDNS (및 기타)는 암호화 된 전달을 지원합니다. 집에서합니다.
  • 오, 가능할 때 변경 사항을 제공 해주세요 ^^ 저는 암호화 된 포워딩을 사용하여 dns 패킷을 다시 작성하는 어리석은 제공자 라우터 dns 집행자를 제거 할 수 있습니다!
  • 내 사용자와 함께 새 질문 및 댓글 열기; 그렇게하면 문서화되고 주제 / 질문을 섞지 않을 것입니다.
  • 좋아요 🙂 먼저 커피 다음 새 질문을 쓸게요!
  • 지금 봤어요 .. . 내가 실제로 기다리는 것보다 더 복잡합니다. 나중에 답변합니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다