Bind

📮 返回服务页

1. 安装

检查

检查系统是否已经安装服务:

rpm -qa | grep -i bind

安装

安装服务

yum install -y bind

2. 配置

文件

name. conf

修改配置文件:

vi/vim /etc/named.conf

options(该部分包含DNS服务器的一般选项设置)

指定DNS服务器监听的端口,{}中为允许连接到该端口的IP地址
listen-on port 53 { 127.0.0.1; } => { any; };

存储DNS服务器相关数据文件的目录路径
directory         "/var/named";

DNS服务器在关闭时将缓存内容写入的文件路径。文件常用于调试和故障排除。
dump-file        "/var/named/data/cache_dump.db";

DNS服务器的统计信息输出文件路径。用于记录DNS服务器的运行统计数据。
statistics-file      "/var/named/data/named_stats.txt";

DNS服务器的内存使用统计输出文件路径。用于记录DNS服务器的内存使用情况。
memstatistics-file  "/var/named/data/named_mem_stats.txt";

DNS服务器递归查询的记录文件路径。
recursing-file  "/var/named/data/named.recursing";

DNS服务器的安全根文件路径。
secroots-file  "/var/named/data/named.secroots";

允许查询的IP地址范围。
allow-query { localhost; } => { any; };


定位正向查询(将域名解析为IP,在配置文件中添加)

zone “[区域名称]” IN 
{
	type master;    
	file “[区域名称].zone”;  
	allow-update { none; }; 
};

定义反向查询(将IP解析为域名,在配置文件中添加)

zone “[IP前三位,倒序输入].in-addr.arpa” IN 
{
	type master;
	file “[区域名称].arpa”;
	allow-update { none; };
};

反向查询主要用于安全审计、网络管理和验证IP归属等方面。

排错

检测是否有语法错误:named-checkconf /etc/named.conf

正反解析

服务相关文件存储目录:/var/named

前往目录:

cd /var/named

创建解析文件:

cp -p named.empty 【正解文件名】
cp -p named.empty 【反解文件名】

配置解析文件:

vi/vim 【正解文件名】
vi/vim 【反解文件名】

加入解析信息(正向):

@ rname.invalid. => [区域名称].  root.[区域名称].   
       
 NS      @
 A       127.0.0.1    => @  IN NS dns.[区域名称].
AAAA     ::1

@       IN   NS       dns.[区域名称].  //指定域名的DNS服务器为dns.[区域名称]
[子域名]  IN  [解析方式]  [解析的IP地址]

root.[区域名称]. 指定负责该域名 DNS 服务器的邮箱地址,root 是指定了域名管理员(根管理员),[区域名称]是该管理员的邮箱地址的域名部分。

加入解析信息(反向):

@ rname.invalid. => [区域名称].  root.[区域名称].   

NS      @
A       127.0.0.1    => @  IN NS dns.[区域名称].
AAAA    ::1

@(名字)			  IN   NS         dns.[区域名称].

[解析的IP地址末尾的数]  IN  PTR    [主机名].[区域名称].

本机 DNS 服务器地址:

vim /etc/resolv.conf 
nameserver [DNS服务器IP]

跳转:配置文件介绍

3. 启动

端口

启动之前先查看端口是否占用:

netstat -aunpt | grep 【端口号】

防火墙

开放服务:

firewall-cmd --zone=public --add-service=dns --permanent
firewall-cmd --reload

关闭安全子系统:

vi /etc/sysconfig/selinux => SELINUX=disabled
or
vi /etc/selinux/config => SELINUX=disabled
setenforce 0

注:此命令将 selinux 设置成 permissive 模式,即临时关闭

启动

启动:

systemctl start named		#启动服务
systemctl enable named		#开机自启动服务

如更新配置文件,需重启服务:

systemctl restart named

4. 工具

Linux 测试域名的工具:

yum install -y bind-utils		//nslookup

5. 查错

出现以下问题,就是配置文件named.conf出错:

error

Job for named.service failed because the control process exited with error code. See "systemctl status named.service" and "journalctl -xe" for details.

如果named-checkconf没有显示错误仍报错,将named.conf域名改了再重启服务,在将域名改回去即可