常用环境部署(十八)——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							# 然后这个目录下会多出两个文件
相关推荐
m0_6948455738 分钟前
服务器如何配置防火墙规则开放/关闭端口?
linux·服务器·安全·云计算
降世神童1 小时前
华为云Flexus+DeepSeek征文| 使用华为云CCE容器部署Dify-LLM高可用方案的验证与测试
运维·华为云·aigc
降世神童1 小时前
华为云Flexus+DeepSeek征文| 基于华为云Dify-LLM高可用平台开发运维故障处理智能体
运维·华为云·aigc
阿巴~阿巴~1 小时前
Linux基本命令篇 —— alias命令
linux·服务器·bash
好名字更能让你们记住我2 小时前
Linux多线程(十二)之【生产者消费者模型】
linux·运维·服务器·jvm·windows·centos
门思科技2 小时前
设计可靠 LoRaWAN 设备时需要考虑的关键能力
运维·服务器·网络·嵌入式硬件·物联网
小锋学长生活大爆炸2 小时前
【知识】RPC和gRPC
服务器·网络协议·rpc
学习编程的gas2 小时前
Linux开发工具——gcc/g++
linux·运维·服务器
大大。2 小时前
van-tabbar-item选中active数据变了,图标没变
java·服务器·前端
_可乐无糖3 小时前
AWS WebRTC: 判断viewer端拉流是否稳定的算法
linux·服务器·webrtc·aws