设置绑定转发器(域除外)

设置绑定转发器(域除外)

我正在尝试设置本地绑定 DNS 服务器(第一次处理 DNS 服务器,对记录有所了解):

  • 将 *.internal、*.*.internal 路由到其自身(最好是任何子域的组合),
  • 将其他所有内容转发到 192.168.0.1 的父 DNS 服务器

首先,我想解决第二个转发问题。父路由器/dns 路由hostname.Home到连接到网络的计算机,但这些请求不会被转发。但是,对 google.com 和外部网站的查找确实有效。

目前我有以下named.conf:

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

    dnssec-validation no;
    dnssec-lookaside no;
    auth-nxdomain no;    # conform to RFC1035 

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

    # Recursively forward requests onto the parent DNS
    forwarders { 192.168.0.1; };
    recursion yes;
    allow-recursion { any; };
    allow-query { any; };
};

我尝试查找域时的结果:

外部域,本地 DNS

ross@srv:~$ nslookup google.com 127.0.0.1
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   google.com
Address: 173.194.34.105
  ...snip...
Name:   google.com
Address: 173.194.34.104

内部域,本地 DNS

ross@tigger:~$ nslookup ross-pc.home 127.0.0.1
Server:         127.0.0.1
Address:        127.0.0.1#53

** server can't find ross-pc.home: NXDOMAIN

内部域,父 DNS

ross@tigger:~$ nslookup ross-pc.home 192.168.0.1
Server:         192.168.0.1
Address:        192.168.0.1#53

Non-authoritative answer:
Name:   ross-pc.home
Address: 192.168.0.14

绑定错误日志:

named[6947]: DNS format error from 192.168.0.1#53 resolving ross-pc.home/A for
             client 127.0.0.1#50667: reply has no answer
named[6947]: error (FORMERR) resolving 'ross-pc.home/A/IN': 192.168.0.1#53
named[6947]: error (network unreachable) resolving 'ross-pc.home/A/IN':
             2001:503:c27::2:30#53
named[6947]: error (network unreachable) resolving 'ross-pc.home/A/IN': 
             2001:500:3::42#53

我尝试将 bind 配置为尽可能不受限制,同时使基本功能正常运行。有人能解释为什么*.Home请求没有被转发吗?

答案1

我找到了一个解决方案 - 我的上游路由器是家用 dsl 型路由器,它显然可以发送大型 udp 数据包。此处描述的解决方案是添加以下几行以在 DNS 服务器之间使用不同的 DNS 模式:

server ::/0 { edns no; };
server 0.0.0.0/0 { edns no; };

相关内容