常用环境部署(十八)——CentOS7搭建DNS服务器

一、安装Bind服务器软件并启动

1、安装Bind服务

复制代码
yum -y install bind bind*

2、 启动服务

复制代码
systemctl start named

3、开机自启动

复制代码
systemctl enable named

二、查看named进程是否正常启动

1、检查进程

复制代码
ps -eaf|grep named

2、检查监听端口

复制代码
ss -nult|grep :53

三、关闭防火墙

1、关闭防火墙

复制代码
systemctl stop firewalld

systemctl disable firewalld

四、DNS服务器相关配置文件

1、修改主要文件/etc/named.conf

复制代码
vim /etc/named.conf	

options {
        listen-on port 53 { any; };				  			# 监听地址和端口;表明DNS服务监听的地址和53号端口,改为全局生效
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";						# 区域数据文件的默认存放位置
        dump-file       "/var/named/data/cache_dump.db";	# 用于指定缓存数据库文件的位置
        statistics-file "/var/named/data/named_stats.txt";	# 用于指定缓存状态统计文件的位置
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };				 			# 允许使用本DNS服务器的网段;允许所有主机访问
        recursion yes;		    # 表明允许本DNS服务器进行递归解析,如果配置缓存服务器,需要将查询转发到其他DNS服务器,就必须设置为yes

        dnssec-enable yes;		# 用来设置是否启用DNSSEC支持,DNS安全扩展(DNSSEC)提供了验证DNS数据由效性的系统
        dnssec-validation no;   # 指定在DNS查询过程中是否加密,为了加快效率这里设置为no
		forwarders { 114.114.114.114; };   # 新添加,这里设置的是主DNS的IP地址,当本地缓存中没有对应的解析时,将客户机的查询转发到哪些DNS服务器,可以添加多个DNS服务器的地址
        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.root.key";

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

2、检查配置

检查named.conf是否有语法问题

复制代码
named-checkconf

3、配置正向解析和反向解析

(1)修改named.rfc1912.zones文件

复制代码
vim /etc/named.rfc1912.zones

zone "vsan-nfs.local" IN {
        type master;
        file "named.vsan-nfs.local";
};
zone "10.20.172.in-addr.arpa" IN {
        type master;
        file "named.10.20.172";
};

配置文件中的 "区域配置" 部分配置项的含义:

复制代码
zone "wifite.cn" IN {					# 正向"wifite.cn"区域
        type master;					# 类型为主要区域
        file "named.wifite.cn";		    # 区域数据文件名为"named.wifite.cn"
        allow-update { 172.27.7.130; };	# 允许更新区域信息的主机地址(无备用可默认不配置)
};

zone "0.168.192.in-addr.arpa" IN {		# 反向"192.168.0.0/24"区域
        type master;					# 类型为主要区域
        file "named.192.168.0";			# 区域数据文件名为192.168.0.arpa	
        allow-update { 172.27.7.130; };	# 允许更新区域信息的主机地址(无备用可默认不配置)
};

(2)添加正向解析域配置

a、基于 name.localhost 模板,创建配置文件
复制代码
cp -p /var/named/named.localhost /var/named/named.vsan-nfs.local
b、配置正向域名解析文件
复制代码
vim /var/named/named.vsan-nfs.local
c、内容如下(示例配置)
复制代码
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        102     ; serial
                                        1M      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                NS      @
                A       127.0.0.1
                AAAA    ::1
nfs1    IN      A       172.20.10.90
nfs2    IN      A       172.20.10.91
nfs3    IN      A       172.20.10.92

注意:

复制代码
每次修改完主DNS配置后,都需要改一下serial序列号,且必须比从服务器号大,配置内容如下:


$TTL 1D															# 有效解析记录的生存周期
@       IN SOA  @ rname.invalid. (								# SOA标记、域名、管理邮箱
                                        0       ; serial		# 更新序列号,可以说10位以内的整数
                                        1D      ; refresh		# 刷新时间,重新下载地址数据的间隔
                                        1H      ; retry			# 重试延时,下载失败后的重试间隔
                                        1W      ; expire		# 失效时间,超过改时间仍无法下载则放弃下载
                                        3H )    ; minimum		# 无效解析记录的生存周期
        NS      @
        A       127.0.0.1
        AAAA    ::1
mes     A       192.168.0.8

以上单位时间为M(分)、H(时)、W(周)、D(天)。

http://nfs1.vsan-nfs.local 会解析为 172.20.10.90
d、授权 named 用户
复制代码
chown :named /var/named/named.vsan-nfs.local
e、检查区域文件是否正确
复制代码
named-checkzone "vsan-nfs.local" "/var/named/named.vsan-nfs.local"

(3)添加反向解析域

a、基于 name.localhost 模板,创建配置文件,和主配置文件中指定的文件名一样
复制代码
cp -p /var/named/named.localhost /var/named/named.10.20.172
b、配置正向域名解析文件
复制代码
vim /var/named/named.10.20.172
c、内容如下
复制代码
$TTL 1D
@       IN SOA  @ rname.invalid.(
                                        102       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
90      PTR     nfs1.vsan-nfs.local.
91      PTR     nfs2.vsan-nfs.local.
92      PTR     nfs3.vsan-nfs.local.

注意:

要把 "A" 记录换成 "PTR"

d、授权 named 用户
复制代码
chown :named /var/named/named.10.20.172
e、检查区域文件是否正确
复制代码
named-checkzone "10.20.172.in-add.arpa" "/var/named/named.10.20.172"

4、重启named服务,让配置生效

(1)所有DNS相关的配置文件进行检查

复制代码
named-checkconf -z /etc/named.conf

(2)重启服务

复制代码
systemctl restart named

(3)查看named服务状态

复制代码
systemctl status named

5、测试

复制代码
ping vsan-nfs.local

ping nfs1.vsan-nfs.local

ping nfs2.vsan-nfs.local

ping nfs3.vsan-nfs.local

ping 172.10.20.101

ping 172.10.20.90

ping 172.10.20.91

ping 172.10.20.92

五、配置备用NDS服务器

复制代码
yum -y install bind*							# 安装bind包
systemctl start named.service       			# 启动服务
systemctl enable named              			# 设为开机启动
firewall-cmd --permanent --add-port=53/tcp		# 开放TCP53端口
firewall-cmd --permanent --add-port=53/udp 		# 开放UDP53端口
firewall-cmd --reload              				# 重新加载防火墙配置,让配置生效
vim /etc/named.conf								# 修改配置内容(配置与主DNS服务器配置一致)
vim /etc/named.rfc1912.zones					# 编辑该文件,这里的配置和上面的配置不一致

# 正向配置
zone "wifite.cn" IN {							# 正向"wifite.cn"区域
        type slave;								# 状态类型修改为slave
        masters { 172.27.7.125;};				# 主DNS服务器的IP地址
        file "slaves/slave.hadesr.com";			# 指定同步文件的存放路径
};
# 反向配置
zone "0.168.192.in-addr.arpa" IN {				# 反向"192.168.0.0/24"区域
        type slave;								# 状态类型修改为slave
        masters { 172.27.7.125;};				# 主DNS服务器的IP地址
        file "slaves/192.168.0-slave";			# 指定同步文件的存放路径
};
# 把下面多余的配置文件删掉或者修改
named-checkconf /etc/named.conf					# 检查配置文件是否正确
named-checkconf /etc/named.rfc1912.zones		# 检查配置文件是否正确
systemctl restart named							# 重新启动服务

ll /var/named/slaves							# 然后这个目录下会多出两个文件
yum -y install bind*							# 安装bind包
systemctl start named.service       			# 启动服务
systemctl enable named              			# 设为开机启动
firewall-cmd --permanent --add-port=53/tcp		# 开放TCP53端口
firewall-cmd --permanent --add-port=53/udp 		# 开放UDP53端口
firewall-cmd --reload              				# 重新加载防火墙配置,让配置生效
vim /etc/named.conf								# 修改配置内容(配置与主DNS服务器配置一致)
vim /etc/named.rfc1912.zones					# 编辑该文件,这里的配置和上面的配置不一致

# 正向配置
zone "wifite.cn" IN {							# 正向"wifite.cn"区域
        type slave;								# 状态类型修改为slave
        masters { 172.27.7.125;};				# 主DNS服务器的IP地址
        file "slaves/slave.hadesr.com";			# 指定同步文件的存放路径
};
# 反向配置
zone "0.168.192.in-addr.arpa" IN {				# 反向"192.168.0.0/24"区域
        type slave;								# 状态类型修改为slave
        masters { 172.27.7.125;};				# 主DNS服务器的IP地址
        file "slaves/192.168.0-slave";			# 指定同步文件的存放路径
};
# 把下面多余的配置文件删掉或者修改
named-checkconf /etc/named.conf					# 检查配置文件是否正确
named-checkconf /etc/named.rfc1912.zones		# 检查配置文件是否正确
systemctl restart named							# 重新启动服务

ll /var/named/slaves							# 然后这个目录下会多出两个文件
相关推荐
喵叔哟29 分钟前
02-CSharp基础语法快速入门
服务器
AI逐月2 小时前
tmux 常用命令总结:从入门到稳定使用的一篇实战博客
linux·服务器·ssh·php
想逃离铁厂的老铁2 小时前
Day55 >> 并查集理论基础 + 107、寻找存在的路线
java·服务器
小白跃升坊2 小时前
基于1Panel的AI运维
linux·运维·人工智能·ai大模型·教学·ai agent
杨江2 小时前
seafile docker安装说明
运维
舰长1152 小时前
linux 实现文件共享的实现方式比较
linux·服务器·网络
好好沉淀3 小时前
Docker开发笔记(详解)
运维·docker·容器
zmjjdank1ng3 小时前
Linux 输出重定向
linux·运维
路由侠内网穿透.3 小时前
本地部署智能家居集成解决方案 ESPHome 并实现外部访问( Linux 版本)
linux·运维·服务器·网络协议·智能家居
树℡独3 小时前
ns-3仿真之应用层(三)
运维·服务器·ns3