我正在尝试为整个 10.200.xx/16 子网设置反向区域。我已经根据named.conf 和几篇不同的博客文章配置了所有内容,但没有运气。
请注意,A 记录解析正确,问题在于反向查找。
任何人都可以发现任何配置错误吗?
命名.conf:
zone "200.10.in-addr.arpa" {
type master;
file "/etc/bind/master/10.200.reverse";
};
Run Code Online (Sandbox Code Playgroud)
10.200.反向:
$TTL 3600
@ IN SOA dhcpns01.guest.domain.com. admin.domain.com. (
2011022106 ; serial
10800 ; refresh (3 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
38400 ; minimum (10 hours 40 minutes)
)
; name servers
NS dhcpns01.guest.domain.com.
; hosts
0.10 PTR dhcpns01.guest.domain.com.
Run Code Online (Sandbox Code Playgroud)
挖 -t ptr 10.200.0.10 @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: …Run Code Online (Sandbox Code Playgroud) 一旦 Bind 崩溃,我就这么做了:tail -f /var/log/messages
我每秒都会看到大量日志。这是 DNS 攻击吗?或者有什么问题吗?
有时我会在日志中看到这样的域:dOmAin.com(上下)。正如您所看到的,日志中只有一个域具有不同的 IP
Oct 10 02:21:26 mail named[20831]: client 74.125.189.18#38921: query (cache) 'ns1.domain2.com/A/IN' denied
Oct 10 02:21:26 mail named[20831]: client 192.221.144.171#38833: query (cache) 'domain.com/A/IN' denied
Oct 10 02:21:26 mail named[20831]: client 74.125.189.17#42428: query (cache) 'ns2.domain2.com/A/IN' denied
Oct 10 02:21:26 mail named[20831]: client 192.221.146.27#37899: query (cache) 'domain.com/A/IN' denied
Oct 10 02:21:26 mail named[20831]: client 193.203.82.66#39263: query (cache) 'domain.com/A/IN' denied
Oct 10 02:21:26 mail named[20831]: client 8.0.16.170#59723: query (cache) 'domain.com/A/IN' denied
Oct 10 02:21:26 …Run Code Online (Sandbox Code Playgroud) 鉴于以下情况,我的 BIND 9 无法启动。
acl ns2 { 192.168.10.50; };
zone "10.168.192.in-addr.arpa" IN {
also-notify { ns2 port 53; };
type master;
file "192.168.10.db";
};
Run Code Online (Sandbox Code Playgroud)
它将以下内容写入 /var/log/messages 文件。
[root@dev bind]# tail /var/log/messages
Jan 25 18:41:05 dev named[22863]: found 4 CPUs, using 4 worker threads
Jan 25 18:41:05 dev named[22863]: using 4 UDP listeners per interface
Jan 25 18:41:05 dev named[22863]: using up to 4096 sockets
Jan 25 18:41:05 dev named[22863]: loading configuration from '/etc/named.conf'
Jan 25 18:41:05 dev named[22863]: /etc/named.conf:18: missing …Run Code Online (Sandbox Code Playgroud) 我在从属 DNS 服务器上正确加载区域时遇到问题。两台服务器都运行 BIND 9.9.3-P2。
我已经为大约 150 个区域提供服务,并且它们都工作正常。但是,当我添加另一个域时,从属服务器拒绝识别它。
这是主站上的区域规范:
zone "test.no" { type master; file "/var/lib/named/zones/test.zone"; };
Run Code Online (Sandbox Code Playgroud)
这是从站上的区域规范:
zone "test.no" { type slave; masters { master.ip; }; file "/var/lib/named/zones/test.zone"; };
Run Code Online (Sandbox Code Playgroud)
当我在主设备上执行操作时rndc reload,从设备会收到通知,从主设备转移区域并且不会抱怨。这是来自从站上的日志:
27-Mar-2014 10:30:15.146 zone test.no/IN: no master file
27-Mar-2014 10:30:15.146 zone_settimer: zone test.no/IN: enter
27-Mar-2014 10:30:15.157 dns_zone_maintenance: zone test.no/IN: enter
27-Mar-2014 10:30:15.158 zone_settimer: zone test.no/IN: enter
27-Mar-2014 10:30:15.166 zone_timer: zone test.no/IN: enter
27-Mar-2014 10:30:15.166 zone_maintenance: zone test.no/IN: enter
27-Mar-2014 10:30:15.166 queue_soa_query: zone test.no/IN: enter
27-Mar-2014 10:30:15.166 zone_settimer: …Run Code Online (Sandbox Code Playgroud) 我将域的 DNS 服务器设置为注册商上的一组权威 DNS 服务器。但是,域的那些 DNS 服务器区域文件具有一组不同的 NS 记录。一些 DNS 服务器正在愉快地将请求传递到区域文件中设置的 NS 服务器;但是,其他一些(例如 Google、Level 3 和 OpenDNS 的公共 DNS 服务器)无法正确解析记录。它们返回正确的 NS 记录,但未返回对子委托 DNS 服务器上的 A 记录的请求。我在下面提供了大量输出;但它的要点是,请求没有被引用到我在 QUICKROUTEDNS.COM 为域设置的 NS 记录,这些 NS 记录是指向亚马逊云 DNS 的。相反,请求停止在 QUICKROUTEDNS.COM。
下面是一个例子:
域名在注册商处的 DNS 记录:
Name Server: NS1.QUICKROUTEDNS.COM
Name Server: NS2.QUICKROUTEDNS.COM
Name Server: NS3.QUICKROUTEDNS.COM
Run Code Online (Sandbox Code Playgroud)
拉取域的 NS 记录(权威 DNS,QUICKROUTEDNS.COM,将这些服务器设置为 NS 记录):
$ host -t NS domain.com
domain.com name server ns-1622.awsdns-10.co.uk.
domain.com name server ns-1387.awsdns-45.org.
domain.com name server ns-774.awsdns-32.net.
domain.com name server ns-48.awsdns-06.com.
Run Code Online (Sandbox Code Playgroud)
来自托管域的 Amazon DNS 服务器的 A …
这是我的反向 dns 文件。
$TTL 1D
@ IN SOA dns.prv.server.co.uk. root.prv.server.co.uk. (
2014090402 ; serial
3600 ; refresh
1800 ; retry
604800 ; expire
10800 ) ; minimum
; Name servers's
@ IN NS dns.prv.server.co.uk.
@ IN PTR prv.server.co.uk.
; Name server hostname to IP resolve.
dns IN A 10.100.48.51
2 PTR frontend.prv.server.co.uk.
4 PTR opennebula.prv.server.co.uk.
5 PTR bleakhouse.prv.server.co.uk.
6 PTR thebodyfarm.prv.server.co.uk.
7 PTR luther.prv.server.co.uk.
8 PTR atlantis.prv.server.co.uk.
51 PTR dns.prv.server.co.uk.
Run Code Online (Sandbox Code Playgroud)
我试过检查它:
sudo named-checkzone dns.prv.server.co.uk /etc/named/48.100.10.rev
Run Code Online (Sandbox Code Playgroud)
我收到错误:
zone dns.prv.server.co.uk/IN: NS 'dns.prv.server.co.uk' …Run Code Online (Sandbox Code Playgroud) 我正在从事一个项目,以在具有 255.255.252.0 子网的网络上设置 Bind9 DNS 服务器。
目前,它的设置方式使得无法在网关为 192.168.1.1/22 的 192.168.0.0/22 网络上从 192.168.1.101/22 到 ns1 @ 192.168.1.61/22 运行 nslookup。不要问我为什么从 192.168.1.1 而不是 192.168.0.1 开始寻址。我已经做了。更容易连续输入两个 1,但需要额外的地址空间。我将 dhcp wifi 客户端放在 .2.1-255 范围内,并在 .3.1-255 范围内运行 vms。关键是 Bind 似乎认为所有地址 @ 192.168.1.0-255 都来自一个单独的 /24 区域。
这值得质疑,0.168.192。反向区域在绑定中默认看起来像 /24 子网?168.192怎么样。反区?他们都是/16个区域要绑定吗?
这让我回到我原来的问题。
尽管我的 Bind 配置中有所有错误,知道我应该做什么来具体修复它们会很好,但我如何实现我想要做的?
您如何编写 Bind 以托管 /22、/21 或任何非标准位区域?
这是我的原始反向区域文件。
$ttl 38400
0/22.0.168.192.in-addr.arpa. IN SOA ns.fqdn.com. user.emai.com. (
1489024990
10800
3600
604800
38400 )
61.1.168.192.in-addr.arpa. IN NS ns.fqdn.com.
61.1.168.192.in-addr.arpa. IN PTR ns.fqdn.com.
1.1.168.192.in-addr.arpa. IN PTR fw.fqdn.com.
62.1.168.192.in-addr.arpa. IN PTR …Run Code Online (Sandbox Code Playgroud) 这个问题与要求 DNS 服务器响应未知域请求的 RFC非常相似,但我认为我应该将其作为一个新问题提出。
似乎权威 DNS 服务器的标准做法是使用 rcode 响应REFUSED对该服务器不具有权威性的域名的任何查询。例如:
$ dig @ns1.google.com yahoo.com A | grep status
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 53533
Run Code Online (Sandbox Code Playgroud)
有一些替代行为在这里可能有意义,先验地:
NXDOMAIN响应NOERROR响应(这很愚蠢,但我提到它是为了完整性)是否有 RFC 或类似的文件说“REFUSED在这种情况下你应该返回”?
我希望在RFC 1034 部分 4.3.1 和 4.3.2 中看到一些关于这种情况的讨论,但我没有。
我正在运行一个权威服务器,在 BIND 9.11.3 上为不在我网络中的主机禁用递归。当从我网络外的主机查询不在服务器权限下的域时,我没有得到答案,并且在权限部分得到了根服务器列表。我明白为什么会发生这种情况,我想知道是否可以完全禁用权限部分。当递归不可用时,是否有类似于最小响应的选项不会返回任何权限数据?
示例挖掘:
; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> @NS google.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6847
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 5ed7760df1d65f05baba487c5b75a318b3065456b81ca133 (good)
;; QUESTION SECTION:
;google.com. IN A
;; AUTHORITY SECTION:
. 518400 IN NS D.ROOT-SERVERS.NET. …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 dnsmasq 设置为 consul 的本地缓存。虽然这对于正常挖掘似乎工作正常,但 dnsmasq 似乎只允许部分区域传输。
我的resolv.conf:
search x.domain.com y.domain.com z.domain.com domain.com
nameserver 127.0.0.1
nameserver 10.0.0.1
nameserver 10.0.0.2
nameserver 10.0.0.3
options timeout: 2 attempts: 3
Run Code Online (Sandbox Code Playgroud)
我的 dnsmasq 设置只是设置为将请求转发.consul到同一台机器上的端口 3000,这是我的领事 dns 端口。否则,我使用 dnsmasq 默认值(将请求转发到 resolv.conf 中的其他 dns)。
server=/consul/127.0.0.1#3000
Run Code Online (Sandbox Code Playgroud)
这适用于普通挖掘并从服务器本地主机返回结果,例如。dig consul.service.consul +short将返回:
10.22.1.15
10.22.1.16
10.22.1.17
Run Code Online (Sandbox Code Playgroud)
正如预期的那样。普通 DNS(转发到 BIND dns 服务器)也可以正常工作,例如。dig host.hosts.domain.com +short将返回10.22.1.23
但是,在进行区域转移时,dig axfr us1.domain.comdig 将返回大约 700 行然后挂起,总是在同一个地方。如果我包括+retry=0dig;; connection timed out; no servers could be reached在 700 行之后的底部放置一个。 …
bind ×10
dns-zone ×4
linux ×2
nameserver ×2
reverse-dns ×2
centos5 ×1
consul ×1
dns-hosting ×1
dnsmasq ×1
internal-dns ×1
logging ×1
ubuntu ×1