我有一个包含一堆同义词域的站点。该站点本身接受所有不同的域,并重定向到正确的域名。
有什么理由不这样配置zones.conf:
zone "correctdomain.com" {
type master;
file "correctdomain.zonefile";
};
zone "synonymdomain.com" {
type master;
file "correctdomain.zonefile";
};
Run Code Online (Sandbox Code Playgroud)
区域文件本身没有与域名相关的任何内容。
我正在一个干净的 Centos 6.3 系统上安装 bind。在以前的版本中,它会像魅力一样工作,但现在我明白了
生成 /etc/rndc.key
安装后尝试启动绑定时。为什么会这样,有谁知道如何解决这个问题?
谢谢!
在 Ubuntu 12.04 上,我通过apt-get install.
我以一种非常简单的方式配置服务器,它在名称解析中工作。现在我很想阅读(如果可能的话)它的缓存。
阅读rndc联机帮助页我尝试使用该rndc flush view命令,但它说
rndc: `flush` 失败: 未找到
而如果我简单地运行rndc flush它就可以了。
那么,首先,在哪里可以找到 BIND9 缓存文件?
然后,为什么会rndc flush view失败?
所以我收到了对我的一台运行 Debian 6.0 的专用服务器的滥用投诉
果然,有时会无缘无故地top显示/usr/bin/host使用大量 CPU,而 netstat 显示进程host执行了大量 HTTP 请求。
过了一会儿,我的系统日志甚至说nf_conntrack: table full, dropping packet.,我认为这与此事有关。
我已经/usr/bin/host使用 debsums验证了可执行文件,并且似乎也很好。服务器本身也是 100% 更新的。
所以我猜测有什么东西在以某种方式调用我的host可执行文件并强制它为某些 DDoS 执行 HTTP 请求。
我当然可以简单地编写一个脚本来host在发生这种情况时立即将其杀死,但我真的很想知道问题的根源。
我正在检查 Apache 日志中host是否有开始执行请求时有趣的条目,但还没有找到任何内容。
任何人都对其他事情有什么建议?我怎样才能看到谁和什么叫做“主机”?谷歌/usr/bin/host根本没有显示任何被滥用的例子!
我在 Bind 的主从配置中偶然发现了一个奇怪的错误。
该区域在主站上运行良好,但在从站上我收到了这些错误:
21-May-2014 19:06:07.573 general: info: zone example.com/IN: refresh: failure trying master 1.2.3.4#53 (source 0.0.0.0#0): unexpected end of input
Run Code Online (Sandbox Code Playgroud)
这是我的绑定文件的样子:
@ IN SOA ns1.example.com. admin.example.com. (
2014052116 ; Serial
28800 ; Refresh
180 ; Retry
604800 ; Expire
21600 ) ; Minimum
86400 IN A 1.2.3.4
86400 IN MX 10 mail.example.com.
86400 IN MX 20 mail2.example.com.
86400 IN NS ns1.example.com.
86400 IN NS ns2.example.com.
86400 IN NS ns3.example.com.
86400 IN NS ns1.example.net.
86400 IN NS ns2.example.net.
86400 IN …Run Code Online (Sandbox Code Playgroud) 这是我的反向 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
abuse ×1
apt ×1
centos ×1
centos6 ×1
consul ×1
ddos ×1
dnsmasq ×1
internal-dns ×1
linux ×1
reverse-dns ×1
rndc ×1
ubuntu ×1
ubuntu-12.04 ×1