标签: bind

BIND - 连接超时;无法访问任何服务器

我刚刚从 Debian 5 升级到 6,我注意到 bind 停止工作。尝试从外部查询域时,出现“连接超时;无法访问服务器”错误。从本地主机查询会给出正确的响应。可能是什么原因?

bind

7
推荐指数
1
解决办法
2万
查看次数

辅助域名服务器不断尝试转移域并且每次都成功

我们在 Debian 的稳定版本(每周更新)上使用 BIND 9.7.3,我们看到某个特定域的一些非常奇怪的行为。我们主持了几百人,但这是我们的。

基本上,辅助 DNS 服务器正在尝试从主服务器传输域。根据日志,每次都可以成功转移域名,但总是把序列号弄错!因此,它会抓住每一个机会不断地重新进行传输。我什至不确定它从哪里获取序列号,因为主服务器会返回正确的序列号。

这是我们从辅助服务器获得的日志(IP 192.168.0.130 是主服务器,192.168.0.4 是辅助服务器。当然,它们不是真实的。):

Aug 23 03:01:08 ns2 named[4242]: transfer of 'mydomain.ca/IN/external' from 192.168.0.130#53: connected using 192.168.0.4#60959
Aug 23 03:01:08 ns2 named[4242]: transfer of 'mydomain.ca/IN/external' from 192.168.0.130#53: Transfer completed: 0 messages, 1 records, 0 bytes, 0.001 secs (0 bytes/sec)
Run Code Online (Sandbox Code Playgroud)

这看起来很正常,虽然两台主机都设置了 IPv6 地址并且从技术上讲他们应该使用它们,但这是另一天的问题(我认为)。

所以让我们从辅助服务器查询主服务器,看看它说了什么:

$ host -4 -t any mydomain.ca 192.168.0.130
Using domain server:
Name: 192.168.0.130
Address: 192.168.0.130#53
Aliases: 

mydomain.ca has IPv6 address fc00:::31
mydomain.ca has SOA record ns1.mydomain.bc.ca. hostmaster.mydomain.ca. 2011082201 …
Run Code Online (Sandbox Code Playgroud)

domain-name-system bind

7
推荐指数
1
解决办法
798
查看次数

使用数据库后端和 DLZ 支持配置 BIND

决定将我基于 Windows 的 DNS 服务器移至 linux。问题是我需要能够动态更新区域文件而不必重新启动绑定。似乎最流行的解决方案是为数据库服务器( postgresql、sqlite、mysql)安装绑定驱动程序,然后更新区域文件。看起来很简单,但我无法让它为我的生活工作。

我目前正在使用 Amazon Linux 发行版,但我也尝试了 RHEL 6.2 中的所有内容,但都没有成功。

我尝试了几种不同的方法。第一个是使用源代码更改来编译绑定以支持 mysql 支持http://pbraun.nethence.com/doc/net/bind-mysql.html。这与更改一起编译得很好,我没有收到任何错误,但是在运行make install所有二进制文件后被复制到 /usr/local/sbin 但我似乎无法启动我运行的守护进程service named start,它只是告诉我没有名为(没有双关语意)。其次,没有生成任何配置文件。所以我创建了一个名为.conf 的文件并将其放入 /etc/named.conf 然后运行/usr/local/sbin/named-checkconf它告诉我它找不到文件 /etc/named.conf 所以我不知道。

接下来我尝试安装包 bind-sdb 并使用 postgresql。安装的软件包 yum -qy bind bind-sdb bind-utils postgresql postgresql-server 按照http://bind-dlz.sourceforge.net/postgresql_example.html上的步骤我创建了一个新的 postgre 数据库和表等。下面是我当前的 named.conf

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost …
Run Code Online (Sandbox Code Playgroud)

postgresql domain-name-system bind amazon-ec2 amazon-web-services

7
推荐指数
2
解决办法
3万
查看次数

BIND9:组合密钥和 ACL 以实现允许更新

我已经设置了 BIND 9 服务器并配置了加密密钥,以便允许来自客户端的更新。现在在我的 中named.conf,我设置了以下内容:

allow-update { key dns1.example.org.; };
Run Code Online (Sandbox Code Playgroud)

这有效,我可以从我的客户端(nsupdate命令)执行更新(添加、删除区域记录)。

我想知道我是否可以将它与 ACL 结合使用。基本上我希望客户端需要正确的密钥,但也必须来自某个子网或 IP 地址。我能以某种方式做到这一点吗?我未能在文档中找到有关该场景的任何信息。

linux bind

7
推荐指数
2
解决办法
6972
查看次数

来自中国的大量 dns 请求,我应该担心吗?

我打开了 dns 查询日志,当运行“tail -f /var/log/syslog”时,我看到我从一个 IP 地址收到数百个相同的请求:

Apr  7 12:36:13 server17 named[26294]: client 121.12.173.191#10856: query: mydomain.de IN ANY +
Apr  7 12:36:13 server17 named[26294]: client 121.12.173.191#44334: query: mydomain.de IN ANY +
Apr  7 12:36:13 server17 named[26294]: client 121.12.173.191#15268: query: mydomain.de IN ANY +
Apr  7 12:36:13 server17 named[26294]: client 121.12.173.191#59597: query: mydomain.de IN ANY +
Run Code Online (Sandbox Code Playgroud)

频率约为每秒 5 - 10 个请求,持续约一分钟。之后,从不同的 IP 地址重复相同的效果。我现在已经在短短几个小时内记录了来自大约 25 个 IP 地址的大约 10000 个请求,根据“whois [ipaddr]”,所有请求都来自中国。

这里发生了什么?我的名称服务器是否受到攻击?我可以做些什么吗?

domain-name-system bind ddos

7
推荐指数
2
解决办法
5094
查看次数

DNSSEC KSK/ZSK 可接受的密钥长度是多少?

我的任务是研究在我们的名称服务器上实施 DNSSEC。虽然这方面的技术方面(生成密钥、标志区域、准备翻转)相对简单,但我遇到了后勤问题。

从我一直在阅读的文档来看,1024 位对于区域签名密钥来说是一个很好的大小,正确的程序是每个区域一个 ZSK,大约一个月的滚动

然而,在一台具有良好熵的相当快的计算机上最多需要 10 分钟来生成一个 1024 位的密钥......而我为超过三千个区域的主机工作的 ISP。除非我以某种方式使流程从头到尾自动化,否则这是行不通的——即使我这样做了,到流程完成时,几乎是开始 NEXT 翻转的时候了。

简而言之,这是不可行的。现在,我将 DNSSEC 限制为明确要求的客户,但这充其量只是权宜之计。

我的问题:

  • 我的密钥长度是否太过分了?
  • 如何加快密钥生成过程?
  • 我应该为每个区域以及 ZSK 创建单独的密钥签名密钥吗?

编辑:添加了我用来生成密钥的确切命令:

caleburn: ~/Projects/Systemec/DNS-magic/DNSSEC/keys/ >time dnssec-keygen -r/dev/random -a RSASHA256 -f KSK -b 1280 -n ZONE example.com 
Generating key pair.............................+++++ ...+++++ 
Kexample.com.+008+10282

real    9m46.094s
user    0m0.092s
sys 0m0.140s

caleburn: ~/Projects/Systemec/DNS-magic/DNSSEC/keys/ >time dnssec-keygen -r/dev/random -a RSASHA256  -b 1280 -n ZONE example.com 
Generating key pair.........................+++++ .........+++++ 
Kexample.com.+008+22173

real    12m47.739s
user    0m0.124s
sys 0m0.076s
Run Code Online (Sandbox Code Playgroud)

domain-name-system bind dnssec

7
推荐指数
1
解决办法
2332
查看次数

BIND 9 有没有办法在终止并在启动时重新加载它之前自动将其缓存转储到文件中

我在本地机器上设置并运行 BIND 9 以在本地回答 DNS 查询。我知道这没有必要;我的路由器有一个内置的名称服务器。但我这样做是为了学习。

现在我需要 BIND 在终止之前转储它的缓存(例如,关闭机器),然后在启动时自动从同一文件重新加载它。有没有办法做到这一点。我知道

rndc dumpdb
Run Code Online (Sandbox Code Playgroud)

可以做第一个技巧(虽然,手动)。那么如何配置 BIND 以自动执行这两项工作以提高性能,这样我就不会在重新启动后不必要地丢失所有缓存?

networking domain-name-system linux bind

7
推荐指数
1
解决办法
219
查看次数

将 BIND9 设置为 DNS 防火墙

由于 OpenDNS 现在需要一个在 pro 包中才能打开过滤功能,预算紧张,我们需要免费的 DNS 过滤。

阅读有关如何使用 bind 阻止域的链接后,我将 SquidGuard 黑名单和我需要的类别中的连接域收集到一个大列表中。然后我将它输入到这个 python 脚本中,生成一个包含大约 200 万个区域的文件。

named-checkconf 可以很好地解析它,但是重新加载 named 需要将近 10 分钟,然后它不会解决任何问题,并且服务器会减慢速度以进行爬行。删除包含导致命名再次正常工作。

将 BIND9 设置为有效地用作 DNS 防火墙的正确方法是什么?如果还可以阻止任何解析为可以解决整个问题的特定 IP 地址的域。

我以非权威身份运行绑定,只是一个缓存服务器。

domain-name-system bind dns-firewall rpz

6
推荐指数
1
解决办法
5904
查看次数

绑定无法查询某些服务器/域

在尝试仅解析某些域时,我们公司的 DNS 服务器遇到了问题,我们在 CentOS 6.5 服务器上运行 BIND 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6。我们对某些区域具有自治权,我们的内部客户端和邮件系统使用此服务器进行解析。我们无法解析的域之一是 www.dhl.com,这是我们在使用 dig 查询时得到的结果:

[root@serverx etc] dig www.dhl.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> www.dhl.com
;; global options: +cmd
;; connection timed out; no servers could be reached
Run Code Online (Sandbox Code Playgroud)

[root@serverx etc]# dig +trace www.dhl.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> +trace www.dhl.com
;; global options: +cmd
.           517419  IN  NS  g.root-servers.net.
.           517419  IN  NS  a.root-servers.net.
.           517419  IN  NS  h.root-servers.net.
.           517419  IN  NS  m.root-servers.net.
.           517419  IN  NS  f.root-servers.net.
.           517419  IN  NS …
Run Code Online (Sandbox Code Playgroud)

bind dig

6
推荐指数
1
解决办法
8095
查看次数

BIND 的 ANAME / ALIAS 记录

我使用 BIND 为大约 15,000 个域名操作一些 DNS 服务器。一些客户希望开始使用全站点内容交付 CDN,对此的要求是支持使用 ANAME / ALIAS DNS 记录,现在几家大型 DNS 提供商都支持这些记录。

有没有办法在 BIND 之上实现这些记录类型,或者您能否就如何引入此类功能提出建议?

domain-name-system bind alias

6
推荐指数
1
解决办法
9085
查看次数