DNS 服务正反向解析配置全流程指南
一、前言
在网络环境中,DNS(Domain Name System)服务起着至关重要的作用,它负责将域名解析为 IP 地址,以及将 IP 地址反向解析为域名。本文将详细介绍如何配置 DNS 服务的正反向解析,同时配置一个简单的 Web 服务,通过实际操作步骤让你轻松掌握相关技能。
二、环境准备
- 两台服务器,一台作为 Web 服务器(以下简称
web
),一台作为 DNS 服务器(以下简称dns
)。
三、Web 端配置
1. 配置 Nginx 服务
首先,我们需要在 Web 服务器上配置 Nginx 服务,使其能够响应 HTTP 请求。
[root@web ~]# vim /etc/nginx/nginx.confserver {listen 80;listen [::]:80;server_name www.zy.com;root /zy;
}
[root@web ~]# systemctl start nginx
上述代码中,我们编辑了 Nginx 的配置文件,指定监听 80 端口,域名www.zy.com
,并将网站根目录设置为/zy
。然后启动 Nginx 服务。
2. 配置 DNS 服务器地址
为了让 Web 服务器能够通过域名访问资源,我们需要将其 DNS 服务器地址指向 DNS 服务器。
[root@web ~]# nmcli c modify ens32 ipv4.dns 192.168.2.131
[root@web ~]# nmcli c reload
[root@web ~]# nmcli c up ens32
这里我们使用nmcli
命令修改网络连接ens32
的 IPv4 DNS 服务器地址为192.168.2.131
,然后重新加载网络配置并激活连接。
四、DNS 端配置
1. 编辑 Bind 主配置文件
Bind 是 Linux 系统中常用的 DNS 服务软件,我们需要对其主配置文件进行修改。
[root@server ~]# yum install bind -y
[root@server ~]# vim /etc/named.conf
# 需改2行listen-on port 53 { any; }; # any为允许所有主机allow-query { any; };
将listen-on
和allow-query
的值都设置为any
,表示允许所有主机访问 DNS 服务。
2. 编辑区域配置文件
正向解析配置
正向解析是将域名解析为 IP 地址,我们需要在区域配置文件中添加相应的区域信息。
[root@server ~]# vim /etc/named.rfc1912.zones
zone "zy.com" IN { # 双引号中输入,表示管理那个区域type master;file "zy.com.zone"; # 双引号中输入,表示数据配置文件的名称,注意:不写路径allow-update { none; };
};
这里我们定义了一个名为zy.com
的区域,数据配置文件为zy.com.zone
。
反向解析配置
反向解析是将 IP 地址解析为域名,同样需要在区域配置文件中添加相应的区域信息。
zone "2.168.192.in-addr.arpa" IN {type master;file "192.168.2.arpa";allow-update { none; };
};
这里我们定义了一个反向解析区域2.168.192.in-addr.arpa
,数据配置文件为192.168.2.arpa
,同样禁止更新操作。
3. 配置正向解析数据文件
我们需要复制一个模板文件作为正向解析的数据文件,并进行相应的修改。
[root@dns ~]# cd /var/named/
[root@dns named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@dns named]# cp -a named.localhost zy.com.zone
[root@dns named]# vim zy.com.zone
$TTL 1D
zy.com. IN SOA ns.zy.com. andy.qq.com. (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimum
zy.com. IN NS ns.zy.com.
ns.zy.com. IN A 192.168.2.130
www.zy.com. IN A 192.168.2.130
在这个数据文件中,我们定义了域名zy.com
的 SOA 记录、NS 记录以及域名对应的 IP 地址。
4. 配置反向解析数据文件
同样,我们复制一个模板文件作为反向解析的数据文件,并进行修改。
[root@dns named]# cp -a named.loopback 192.168.2.arpa
[root@dns named]# vim 192.168.2.arpa
$TTL 1D
@ IN SOA ns.zy.com. andy.qq.com (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimumIN NS ns.zy.com.
ns.zy.com. IN A 192.168.2.131
130 IN PTR ns.zy.com.
130 IN PTR www.zy.com.
在这个数据文件中,我们定义了反向解析的 SOA 记录、NS 记录以及 IP 地址对应的域名。
5. 启动 DNS 服务
完成上述配置后,我们启动 Bind 服务。
[root@dns named]# systemctl start named
五、测试
在 Web 服务器上,我们可以使用curl
命令和nslookup
命令来测试 DNS 服务是否正常工作。
[root@web ~]# curl www.zy.com
[root@web ~]# nslookup www.zy.com
如果能够正常解析域名,说明 DNS 服务配置成功。同时,我们可以在浏览器中输入www.zy.com
,如果能够访问到 Web 服务器上的页面,说明整个配置流程都已成功。
最终结果展示: