配置DNS服务所相关的一些软件
- bind-9.9.4-37.el7.x86_64.rpm
- bind-utils-9.9.4-37.el7.x86_64.rpm
- bind-libs-9.9.4-37.el7.x86_64.rpm
- bind-chroot-9.9.4-37.el7.x86_64.rpm
主程序: - /usr/sbin/named
服务名:
/usr/lib/systemd/system/named.service
默认监听端口:
53
主配置文件:
/etc/named.conf
保存DNS解析记录的数据文件:
/var/named/
准备工作:
VMware上安装两台CentOS7操作系统和一台Win10系统待测试
话不多说上操作
搭建DNS高速缓存服务器
第一步,安装搭建DNS的软件
1)查询yum仓库中是否存在安装包[root@hzp000 ~]# yum list | grep '^bind\.'
bind.x86_64 32:9.11.4-26.P2.el7_9.5 updates
可以看到仓库中存在这个安装包,如果不存在,考虑更换yum源或者官网下载安装包
2)安装软件包
[root@hzp000 ~]# yum -y install bind*
第二步,更改配置文件
主配置文件位置:
/etc/named.conf
1)全局配置部分
options {…}
更改以下部分:
options{
listen-on port 53 {192.168.100.10;}; #哪一张网卡的哪一个端口,默认为本地环回接口,可以写成0.0.0.0或者any
directory "/var/named"; #区域数据文件的,偶人存放位置位置
allow-query {192.168.100.1/24;173.16.16.0/24} #允许使用本DNS服务的网段,可以直接写any为全部
}
2)区域配置部分
zone “区域名” IN {…};
1.根区域,如果缓存找不到域名,则交给根服务器
zone "." IN {
type hint; #区域类型
file "named.ca"; #A记录存放位置
};
2.自行配置区域部分
子配置文件:/etc/named.rfc1912.zones
添加配置:
zone "pengzhihe.com" IN { #域名
type master; #类型为主缓存服务器
file "pengzhihe.zone"; #A记录存放的位置
};
3)全局TTL配置项及SOA记录
配置文件存放在/var/named/下文件名为上一步骤的A记录存放位置
文件不在,需要自己创建
将样本配置文件拷贝到我的配置文件
[root@hzp000 ~]# cp -p /var/named/named.empty /var/named/pengzhihe.zone
[root@hzp000 ~]# vim /var/named/pengzhihe.zone
更改其内容:
$TTL 3H #有效解析记录的生存周期
@ IN SOA pengzhihe.com. mail.pengzhihe.com. ( #SOA标记、域名、管理邮箱
0 ; serial #更新序列号,10位以内的整数
1D ; refresh #刷新时间,重新下载地址数据的间隔
1H ; retry #重试延时,下载失败后的重试间隔
1W ; expire #失效时间,超过该时间任无法下载则放弃
3H ) ; minimum #无效解析记录
时间单位默认为秒
M(分)
H(时)
W(周)
D(天)
@符号表示当前的DNS域名
电子邮件中的第一个点代表邮件中的@
注意:域名和邮件地址最后必须写上根域“.”
下方为A记录,参照格式:
@ IN NS ns1.pengzhihe.com. ;主机的域名需要和当前主机名一样
IN MX 10 ns1.pengzhihe.com. ;邮件服务器,10代表优先级
ns1 IN A 192.168.100.10 ;主机域名A记录
www IN A 192.168.100.10 ;www域名服务A记录
NS 域名服务器(Name Server)记录
MX 邮件交换(Mail Exchange)记录
A 地址(Address)记录,只用在正向解析区域中
CNAME 别名(Canonical Name)记录
named.ca文件中包含了13个根域名服务器的A记录
4)检查配置文件语法是否正确
[root@hzp000 ~]# named-checkconf -z /etc/named.conf
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
zone pengzhihe.com/IN: loaded serial 0
第三步、开启服务
1)开启服务
[root@ns1 ~]# systemctl start named
[root@ns1 ~]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
2)关闭防火墙
[root@ns1 ~]# systemctl stop firewalld
[root@ns1 ~]# systemctl disable firewalld
3)关闭selinux
[root@ns1 ~]# sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
4)查看端口状态
[root@ns1 ~]# ss -napt | grep :53
LISTEN 0 10 192.168.100.10:53 *:* users:(("named",pid=18893,fd=22))
LISTEN 0 10 127.0.0.1:53 *:* users:(("named",pid=18893,fd=21))
LISTEN 0 10 ::1:53 :::* users:(("named",pid=18893,fd=23))
第四步、测试
1)win10测试
1.开启win10虚拟机
2.配置网卡
3.将dns服务器设置为当前配置的dns服务器地址
其余根据自己虚拟机设置的ip网段进行设置IP、网关等
4.在dos窗口中使用ping命令进行测试
如图,nice
2)CentOS7测试
1.另开一台CentOS主机
2.将网卡中的DNS1配置改为当前服务器
3.使用ping命令测试
[root@hzp001 ~]# ping www.baidu.com
PING www.a.shifen.com (182.61.200.7) 56(84) bytes of data.
64 bytes from 182.61.200.7 (182.61.200.7): icmp_seq=1 ttl=128 time=31.2 ms
64 bytes from 182.61.200.7 (182.61.200.7): icmp_seq=2 ttl=128 time=71.0 ms
^C
--- www.a.shifen.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 31.221/51.123/71.026/19.903 ms
[root@hzp001 ~]# ping ns1.pengzhihe.com
PING ns1.pengzhihe.com (192.168.100.10) 56(84) bytes of data.
64 bytes from 192.168.100.10 (192.168.100.10): icmp_seq=1 ttl=64 time=0.160 ms
^C
--- ns1.pengzhihe.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.160/0.160/0.160/0.000 ms
配置反向解析
基于上述步骤:
第一步、创建反向区域配置文件
1)在子配置文件中添加如下配置zone "100.168.192.in-addr.arpa" IN {
type master;
file "192.168.100.arpa"; #反向区域数据文件名
};
2)创建反向区域数据文件
[root@ns1 ~]# cp -p /var/named/named.loopback /var/named/192.168.100.arpa
配置文件中配置:
$TTL 1D
@ IN SOA zhipenghe.com. mail.zhipenghe.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns1.zhipenghe.com.
70 PTR ns1.zhipenghe.com.
73 PTR www.zhipenghe.com.
第二步、重启服务
[root@ns1 ~]# systemctl restart named
第三步、测试
1.切换到ns2主机 2.下载安装bind-utils软件包 3.使用nslookup命令测试
如图,nice
搭建从DNS服务器
第一步、安装软件包
1.新开一台虚拟主机,命名为ns3.zhipenghe.com[root@hzp002 ~]# hostnamectl set-hostname ns3.zhipenghe.com
2.安装bind软件
[root@ns3 ~]# yum -y install bind*
第二步、配置配置文件
1.编辑主配置文件
[root@ns3 ~]# vim /etc/named.conf
在配置文件中配置如下
options {
listen-on port 53 { 192.168.100.12 ; }; #本机ip
...
...
allow-query { any; };
...
}
2.编辑子配置文件
[root@ns3 ~]# vim /etc/named.rfc1912.zones
添加如下配置
zone "zhipenghe.com" IN {
type slave; #类型为从区域
masters { 192.168.100.10; }; #指定主服务器的IP地址
file "slaves/zhipenghe.zone"; #下载的区域文件保存到slaves/目录下
};
zone "100.168.192.in-addr.arpa" IN {
type slave;
masters { 192.168.100.10; };
file "slaves/192.168.100.arpa";
};
3.配置主服务器的子配置文件
[root@ns1 ~]# vim /etc/named.rfc1912.zones
添加如下配置
zone "zhipenghe.com" IN {
type master;
file "zhipenghe.zone";
allow-transfer { 192.168.100.12; }; #允许此从服务器下载正向区域数据
};
zone "100.168.192.in-addr.arpa" IN {
type master;
file "192.168.100.arpa";
allow-transfer { 192.168.100.12; }; #允许此服务器下载正向区域数据
};
第三步、测试
1.开启named服务[root@ns3 ~]# systemctl start named
[root@ns3 ~]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
2.关闭防火墙
[root@ns3 ~]# systemctl stop firewalld
[root@ns3 ~]# systemctl disable firewalld
3.关闭selinux
[root@ns3 ~]# setenforce 0
[root@ns3 ~]# sed -ri 's/SELINUX=enfrocing/SELINUX=disabled/' /etc/selinux/config
4.将测试主机配置从DNS服务器地址
如图将DNS1设置为从服务器地址
DNS2设置为主服务器地址
5.重启网卡
[root@ns2 ~]# ifdown ens33;ifup ens33
6.使用nslookup命令测试
如图,nice