一、构建主 DNS 域名解析服务器
1.主域名服务器概述
主域名服务器通常架设再 Internet 环境中,提供某一个域或几个域内的主机名与 IP 地址的查询服务。为了分担域名查询的压力、提供区域数据的备份,有时还会另外架设一台从域名服务器,与主域名服务器同时提供服务。
2.构建主域名服务器步骤及示例
实验环境:
- 主,从域名服务器均位于 Internet中,所负责的 DNS 区域为 “huyouba1.com”
- 主服务器 IP 地址 192.168.100.100/24,主机名为 ns1.huyouba1.com
- 从服务器 IP 地址 192.168.100.110/24,主机名为 ns2.huyouba1.com
- 在 huyouba1.com 区域中,除了 NS 记录以外提供的解析记录包括如下内容:
网站服务器:www.huyouba1.com,IP 地址 192.168.100.10/24
邮件服务器:mail.huyouba1.com,IP 地址 192.168.100.1/24
新闻服务器:news.huyouba1.com,IP 地址192.168.100.2/24
论坛服务器:bbs.huyouba1.com,IP 地址 192.168.100.2/24
- 参考上述各服务器的地址映射关系,为 192.168.100.0/24 网段提供反向解析
- 设置 huyouba1.com 域的泛域名解析,对应 IP 地址 192.168.100.10/24
- 客户机将首选,备用 DNS 服务器分别设为 192.168.100.100 和 192.168.100.110
(1)确认本机的网络地址,主机映射,默认 DBS 服务器地址
更改主机映射文件
[root@ns1 ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.100 ns1.huyouba1.com
192.168.100.110 ns2.huyouba1.com
查看 DNS
[root@ns1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.100 ns1.huyouba1.com
192.168.100.110 ns2.huyouba1.com
(2)修改主配置文件 /etc/named.conf
[root@ns1 ~]# rpm -qa |grep bind
bind-libs-9.9.4-72.el7.x86_64
bind-license-9.9.4-72.el7.noarch
bind-utils-9.9.4-72.el7.x86_64
bind-libs-lite-9.9.4-72.el7.x86_64
[root@ns1 ~]# yum -y install bind bind-utils bind-chroot
[root@ns1 ~]# cd /etc/
[root@ns1 etc]# cp named.conf named.conf.$(date +%Y%m%d%H%M)
[root@ns1 etc]# vim named.conf
options {
listen-on port 53 { 192.168.100.100; };
// 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";
allow-query { any; };
recursion yes;
// dnssec-enable yes;
// dnssec-validation yes;
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
//zone "." IN {
// type hint;
// file "named.ca";
//};
//include "/etc/named.rfc1912.zones";
//include "/etc/named.root.key";
zone "huyouba1.com" IN {
type master;
file "huyouba1.com.zone";
allow-transfer { 192.168.100.110; };
};
zone "100.168.192.in-addr.arpa" IN {
type master;
file "192.168.100.arpa";
allow-transfer { 192.168.100.110; };
};
检查配置文件
[root@ns1 etc]# named-checkconf /etc/named.conf
(3)建立正反区域数据文件
1> 建立正向区域数据文件
[root@ns1 etc]# cd /var/named/
[root@ns1 named]# ls
chroot data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@ns1 named]# cp -p named.empty huyouba1.com.zone
[root@ns1 named]# vim huyouba1.com.zone
$TTL 1D
@ IN SOA huyouba1.com. root.ns1.huyouba1.com. (
2020030701 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns1.huyouba1.com.
NS ns2.huyouba1.com.
MX 10 mail.huyouba1.com.
ns1 A 192.168.100.100
ns2 A 192.168.100.110
www A 192.168.100.10
mail A 192.168.100.1
news A 192.168.100.12
bbs CNAME news
* A 192.168.100.10
2> 建立反向区域数据文件
[root@ns1 named]# cp -p huyouba1.com.zone 192.168.100.arpa
[root@ns1 named]# vim 192.168.100.arpa
$TTL 1D
@ IN SOA huyouba1.com. root.ns1.huyouba1.com. (
2020030701 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns1.huyouba1.com.
NS ns2.huyouba1.com.
100 PTR ns1.huyouba1.com.
110 PTR ns2.huyouba1.com.
10 PTR www.huyouba1.com.
1 PTR mail.huyouba1.com.
12 PTR news.huyouba1.com.
12 PTR bbs.huyouba1.com.
3> 测试配置文件
[root@ns1 named]# named-checkzone huyouba1.com huyouba1.com.zone
zone huyouba1.com/IN: loaded serial 2020030701
OK
[root@ns1 named]# named-checkzone 100.168.192-addr.arpa 192.168.100.arpa
zone 100.168.192-addr.arpa/IN: loaded serial 2020030701
OK
(4)重启命名服务或重载配置
[root@ns1 named]# systemctl restart named
(5)客户机测试
二、构建从 DNS 域名解析服务器
1.从域名解析服务器概述
与主域名解析服务器提供完全相同的 DNS 解析服务,通常用于 DNS 服务器的热备份。对客户机来说,无论使用主域名服务器还是从域名服务器,查询结果都是一样的。
2.构建从域名服务器步骤及示例
实验环境:
- 主,从域名服务器均位于 Internet 中,所负责的 DNS 区域为 “huyouba1.com”
- 主服务器 IP 地址192.168.100.100/24,主机名 ns1.huyouba1.com
- 主服务器 IP 地址192.168.100.110/24,主机名 ns2.huyouba1.com
- 客户机将首选,备用 DNS 服务器分别设为 192.168.100.100 和 192.168.100.110
(1)确认本机的网络地址,主机映射,默认 DNS 服务器地址
更改主机映射文件
[root@ns2 ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.100 ns1.huyouba1.com
192.168.100.110 ns2.huyouba1.com
查看 DNS
[root@ns2 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.100 ns1.huyouba1.com
192.168.100.110 ns2.huyouba1.com
(2)修改主配置文件的 /etc/named.conf
[root@ns2 ~]# rpm -qa |grep bind
bind-libs-9.9.4-72.el7.x86_64
bind-license-9.9.4-72.el7.noarch
bind-utils-9.9.4-72.el7.x86_64
bind-libs-lite-9.9.4-72.el7.x86_64
[root@ns2 ~]# yum -y install bind bind-utils bind-chroot
[root@ns2 ~]# cd /etc/
[root@ns2 etc]# cp named.conf named.conf.$(date +%Y%h%d%H%M)
[root@ns2 etc]# vim named.conf
[root@ns2 etc]# vim named.conf
options {
listen-on port 53 { 192.168.100.110; };
// 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";
allow-query { any; };
recursion yes;
// dnssec-enable yes;
// dnssec-validation yes;
// bindkeys-file "/etc/named.iscdlv.key";
// managed-keys-directory "/var/named/dynamic";
// pid-file "/run/named/named.pid";
// session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
//zone "." IN {
// type hint;
// file "named.ca";
//};
//include "/etc/named.rfc1912.zones";
//include "/etc/named.root.key";
zone "huyouba1.com" IN {
type slave;
masters { 192.168.100.100; };
file "slaves/huyouba1.com.zone";
};
zone "100.168.192.in-addr.arpa" IN {
type slave;
masters { 192.168.100.100; };
file "slaves/192.168.100.arpa";
};
检查配置文件
[root@ns2 etc]# named-checkconf /etc/named.conf
()3启动命名服务,查看区域数据是否下载成功
[root@ns2 etc]# ll /var/named/slaves/
总用量 0
[root@ns2 etc]# systemctl restart named
[root@ns2 etc]# ll /var/named/slaves/
总用量 8
-rw-r--r-- 1 named named 583 3月 7 20:09 192.168.100.arpa
-rw-r--r-- 1 named named 571 3月 7 20:09 huyouba1.com.zone
(4)客户机测试
(5)将主域名服务器增加地址解析记录,修改序列号 +1 查看从域名服务器 /var/named/slave/ 下文件的时间
[root@ns2 etc]# ll /var/named/slaves/
总用量 8
-rw-r--r-- 1 named named 583 3月 7 20:09 192.168.100.arpa
-rw-r--r-- 1 named named 571 3月 7 20:09 huyouba1.com.zone
更新主域名服务器的区域配置文件
[root@ns1 named]# cd /var/named/
[root@ns1 named]# vim huyouba1.com.zone
$TTL 1D
@ IN SOA huyouba1.com. root.ns1.huyouba1.com. (
2020030702 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns1.huyouba1.com.
NS ns2.huyouba1.com.
MX 10 mail.huyouba1.com.
ns1 A 192.168.100.100
ns2 A 192.168.100.110
www A 192.168.100.10
mail A 192.168.100.1
news A 192.168.100.12
bbs CNAME news
* A 192.168.100.10
money A 192.168.100.13
[root@ns1 named]# named-checkzone huyouba1.com huyouba1.com.zone
zone huyouba1.com/IN: loaded serial 2020030702
OK
[root@ns1 named]# vim 192.168.100.arpa
$TTL 1D
@ IN SOA huyouba1.com. root.ns1.huyouba1.com. (
2020030702 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns1.huyouba1.com.
NS ns2.huyouba1.com.
100 PTR ns1.huyouba1.com.
110 PTR ns2.huyouba1.com.
10 PTR www.huyouba1.com.
1 PTR mail.huyouba1.com.
12 PTR news.huyouba1.com.
12 PTR bbs.huyouba1.com.
13 PTR money.huyouba1.com.
[root@ns1 named]# named-checkzone 100.168.192.in-addr.arpa 192.168.100.arpa
zone 100.168.192.in-addr.arpa/IN: loaded serial 2020030702
OK
(6)修改主域名解析服务器的主配置文件,添加 also-notify { 192.168.100.110; };观察从域名解析服务器区域数据文件是否更新
[root@ns1 named]# vim /etc/named.conf
10 also-notify { 192.168.100.110; };
重新加载主域名解析服务器配置文件
[root@ns1 named]# systemctl reload named
发现从域名服务器已自动更新区域配置文件
[root@ns2 etc]# ll /var/named/slaves/
总用量 8
-rw-r--r-- 1 named named 654 3月 7 20:32 192.168.100.arpa
-rw-r--r-- 1 named named 617 3月 7 20:32 huyouba1.com.zone
客户机测试
[root@localhost ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search com
nameserver 192.168.100.110
nameserver 192.168.100.100
[root@localhost ~]# nslookup
> money.huyouba1.com
Server: 192.168.100.110
Address: 192.168.100.110#53
Name: money.huyouba1.com
Address: 192.168.100.13
> 192.168.100.13
Server: 192.168.100.110
Address: 192.168.100.110#53
13.100.168.192.in-addr.arpa name = money.huyouba1.com.
> exit
三、构建分离解析的 DNS 域名解析服务器
1.分离解析的域名解析服务器概述
分离解析的域名解析服务器实际上也是主域名服务器,这里所说的分离解析(Split DNS),主要是指根据不同的客户端提供不同的域名解析记录。来自不同地址的客户机请求解析同一域名时,为其提供不同的解析效果。
2.构建分离解析的域名服务器步骤及示例
3.实验环境:
-
域名服务器架设在企业网关服务器中,网卡ens33的IP地址为192.168.100.100/24;网卡etns38的IP地址为172.20.10.8/24(桥接网络)模拟外网
-
在Internet中的公共域名www.huyouba1.com和mail.huyouba1.com均解析为172.20.10.8
-
在内网中www.huyouba1.com和mail.huyouba1.com分别解析为192.168.100.10和192.168.100.20
-
分别用两台客户机模拟内网与外网进行测试
(1)在 /etc/named.conf 主配置文件中为不同的客户机地址启用不同的 zon e区域设置,各自使用独立的数据文件。
[root@ns1 ~]# vim /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html
options {
listen-on port 53 { 192.168.100.100;172.20.10.8; };
// 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";
allow-query { any; };
// recursion yes;
// dnssec-enable yes;
// dnssec-validation yes;
/* Path to ISC DLV key */
// bindkeys-file "/etc/named.iscdlv.key";
// managed-keys-directory "/var/named/dynamic";
};
acl "lan" { 192.168.100.0/24; }; //定义 acl 规则
acl "wan" { any; };
view "LAN" { //引用acl规则
match-clients { lan; };
zone "huyouba1.com" IN {
type master;
file "huyouba1.com.zone.lan";
};
};
view "WAN" {
match-clients { wan; };
zone "huyouba1.com" IN {
type master;
file "huyouba1.com.zone.wan";
};
};
检查配置文件
[root@ns1 ~]# named-checkconf /etc/named.conf
(2)分别建立不同的区域数据文件
[root@ns1 ~]# cd /var/named/
[root@ns1 named]# cp -p named.empty huyouba1.com.zone.lan
[root@ns1 named]# vim huyouba1.com.zone
$TTL 1D
@ IN SOA huyouba1.com. root.ns1.huyouba1.com. (
2020030701 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns1.huyouba1.com.
MX 10 mail.huyouba1.com.
ns1 A 192.168.100.100
www A 192.168.100.10
mail A 192.168.100.20
[root@ns1 named]# cp -p huyouba1.com.zone.lan huyouba1.com.zone.wan
[root@ns1 named]# vim huyouba1.com.zone.wan
$TTL 1D
@ IN SOA huyouba1.com. root.ns1.huyouba1.com. (
2020030701 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns1.huyouba1.com.
MX 10 mail.huyouba1.com.
ns1 A 172.20.10.8
www A 172.20.10.8
mail A 172.20.10.8
检查区域配置文件
[root@ns1 named]# named-checkzone huyouba1.com huyouba1.com.zone.lan
zone huyouba1.com/IN: loaded serial 2020030701
OK
[root@ns1 named]# named-checkzone huyouba1.com huyouba1.com.zone.wan
zone huyouba1.com/IN: loaded serial 2020030701
OK
(3)启动或重新加载命名服务程序
[root@ns1 named]# systemctl restart named
(4)内网及模拟外网的两台客户机进行测试
1> 内网测试
2> 外网测试