标签: bind

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

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

bind

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

如何配置 bind9 以接受来自其他机器的连接

我确信以前有人以某种形式询问过这个问题,但我对 DNS 完全陌生并且对 Linux 缺乏经验,所以请耐心等待:)

我有一个来自 OVH 托管的 VPS,我设法对其进行了配置以满足我的需求,但我似乎无法让 DNS 服务器正常工作。根据我在网上找到的故障排除页面,绑定被配置为不接受来自外部的连接,但我不知道如何更改它。

telnet localhost 53 在服务器上工作

telnet myserver.com 53 在我的本地机器上说 telnet: Unable to connect to remote host: Connection refused

netstat -Wa 返回以下内容

tcp        0      0 *:imaps                 *:*                     LISTEN
tcp        0      0 *:pop3s                 *:*                     LISTEN
tcp        0      0 localhost.localdomain:10024 *:*                     LISTEN
tcp        0      0 *:rsync                 *:*                     LISTEN
tcp        0      0 localhost.localdomain:10025 *:*                     LISTEN
tcp        0      0 localhost.localdomain:mysql *:*                     LISTEN
tcp        0      0 localhost.localdomain:813 *:*                     LISTEN
tcp        0      0 *:pop3                  *:*                     LISTEN
tcp …
Run Code Online (Sandbox Code Playgroud)

domain-name-system debian bind debian-lenny

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

绑定 HTTP“API”

首先,我有点拘泥于 n00b,所以如果我说一些没有意义的事情,请忽略它们 =)

是否有任何软件可以允许“API”之类的命令用于在 BIND 上创建、更新、删除等区域和记录?
我有两个 DNS 服务器在 EC2 上运行,我希望能够从另一个应用程序轻松管理它们上的域。我知道像 CPanel 这样的东西有一个 HTTP API 和与 BIND 的接口,但这对于我需要的东西来说可能有点过分了。我不介意安装 Apache/PHP/Mysql/Python/Rails/无论其他需要让它工作但所有服务器都会做的是 DNS

编辑: 或者让 BIND 使用 MySQL 来存储它的配置,然后我可以编写一个简单的 PHP 脚本来执行“API”位

mysql domain-name-system bind

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

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

我们在 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
查看次数

NAT 背后的 DNS 服务器

我有一个 Bind 9 DNS 服务器位于 NAT 防火墙后面,假设面向 Internet 的 IP 是 1.2.3.4

对传出流量没有限制,端口 53 (TCP/UDP) 从 1.2.3.4 转发到内部 DNS 服务器 (10.0.0.1)。VPS 或内部 Bind 9 服务器上没有 IP 表规则。

从位于互联网其他地方的远程 Linux VPS,nslookup 工作正常

# nslookup foo.example.com 1.2.3.4
Server:    1.2.3.4
Address:   1.2.3.4#53

Name:      foo.example.com
Addresss:  9.9.9.9
Run Code Online (Sandbox Code Playgroud)

但是,在host远程 VPS 上使用该命令时,我收到以下输出:

# host foo.example.com 1.2.3.4
;; reply from unexpected source: 1.2.3.4#13731, expected 1.2.3.4#53
;; reply from unexpected source: 1.2.3.4#13731, expected 1.2.3.4#53
;; connection timed out; no servers could be reached.
Run Code Online (Sandbox Code Playgroud)

从 VPS,我可以建立到 1.2.3.4:53 …

domain-name-system nat bind port-forwarding ubuntu-12.04

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

如何使用bind解决security_ops_task_setrlimit()产生的调用跟踪

我有一台安装了 CentOS 5.9 和 VMware 的机器。

目前我正在使用 BIND 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.6(默认随发行版一起提供)。

当我重新启动机器时,我可以在命名服务启动时在屏幕上看到此消息:

Starting named: You need to implement a remote task_setrlimit in your security module and call it directly from this functionWARNING: at security/security.c:51 security_ops_task_setrlimit()

Call Trace:
[<ffffffff8012eeeb>] security_ops_task_setrlimit+0x87/0x96
[<ffffffff8009dc0a>] do_prlimit+0xd7/0x1d2
[<ffffffff8009ed53>] sys_setrlimit+0x36/0x43
[<ffffffff8005d29e>] tracesys+0xd5/0xdf
Run Code Online (Sandbox Code Playgroud)

这个错误似乎对绑定没有影响,服务工作正常,但我知道是什么产生了警告错误以及如何解决它。

security domain-name-system redhat bind centos

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

为什么通配符不起作用?

我的绑定配置

carrie     IN A     192.253.253.4
*.carrie   IN A     192.253.253.6
*.test.carrie IN A  192.253.253.7
Run Code Online (Sandbox Code Playgroud)

执行

nslookup  carrie 
Address: 192.253.253.4

nslookup a.test.carrie
Address: 192.253.253.7
Run Code Online (Sandbox Code Playgroud)

但是当我执行 nslookup test.carrie

*** Can't find test.carrie: No answer
Run Code Online (Sandbox Code Playgroud)

domain-name-system bind wildcard

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

BIND 从站在重新启动之前不会与主站同步

我有两台运行 BIND9 的 DNS 服务器,一台主机和一台从机。当主服务器上的区域文件更新时,我希望从服务器立即开始为更改的记录提供服务,但 BIND 给了我一些建议。

DNS 区域传输已经在 master 和 slave 之间正常工作。我可以登录从服务器并运行dig @dnsmaster myzone. AXFR,它会打印出该区域的全部内容。为了使其工作,DNS 主机配置了notify yesalso-notify { dnsslave }。同样,从站配置为allow-transfer { dnsmaster }.

当 dnsmaster 更新时,我运行rndc reload并告诉我正在发送通知。通过检查/var/named/slavedata/. 它们包含最新的数据,与主人知道的相匹配。


现在是奇怪的部分。

从服务器将继续提供旧的、陈旧的 DNS 记录,完全忽略在收到主服务器通知后磁盘上有新数据可用的事实。我使用dig的检查与此命令的结果:dig @slaveserver record.zone.tld

我认为 BIND 可能会保留其权威区域的内存缓存,因此我将max-cache-size和设置max-cache-ttl为 0,但这没有任何效果。

我尝试了其他方法来刷新这个所谓的缓存,通过在从服务器上运行类似rndc flush和 的命令rndc reload,但它仍然返回旧的陈旧记录。

最后发现MINTTLonzone被设置为86400(24小时),所以我暂时将其MINTTL改为15秒,并重启了从服务器。无效 - 从站只会在服务重新启动后提供更新的 DNS 结果。


这里发生了什么?收到区域更新通知时 BIND9 的预期行为是什么?它总是尊重TTL …

domain-name-system bind master-slave

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

DDNS、BIND 和剩余的 .jnl 文件

我已将 BIND 和 ISC DHCPD 配置为协同工作(使用密钥进行更新)。现在并不是它根本不起作用:最常添加前向地图等。

但是,通常情况下,区域的 .jnl 文件(日志)无缘无故地留在那里,并且主区域文件没有更新。这导致在获取 DHCP 租约后某些主机无法解析令人气愤(如果这些主机最初不在区域文件中,或者导致旧地址)。

权限如下所示:

-rw-r--r--   1 bind bind  691 Dec 10 11:06 myzone.zone
-rw-r--r--   1 bind bind  765 Dec 10 12:17 myzone.zone.jnl
Run Code Online (Sandbox Code Playgroud)

不应该是权限问题,因为该区域确实(经常)通过 DHCP/DDNS 更新?

这个问题的根源是什么?

操作系统:debian 7.2 x64,稳定版绑定和 isc-dhcp 服务器。

linux debian bind ddns dhcpd

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

BIND 可以根据请求的 IP 地址更改响应吗?

你好服务器故障

我在一家使用 192.168.0.0/23(在我到达之前)建立网络的医院工作。我们希望使用 VPN 从远程位置连接笔记本电脑和移动客户端,但医院网络与大多数家用路由器的冲突非常严重。我已经向管理层施压,让我们有时间改变它,但作为一家到处都是服务器/设备/等的医院,这是不可能安排的。所以我们通过使用 10.22.0.0/23 的 1:1 nat 来“修复”这个问题。

问题:客户端可以毫无问题地使用 10.22.0.0/23 IP 连接和访问资源,但如果他们查询 DNS 服务器,他们会收到 192.168.0.0/23 响应。如果查询来自 VPN 子网,BIND 中是否有正确的方法将这些动态转换为 10.22.0.0/23 地址?强调正确,因为我在 cron 中使用以下内容通过 BIND 视图工作:

sed -e 's/192.168.0./10.22.0./' -e 's/192.168.1./10.22.1./' /var/lib/bind/db.company.local > /var/lib/bind/db.company.local.ext && /usr/sbin/rndc reload company.local in extView
Run Code Online (Sandbox Code Playgroud)

这很好用,但由于 BIND 日志需要大约 15 分钟写回 db.company.local 文件,因此延迟了 15 到 20 分钟。

我已经阅读了一些关于 RPZ 的内容,但信息似乎参差不齐。任何人都可以指出我正确的方向吗?如果没有,你能让我的解决方案更优雅吗?

编辑:我只想说清楚我已经在使用 BIND 视图,但我正在使用两个区域。我正在从第一个区域生成我的第二个区域,通过 sed 发送它以更改 IP,并在该视图中对该区域执行 rndc 重新加载。这有很大的延迟,有没有办法在两个视图中使用相同的区域文件,并在查询时更改 DNS 响应?

谢谢!

domain-name-system vpn bind

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