• BIND服务器端程序
– 主要执行程序:/usr/sbin/named
– 系统服务:named
– DNS协议默认端口:TCP/UDP **
– 运行时的虚拟根环境:/var/named/chroot/
• 主配置文件:/etc/named.conf #设置负责解析的域名
• 地址库文件:/var/named/ #完全合格的域名与IP地址对应关系

DNS服务器搭建步骤

1.安装软件包
#yum -y install bind bind-chroot (bind-chroot提供牢笼政策)
2.修改主配置文件
# cp /etc/named.conf /root #备份数据或者/etc/named.conf.bak
# vim /etc/named.conf #删除后只留如下内容
options {
directory “/var/named”; #定义地址库文件存放路径
};
zone “tedu.cn“ IN { #定义负责的解析tedu.cn域名
type master; #权威主DNS服务器
file “tedu.cn.zone“; #地址库文件名称
};
初步测试格式是否正确
# named-checkconf /etc/named.conf
3.建立地址库文件
保证named用户对地址库文件有读取权限
所有的域名都要以点作为结尾
如果没有以点作为结尾,那么默认补全本地库文件负责的域名
]# cp -p /var/named/named.localhost /var/named/ tedu.cn.zone #-p保持权限不变
]# ls -l /var/named/tedu.cn.zone
]# vim /var/named/tedu.cn.zone
……此处省略一万字
tedu.cn. NS svr7 #声明DNS服务器为svr7
svr7 A 192.168.4.7 #svr7解析结果为192.168.4.7
www A 1.1.1.1
ftp A 2.2.2.2
检测格式是否书写正确
# named-checkzone tedu.cn /var/named/tedu.cn.zone
zone tedu.cn/IN: loaded serial 0
OK
4.重启named
# systemctl restart named
5.虚拟机B:测试DNS服务器
]# echo nameserver 192.168.4.7 > /etc/resolv.conf #192.168.4.7为DNS服务器ip
]# cat /etc/resolv.conf
]# nslookup www.tedu.cn 报错的话安装bind-utils
]# nslookup ftp.tedu.cn

多区域的DNS服务器搭建

[root@svr7 /]# vim /etc/named.conf
options {
directory “/var/named”;
};
zone “tedu.cn” IN {
type master;
file “tedu.cn.zone”;
};
zone “lol.com” IN {
type master;
file “lol.com.zone”;
};
]# cp -p /var/named/tedu.cn.zone /var/named/lol.com.zone
]# vim /var/named/lol.com.zone
……此处省略一万字
lol.com. NS svr7
svr7 A 192.168.4.7
www A 4.4.4.4
vip A 5.5.5.5
]# systemctl restart named

DNS的轮询(负载均衡)

[root@svr7 /]# vim /var/named/tedu.cn.zone
……此处省略一万字
tedu.cn. NS svr7
svr7 A 192.168.4.7
www A 192.168.4.20
www A 192.168.4.21
www A 192.168.4.22
ftp A 2.2.2.2
[root@svr7 /]# systemctl restart named

DNS的泛域名解析

* A 6.6.6.6
tedu.cn. A 7.7.7.7
[root@svr7 /]# systemctl restart named
虚拟机B测试:
[root@pc207 /]# nslookup wwwwww.tedu.cn
[root@pc207 /]# nslookup tedu.cn

DNS的解析记录的别名

[root@svr7 /]# vim /var/named/tedu.cn.zone
……此处省略一万字
tedu.cn. NS svr7
svr7 A 192.168.4.7
ftp A 2.2.2.2
vip CNAME ftp #vip解析结果与ftp解析结果一致
[root@svr7 /]# systemctl restart named

有规律的泛域名解析

  1. pc1.tedu.cn -----> 192.168.10.1<br /> pc2.tedu.cn -----> 192.168.10.2<br /> …….<br /> pc50.tedu.cn ----> 192.168.10.50<br />内置函数(内置功能)$GENERATE 制造连续范围的数字<br />[root@svr7 /]# **vim /var/named/tedu.cn.zone**<br />……此处省略一万字<br />**$GENERATE 1-50 pc$ A 192.168.10.$**<br />[root@svr7 /]# **systemctl restart named**

DNS服务器资源解析记录的类型:

NS:DNS服务器声明记录
A:正向解析记录
CNAME:解析记录的别名

递归查询(解析)与迭代查询(解析)

递归查询:客户端发送请求给首选DNS服务器,首选DNS服务器与其他的DNS服务器交互,最终将解析结果带回来过程
迭代查询: 客户端发送请求给首选DNS服务器,首选DNS服务器告知下一个DNS服务器地址

DNS主从架构

作用:提高可靠性,从DNS服务器备份主DNS服务器的数据
—————————-
例:虚拟机A:主DNS服务器,以lol.com域名
虚拟机B:从DNS服务器,以lol.com域名
——————————-
虚拟机A:主DNS服务器
1. 授权从DNS服务器
[root@svr7 /]# man named.conf #参考man帮助
[root@svr7 /]# vim /etc/named.conf
options {
directory “/var/named”;
allow-transfer { 192.168.4.207; };#允许谁进行传输数据,括号里面有两个空格
};
zone “tedu.cn” IN {
type master;
file “tedu.cn.zone”;
};
zone “lol.com” IN {
type master;
file “lol.com.zone”;
};
2. 声明从DNS服务器
[root@svr7 /]# vim /var/named/lol.com.zone
……此处省略一万字
lol.com. NS svr7
lol.com. NS pc207 #声明从DNS服务器
svr7 A 192.168.4.7
pc207 A 192.168.4.207
www A 4.4.4.4
[root@svr7 /]# systemctl restart named
———————————
虚拟机B:从DNS服务器
1.安装软件包
[root@pc207 /]# yum -y install bind bind-chroot
2.修改主配置文件
[root@pc207 /]# vim /etc/named.conf
options {
directory “/var/named”;
};
zone “lol.com“ IN {
type slave; #类型为从服务器
file “/var/named/slaves/lol.com.slave”;#确保named用户有读写执行权限
masters { 192.168.4.7; }; #指定主DNS服务器
masterfile-format text; #地址库文件明文存储
};
[root@pc207 /]# ls /var/named/slaves/
[root@pc207 /]# systemctl restart named
[root@pc207 /]# ls /var/named/slaves/
lol.com.slave
[root@pc207 /]# vim /etc/resolv.conf
nameserver 192.168.4.7
nameserver 192.168.4.207
[root@pc207 /]# nslookup www.lol.com

DNS主从数据同步

虚拟机A:
[root@svr7 /]# vim /var/named/lol.com.zone
…….此处省略一万字
2021081701 ; serial #数据的版本号,由10个数字组成
1D ; refresh #每隔1天主从进行交流
1H ; retry #失效之后的时间间隔每一个1小时
1W ; expire #真正的失效时间,1周
3H ) ; minimum #失效记录的记忆时间3小时
lol.com. NS svr7
lol.com. NS pc207
svr7 A 192.168.4.7
pc207 A 192.168.4.207
www A 11.12.13.14
[root@svr7 /]# systemctl restart named
虚拟机B:
[root@pc207 /]# nslookup www.lol.com 192.168.4.207

缓存DNS

虚拟机A:为真正的DNS服务器
虚拟机B:缓存DNS服务器
虚拟机B:
[root@pc207 /]# yum -y install bind bind-chroot
[root@pc207 /]# vim /etc/named.conf
options {
directory “/var/named”;
forwarders { 192.168.4.7; }; #转发给192.168.4.7
};
[root@pc207 /]# systemctl restart named

分离解析

为不同类别的客户机提供不同的解析结果(IP地址)
为客户端提供最近的服务器

NTP时间服务器

作用:提供标准时间
• Network Time Protocol(网络时间协议)
• 它用来同步网络中各个计算机的时间的协议
• 210.72.145.39 (国家授时中心服务器IP地址)
• Stratum(分层设计)
• Stratum层的总数限制在15以内(包括15)
虚拟机A:时间服务器
1.安装软件包chrony
[root@svr7 /]# yum -y install chrony
[root@svr7 /]# rpm -q chrony
2.修改配置文件
[root@svr7 /]# vim /etc/chrony.conf #:set nu开启行号
#server 0.centos.pool.ntp.org iburst #与谁同步时间 3行-6行
#server 1.centos.pool.ntp.org iburst #iburst表示快速同步
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
26行 allow all #开头的#去掉,修改为允许所有客户端
29行 local stratum 10 #开头#去掉设置本机为第10层的时间服务器
3.重启时间服务
[root@svr7 /]# systemctl restart chronyd
虚拟机B:客户端
1.安装软件包chrony
[root@pc207 /]# yum -y install chrony
2.修改配置文件
[root@pc207 /]# vim /etc/chrony.conf
server 192.168.4.7 iburst #与192.168.4.7同步时间
#server 1.centos.pool.ntp.org iburst #iburst表示快速同步
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
3.重启时间服务
[root@pc207 /]# systemctl restart chronyd
4.测试:
[root@pc207 /]# date -s “2020-1-1” #修改时间
[root@pc207 /]# date
[root@pc207 /]# systemctl restart chronyd
[root@pc207 /]# date
[root@pc207 /]# date #等几秒钟操作这步骤
[root@pc207 /]#
[root@pc207 /]# chronyc sources -v #列出时间服务器信息