bind9安装

bind9安装修改文件

大家好,欢迎来到IT知识分享网。

1. 安装

apt install bind9

2. 配置bind9

2.1 配置bind9工作模式

vi /etc/bind/named.conf.options
  • directory: 定义区域文件的存放目录。
  • listen-on: 定义BIND监听的IP地址。可以使用any监听所有地址或使用特定IP地址。
  • allow-query: 定义允许查询BIND服务的客户端IP地址或网段。同样可以使用any允许所有客户端查询。
  • recursion: 定义是否允许递归查询。通常设置为yes以提供递归解析服务。
  • forward: 定义是否启用转发功能,以及转发到的DNS服务器地址。
root@u20svr:/etc/bind# cat /etc/bind/named.conf.options options {       directory "/var/cache/bind"; ​       // 设置监听的ip和端口       listen-on port 53 {            127.0.0.1;           any;       }; ​         // 设置允许查询的客户端范围         allow-query { any; }; ​       // If there is a firewall between you and nameservers you want       // to talk to, you may need to fix the firewall to allow multiple       // ports to talk. See http://www.kb.cert.org/vuls/id/ ​       // If your ISP provided one or more IP addresses for stable       // nameservers, you probably want to use them as forwarders.       // Uncomment the following block, and insert the addresses replacing       // the all-0's placeholder. ​       forwarders {             // 0.0.0.0;             192.168.1.1;             223.5.5.5;             8.8.8.8;       }; ​       //========================================================================       // If BIND logs error messages about the root key being expired,       // you will need to update your keys. See https://www.isc.org/bind-keys       //========================================================================       dnssec-validation auto; ​       auth-nxdomain no; // 对于 NXDOMAIN 响应使用标准的域名未找到响应 ​       listen-on-v6 { any; }; };

2.2 自定义域名解析

修改文件。

mkdir /etc/bind/zones vi /etc/bind/named.conf.local

修改之后,

root@u20svr:/etc/bind# cat /etc/bind/named.conf.local // // Do any local configuration here // ​ // Consider adding the 1918 zones here, if they are not used in your // organization //include "/etc/bind/zones.rfc1918"; ​ 域名--》ip zone "wll.com" {       type master;       /// xx.wll.com -->ip-x映射       file "/etc/bind/zones/db.wll.com"; ;区域文件 }; ​ ​ ip--> 域名 zone "10.x.in-addr.arpa"{       type master;       file "/etc/bind/zones/db.10.x"; ;区域文件 };
2.2.1 参数

zone语句块用于定义一个DNS区域。每个区域都需要指定区域名称和区域类型(如主区域、从区域等)。常见的参数包括:

  • name: 定义区域的名称,通常为域名。
  • type: 定义区域的类型,如master(主区域)、slave(从区域)等。
  • file: 定义存储区域数据的文件名。该文件应位于由options语句块中的directory选项指定的目录中。
  • allow-update: 定义允许动态更新区域数据的客户端地址或网段。

2.3 区域文件

2.3.1 域名到ip(区域文件)
cp /etc/bind/db.local /etc/bind/zones/db.wll.com vi /etc/bind/zones/db.wll.com

修改之后,

root@u20svr:/etc/bind# cat /etc/bind/zones/db.wll.com ; ; BIND data file for local loopback interface ; $TTL     @       IN     SOA     wll.com. wll.com. (                              3         ; Serial                                  ; Refresh                          86400         ; Retry                                 ; Expire                          )       ; Negative Cache TTL ; ;@     IN     NS     wll.com. @       IN     NS     pi2.wll.com. @       IN     NS     pi3.wll.com. ​ dns.wll.com.     IN     A       192.168.1.190 pi2.wll.com.     IN     A       192.168.1.190 pi3.wll.com.     IN     A       10.9.9.3 ;*     IN     A       10.9.9.3

泛解析

root@u20svr:/etc/bind# cat /etc/bind/zones/db.wll.com ; ; BIND data file for local loopback interface ; $TTL     @       IN     SOA     wll.com. wll.com. (                              3         ; Serial                                  ; Refresh                          86400         ; Retry                                 ; Expire                          )       ; Negative Cache TTL ; ;@     IN     NS     wll.com. @       IN     NS     pi2.wll.com. @       IN     NS     pi3.wll.com. ​ dns.wll.com.     IN     A       192.168.1.190 pi2.wll.com.     IN     A       192.168.1.190 pi3.wll.com.     IN     A       10.9.9.3 *     IN     A       10.9.9.3 ;泛解析

2.3.1.1 配置文件配置检查
named-checkzone wll.com /etc/bind/zones/db.wll.com

成功示例:

root@u20svr:/etc/bind# named-checkzone wll.com /etc/bind/zones/db.wll.com zone wll.com/IN: loaded serial 3 OK

2.3.1.2 参数
2.3.1.2.1 SOA记录

SOA记录:起始授权记录 Start of Authority record 宣告了namespace使用哪个nameserver的权威信息。须位于指令后第一行,是区域文件的第一个资源记录。格式如下:

@ IN SOA primary-name-server hostmaster-email ( serial-number time-to-refresh time-to-retry time-to-expire minimum-TTL )

@ 表示使用域名作为这个 SOA 的 namespace。

 primary-name-server:该域权威DNS的主名称服务器的主机名 hostmaster-email:该namespace联系人邮件 serial-number:序列号,每次此区域文件被修改后,该序列号应该增加,以此提醒域名服务要重新加载该区域了。代表着当前数据库文件的新旧, 该值越大表示当前数据库的配置越新,一般来说这个值设定的值遵循 YYYYMMMMDDDD 的格式; 这个数值必须小于 ; time-to-refresh 规定了Resource Record 的失效时间,即当前资源记录能够被缓存的时间长短,默认的单位为秒,能够设定的最大时间长度是 32 bit 的整形变量 ( 0 到  ),单位是秒;更新的频率,设置 Slave DNS 服务器 去向 主服务器 进行配置更新的周期; Retry- 失败重新尝尝试时间,如果 Slave 服务器无法对 Master 进行链接,则需要设置这个值规定多长时间进行一次重试连接; Expire - 是失效时间,如果一直失败连接,那么这个配置规定了重试连接的最大时间;

示例

@ IN SOA wll.com. wll.com. ( 2 ; Serial  ; Refresh 86400 ; Retry  ; Expire  ) ; Negative Cache TTL

2.3.1.2.2 NS记录

Name Server Records 定义了在当前 DNS服务器 中的 NS 的 IP地址,在每一个 zone file 中必须指定 主/从 域名解析器的IP地址, 使用 A 记录,这个IP地址必须与你搭建的DNS服务器保持一致;

NS记录: 名称服务器记录指定了权威名称服务器。格式如下:

IN NS nameserver-name ;nameserver-name 应该是完全域名(FQDN)。

每个区域配置文件都必须包含至少一个NS记录。

示例

@ IN NS wll.com.

示例

@ IN NS ns.domain.com.

2.3.1.2.3 A记录

Address Records 记录了 域名 与 IP 地址的对应关系;

A 记录:给名称指定解析地址。格式如下:

hostname IN A IP-address

示例

pi3.wll.com. IN AAAA 10.9.9.3 ;pi3.wll.com

示例

ns.domain.com. IN A 192.168.1.1

2.3.2 ip到域名(区域文件)
cp /etc/bind/db.127 /etc/bind/zones/db.10.x vi /etc/bind/zones/db.10.x

修改之后,


2.3.2.1 配置文件配置检查
named-checkzone wll.com /etc/bind/zones/db.10.x

失败示例

root@u20svr:/etc/bind# named-checkzone wll.com /etc/bind/zones/db.10.x zone wll.com/IN: has no NS records zone wll.com/IN: not loaded due to errors.

3. bind9生效

service bind9 restart

查看bind9工作状态

service bind9 status

示例

/etc/bind# service bind9 status ● named.service - BIND Domain Name Server Loaded: loaded (/lib/systemd/system/named.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2024-08-31 12:39:19 UTC; 3min 10s ago Docs: man:named(8) Main PID: 11742 (named) Tasks: 14 (limit: 6968) Memory: 6.8M CGroup: /system.slice/named.service └─11742 /usr/sbin/named -f -u bind Aug 31 12:39:19 u20svr named[11742]: network unreachable resolving './NS/IN': 2001:500:1::53#53 Aug 31 12:39:19 u20svr named[11742]: network unreachable resolving './NS/IN': 2001:7fd::1#53 Aug 31 12:39:19 u20svr named[11742]: network unreachable resolving './NS/IN': 2001:500:a8::e#53 Aug 31 12:39:19 u20svr named[11742]: network unreachable resolving './NS/IN': 2001:dc3::35#53 Aug 31 12:39:19 u20svr named[11742]: network unreachable resolving './NS/IN': 2001:503:ba3e::2:30#53 Aug 31 12:39:19 u20svr named[11742]: network unreachable resolving './NS/IN': 2001:500:9f::42#53 Aug 31 12:39:19 u20svr named[11742]: network unreachable resolving './NS/IN': 2001:500:12::d0d#53 Aug 31 12:39:19 u20svr named[11742]: network unreachable resolving './NS/IN': 2001:500:2::c#53 Aug 31 12:39:19 u20svr named[11742]: managed-keys-zone: Key 20326 for zone . is now trusted (acceptance timer complete) Aug 31 12:39:19 u20svr named[11742]: resolver priming query complete: success

3.1 ubuntu被占用53端口

查看当前53端口是否被占用。

netstat -ntulp |grep 53

停止systemd-resolved.service服务。

systemctl stop systemd-resolved.service systemctl disable systemd-resolved.service systemctl restart NetworkManager.service

3.2 异常处理

查看bind9错误的原因:

cat /var/log/syslog 或 service bind9 status

3.2.1 权限异常
xxx@u20svr:/etc/bind$ ll /usr/sbin/named -rwxr-xr-x 1 root root  Jul 16 18:48 /usr/sbin/named*

解决方法

chmod 777 /usr/sbin/named

修改后,如下:

xxx@u20svr:/etc/bind# ls /usr/sbin/named -ld -rwxrwxrwx 1 root root  Jul 16 18:48 /usr/sbin/named

3.2.2 端口冲突
netstat -ntulp | grep 53

3.3 本机dns不可用

测试DNS是否可用。

dig www.baidu.com

ubuntu会使用默认的配置

# cat /etc/resolv.conf nameserver 127.0.0.53 options edns0 trust-ad

修改

vi /etc/resolv.conf

修改之后

# cat /etc/resolv.conf nameserver 127.0.0.1 nameserver 127.0.0.53 options edns0 trust-ad

4. 验证测试

dig www.baidu.com dig pi3.wll.com

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/116968.html

(0)
上一篇 2025-11-24 21:20
下一篇 2025-11-24 21:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信