标签: bind

绑定 DNS 递归慢

我们刚刚使用 Bind 9.10 的最新稳定版本设置了递归 DNS 服务器

我们发现递归 DNS 查找非常慢。1 - 3 秒之间的任何时间。一旦在缓存中查找,DNS 就会按预期在几毫秒内解析。

我们正在使用 ROOT 提示进行递归查找,这似乎是缓慢的来源。如果我们配置转发器,DNS 解析将归结为 100 - 300 毫秒的合理递归时间。

对于我们正在设置的服务,我不想依赖转发器,我更喜欢使用 root 提示。

这是来自我们的named.conf文件的主要配置。任何有助于提高性能的指针都会很棒。

options{
allow-recursion  { any; };
allow-query-cache  { any; };
allow-query  { any; };

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

dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;

zone-statistics yes;
max-cache-ttl 3600;
max-ncache-ttl 3600;

/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";

directory  "/var/named";
dump-file  "/var/named/data/cache_dump.db";
statistics-file …
Run Code Online (Sandbox Code Playgroud)

domain-name-system performance bind slow-connection recursive

9
推荐指数
1
解决办法
9061
查看次数

绑定,强制在从属设备上更新区域

我有两个测试服务器主从:

主人正在更新奴隶,但速度很慢。如何加快速度。

大师 (192.168.0.122) /etc/named.conf

zone "domain.com." {
    type master;
    file "caching-example/domain.com.db";
    //allow-update { key rndc-key;};
    notify yes;
    also-notify    { 192.168.0.66; };
    allow-transfer { 192.168.0.66; };
};
Run Code Online (Sandbox Code Playgroud)

从 (192.168.0.66) /etc/named.conf

zone "domain.com" {
    type slave;
    file "caching-example/domain.com.db";
    //allow-update { key rndc-key; };
    //allow-transfer { none; };
    allow-notify { 192.168.0.122; };
    masters      { 192.168.0.122; };
}
Run Code Online (Sandbox Code Playgroud)

主 /var/named/caching-example/domain.com.db 区域

$TTL    3600
$ORIGIN domain.com.
@       IN      SOA     darkstar.example.net.    root.example.net. (
                 2012033101         ; Serial
                       3600         ; Refresh
                       1800         ; Retry
                     604800         ; Expire …
Run Code Online (Sandbox Code Playgroud)

bind

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

DNS 服务器上的域列表?

有没有办法在我的 BIND DNS 服务器上获取 A 和 CNAME 记录的完整列表?

我可以访问区域文件。但是在我的服务器上有很多区域文件,手动浏览所有这些文件需要很长时间。是否有列出此信息的命令,还是我必须自己编写脚本?

domain-name-system bind

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

管理 BIND 的最佳网络界面是什么?

我设置了托管我们域的 BIND DNS,我也将它用于内部 DNS。我为内部和外部主机设置了不同的视图,它工作正常。我的问题是哪个是管理 BIND 服务器的最佳网络界面,它允许我使用 named.config 中的视图?我尝试过 MyDNS、SMBIND 和 ProBIND,但似乎没有一个完全符合我的要求。

domain-name-system bind

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

根据询问者返回不同的 DNS 记录

BIND 9( named) 中,有没有办法A根据提问者的IP地址返回不同的记录?

当收到对某个DNS名称的查询时,我想返回IP从外部世界收到的查询的外部地址,以及IP从内部子网收到的查询的内部地址。

更新

视图似乎工作正常,但300区域文件中有关于记录。

如果我只想以DNS不同的方式返回单个记录,是否应该复制整个文件(并从现在开始管理两个文件)?

domain-name-system bind

8
推荐指数
1
解决办法
2021
查看次数

什么时候应该使用 .local?

所以,我在我的时间设置了一些 Win Servs,并且当有一个路由器将我的内部网络与外部网络分开时,我总是做 .local 事情。现在我是第一次设置 *nix 框,这个概念仍然适用吗?我是否仍然希望我的 FQDN ( /etc/hostname) 为我的网络内的所有机器(混合:linux 服务器、win 工作站)显示 .local 或 .com。

这个问题是在每一步都让 Active Directory 牵着我的手的背景下出现的,现在我正在手动设置 DNS 机器。

domain-name-system linux ubuntu bind

8
推荐指数
1
解决办法
4224
查看次数

对视图之间共享的 BIND 动态区域的更新延迟

这是快速而肮脏的:在具有在视图之间共享的动态区域的 BIND9 上,如果我从落入与 nsupdate 相同视图的客户端查询该记录,则执行 nsupdate、更新/创建/删除记录将正常工作从。

从一种观点认为,查询是不一样的使用的nsupdate将抛出NXDOMAIN(如果将一个新的记录),或将显示在改变/更新直到某个时间任意长度的情况下,旧的记录信息的一个我(说15分钟)过去了,或者我强行做$ rndc freeze && rndc thaw$ rndc sync似乎根本没有做任何事情来解决这个问题——我希望这只是一个日志文件的事情,因为日志刷新被记录为刷新大约 15 分钟。

如果这还不清楚,这里有一些伪代码让我们开始:

绑定视图

view "cdn-redir" {
   match-clients { 10.1.1.0/24; 10.1.2.0/24; };
   include "cdn-zone.db";
   include "dynamic-zone.db";
};

view "default" {
   match-clients { any; };
   include "dynamic-zone.db";
};
Run Code Online (Sandbox Code Playgroud)

示例命令行

user@ns:~$ nsupdate -k rndc.key
> server localhost
> zone example.com.
> update add foohost.example.com. 600 A 10.5.6.7
> send
> quit

user@ns:~$ dig foohost.example.com (resolv.conf points to 127.0.0.1)
  [ responds …
Run Code Online (Sandbox Code Playgroud)

bind dynamic-dns split-dns

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

/usr/bin/host 由被黑的 PHP 脚本执行

今天我注意到 Apache 网络服务器上异常高的请求率以及相当高的传入网络流量。在检查 Apache 的 mod_status 页面后,我发现有问题的 URL 来自 path www.server.com/www/wp-includes/js/tinymce/plugins/wpautoresize/。事实上,我在那里发现了几个被黑(混淆)的 PHP 脚本。

还注意到 www-data 用户执行的奇怪过程:

www-data  7300 10.8  0.1 2122900 18768 ?       Ssl  Jul11 121:47 /usr/bin/host
Run Code Online (Sandbox Code Playgroud)

检查/proc/7300/cmdline发现这确实是原始/usr/bin/host二进制文件。netstat -anp显示它打开了许多 HTTP 连接,因此该二进制文件以某种方式被滥用。debsums确认二进制校验和没有问题。由于该过程是在 www-data 用户下运行的,我没有理由相信服务器本身受到了威胁。

这个二进制文件是如何被滥用的?

编辑:这不是广泛的“如何处理受损服务器”问题。而是关于一种特定类型的滥用的问题(并且已经是一个答案),它在技术上是如何完成的,因为这个特殊案例在它的工作方式上非常有创意。似乎这已经流行了好几年了(旧线程和 2012 年的问题),我本周遇到了它。

php bind abuse

8
推荐指数
1
解决办法
4774
查看次数

bind9 不能正确解析 dnssec

我的 dns 服务器设置有问题。我的绑定服务器主要是一个缓存服务器,但也为一些内部域提供服务。它只在我的专用网络上侦听,并且只提供来自那里的请求。

今天我想启用绑定来验证 DNSSEC 但不知何故它没有正确执行。如果我在绑定 linux 机器上解析主机名,那么无效的 DNSSEC 就会完美地显示出来。但是,如果我尝试在网络中的另一台机器上再次使用相同的 dig 命令解析相同的域,DNSSEC 检查不会失败并且域得到很好的解析。我想要它做的是将正确的 SERVFAIL 发送到网络中的其他 DNS 客户端。

以下是您可能需要的所有信息(绑定版本、配置等)。我将附加我在最后所做的挖掘。

操作系统版本

root@thor:/etc/bind# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 8.5 (jessie)
Release:        8.5
Codename:       jessie

root@thor:/etc/bind# uname -a
Linux thor.home.intranet 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

绑定版本

BIND 9.9.5-9+deb8u6-Debian (Extended Support Version)
Run Code Online (Sandbox Code Playgroud)

命名文件

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
Run Code Online (Sandbox Code Playgroud)

命名.conf.options

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

        forwarders {
                208.67.222.222; # resolver1.opendns.com
                208.67.220.220; # resolver2.opendns.com
#               8.8.8.8; …
Run Code Online (Sandbox Code Playgroud)

domain-name-system bind cache dnssec

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

如何从域中删除 DNSSEC 支持?

组织为其域提供 DNSSEC 支持。他们有一个 BIND9 作为运行的权威名称服务器,它也管理密钥。但是决定删除 DNSSEC。删除其中的密钥材料/var/lib/bind/pri并重新启动服务器是否就足够了,或者是否应该执行一些步骤来删除它?

debian bind dnssec

8
推荐指数
1
解决办法
6375
查看次数