Bootstrap

续DNS服务(逆向解析、多域名、时间服务、主从DNS服务)

目录

1.DNS服务介绍

1.DNS逆向解析

2.多域名解析

3.时间服务器

4.主从DNS服务

2.服务部署的具体过程

1.DNS的逆向解析

1.环境配置

2.下载dns服务

3.修改配置文件

4.客户端测试

2.多域名解析

1.修改配置文件

​编辑

2.检查配置文件的语法是否有错误

3.重启named服务

4.客户端测试

3.时间服务

1.客户端修改时间

2.客户端搜索下载ntpdate

3.客户端同步时间

4.增加一台ntp服务器

4.dns主从架构

1.主服务器下载ntp同步时间

2.增加从dns服务器


1.DNS服务介绍

1.DNS逆向解析

       DNS 逆向解析(Reverse DNS Lookup)是通过 IP 地址来查找对应的域名。通常情况下,我们通过域名来获取对应的 IP 地址,这被称为正向解析。而逆向解析则是反过来,根据已知的 IP 地址获取其对应的域名。然而,逆向解析的配置和维护相对复杂,并且不是所有的 IP 地址都有对应的有效的逆向解析记录。

2.多域名解析

         DNS(Domain Name System,域名系统)多域名解析是指将多个域名指向同一个网站或服务的过程。通过 DNS 多域名解析,可以让用户通过不同的域名访问到相同的网站内容或服务。实现 DNS 多域名解析通常是在 DNS 服务器的配置中进行设置,将多个域名与相同的 IP 地址或服务器相关联。

3.时间服务器

        时间同步服务器是一台计算机或设备,它通过网络提供精确的时间信号,用于同步其他计算机或设备的系统时间。常见的时间同步协议有 NTP(Network Time Protocol)、SNTP(Simple Network Time Protocol)和 PTP(Precision Time Protocol)等。

4.主从DNS服务

主从 DNS 服务是一种常见的 DNS 服务器架构配置。
 
主 DNS 服务器(Primary DNS Server)是权威的、拥有原始和可写的 DNS 区域数据的服务器。它负责处理对该区域的所有更新和修改操作,并将这些更改传播到从 DNS 服务器。
从 DNS 服务器(Secondary DNS Server)则从主 DNS 服务器复制 DNS 区域数据。从服务器定期与主服务器进行通信,以获取区域数据的更新副本,并使用这些数据来响应客户端的查询请求。

主从 DNS 服务架构的优点包括:
1. 提高可靠性和可用性:如果主服务器出现故障,从服务器可以继续提供 DNS 服务,减少服务中断的风险。
2. 负载分担:可以分担 DNS 查询的负载,提高整体性能。
3. 数据冗余:确保 DNS 数据的冗余备份,防止数据丢失。

配置主从 DNS 服务器需要在主服务器和从服务器上分别进行相应的设置,包括指定区域文件、设置主从服务器的通信参数等。 

2.服务部署的具体过程

需要准备4台机器,具体地址分配如下表:

编号

名称

IP

作用

1

client客户端

192.168.1.19

客户端访问测试

2

主dns服务器

192.168.1.21

提供域名解析

3

时间服务器

192.168.1.22

同步内网服务器集群时间

4

从dns服务器

192.168.1.23

主dns服务器的备份

1.DNS的逆向解析

dns服务器配置:

1.环境配置

修改主机名

[root@localhost ~]# hostnamectl set-hostname dns

关闭防火墙和selinux

[root@localhost ~]# systemctl stop firewalld   #关闭防火墙
[root@localhost ~]# systemctl disable firewalld   
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

[root@localhost ~]# setenforce 0   #关闭selinux
[root@localhost ~]# vim /etc/selinux/config   #进入selinux配置文件,设置selinux参数为disabled
...
SELINUX=disabled
...

修改静态IP地址并重启网卡

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
...
BOOTPROTO="none"        #修改为静态IP
	
IPADDR=192.168.1.21     #dns服务器的地址
NETMASK=255.255.255.0   #子网掩码
GATEWAY=192.168.1.254   #网关
DNS1=8.8.8.8            #域名解析
DNS2=114.114.114.114
...
[root@localhost ~]# systemctl restart network   #重启网卡
2.下载dns服务
[root@dns ~]# yum -y install bind   #下载DNS服务
[root@dns ~]# yum list installed | grep bind   #查看已安装的bind

3.修改配置文件

第一步:修改named.conf文件,设置允许访问的主机地址

[root@dns ~]# vim /etc/named.conf   

第二步:修改区域文件,设置域名以及相对于的IP地址

[root@dns ~]# vim /etc/named.rfc1912.zones   #修改区域文件

第三步:修改qingtang.zone文件

[root@dns ~]# ls /var/named/
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@dns ~]# cd /var/named
[root@dns named]# cp -p named.localhost qingtang.zone   #复制一个模板文件并改名为qingtang.zone
[root@dns named]# ls -l
[root@dns named]# vim qingtang.zone

第四步:修改192.168.1.zone文件

[root@dns named]# cp -p named.loopback 192.168.1.zone
[root@dns named]# vim 192.168.1.zone

第五步:检查配置文件是否有错误

[root@dns named]# named-checkconf /etc/named.conf
[root@dns named]# named-checkconf /etc/named.rfc1912.zones
[root@dns named]#  named-checkzone qingtang.zone qingtang.zone
zone qingtang.zone/IN: loaded serial 0
OK

第六步:重启named服务

[root@dns named]# systemctl restart named

4.客户端测试

写入dns服务:

[root@client ~]# echo "nameserver 192.168.1.21" > /etc/resolv.conf
[root@client ~]# cat /etc/resolv.conf
nameserver 192.168.1.21

正向解析:

逆向解析:

使用elinks测试:

2.多域名解析
1.修改配置文件
[root@dns ~]# vim /etc/named.rfc1912.zones 

[root@dns named]# vim 192.168.1.zone
2.检查配置文件的语法是否有错误
[root@dns named]# named-checkconf /etc/named.conf
[root@dns named]# named-checkconf /etc/named.rfc1912.zones
[root@dns named]#  named-checkzone zhaocai.zone zhaocai.zone
zone zhaocai.zone/IN: loaded serial 0
OK
3.重启named服务
[root@dns named]# systemctl restart named

4.客户端测试
​[root@client ~]# echo "nameserver 192.168.1.21" > /etc/resolv.conf
[root@client ~]# nslookup www.zhaocai
Server:                192.168.1.21
Address:        192.168.1.21#53
Name:        www.zhaocai
Address: 192.168.1.20

​

[root@client ~]# nslookup 192.168.1.20

20.1.168.192.in-addr.arpa        name = qingtang.1.168.192.in-addr.arpa.

elinks测试:

[root@client ~]# elinks


3.时间服务

搭建主从dns,防止时间服务器发生错乱,需要配置时间服务器

1.客户端修改时间
[root@client ~]# date -s "2009-7-20 12:34:56"
2009年 07月 20日 星期一 12:34:56 CST
[root@client ~]# date
2009年 07月 20日 星期一 12:34:59 CST
2.客户端搜索下载ntpdate
[root@client ~]# yum search ntpdate

[root@client ~]# yum -y install ntpdate.x86_64
3.客户端同步时间
[root@client ~]# ntpdate cn.ntp.org.cn
24 Jul 14:28:57 ntpdate[2294]: step time server 203.107.6.88 offset 473737723.058512 sec
[root@client ~]# date
2024年 07月 24日 星期三 14:29:34 CST
4.增加一台ntp服务器

要求集群服务器主机的时间同步,不可能每一台主机都访问一次cn.ntp.org.cn,这样流量大,效率低,所以我们放一台主机做内网的ntp服务器,这台主机定时访问外网,集群内网中的机器和ntp服务器的时间同步。

第一步:ntp服务器环境配置

[root@localhost ~]# hostnamectl set-hostname ntp   #修改主机名称
[root@localhost ~]# systemctl stop firewalld    #关闭防火墙
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# setenforce 0   #关闭selinux
[root@localhost ~]# vim /etc/selinux/config
[root@localhost ~]# systemctl stop NetWorkManager   #停止NetWorkManager服务
Failed to stop NetWorkManager.service: Unit NetWorkManager.service not loaded.
[root@localhost ~]# scp [email protected]:/etc/sysconfig/network-scripts/ifcfg-ens33 ./   #从其他机器上下载一个网卡的配置文件
The authenticity of host '192.168.1.20 (192.168.1.20)' can't be established.
ECDSA key fingerprint is SHA256:UHAU+sXTEKYh1El+VOBaor4NjGsmwOi0Cz/Iwdcf5OQ.
ECDSA key fingerprint is MD5:ef:a6:e8:1a:c3:ce:7e:f4:c9:4e:a0:a5:4e:f6:a1:2b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.20' (ECDSA) to the list of known hosts.
[email protected]'s password:
ifcfg-ens33                                                          100%  408   211.0KB/s   00:00   
[root@localhost ~]# ls
anaconda-ks.cfg  ifcfg-ens33
[root@localhost ~]# vim ifcfg-ens33   #修改地址和UUID
[root@localhost ~]# cp ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33   #覆盖本机的网卡配置文件
cp:是否覆盖"/etc/sysconfig/network-scripts/ifcfg-ens33"? y
[root@localhost ~]# systemctl restart network   #重启网卡

第二步:搜索并下载ntp服务包

[root@ntp ~]# yum search ntp
[root@ntp ~]# yum -y install ntp

第三步:修改时间同步配置文件,在配置文件的15行加上内网使用的网段和子网掩码

[root@ntp ~]# vim /etc/ntp.conf
...
 12 # the administrative functions.
 13 restrict 127.0.0.1
 14 restrict ::1
 15 restrict 192.168.1.0 mask 255.255.255.0    
 16 # Hosts on local network are less restricted.
...

第四步:同步时间并启动ntp服务

[root@ntp ~]# ntpdate cn.ntp.org.cn
24 Jul 15:06:31 ntpdate[2231]: no server suitable for synchronization found
[root@ntp ~]# systemctl start ntpd

第五步:设置每天早上四点同步时间

[root@ntp ~]# which ntpdate   #同步时间的配置文件存放路径
/usr/sbin/ntpdate
[root@ntp ~]# crontab -e   #编写一个计划任务,自动同步时间
* 4 * * * /usr/sbin/ntpdate cn.ntp.org.cn

第六步:客户端测试

[root@client ~]# date -s "2009-7-30 12:24:15"   #修改一个时间
2009年 07月 30日 星期四 12:24:15 CST
[root@client ~]# ntpdate cn.ntp.org.cn   #同步时间
24 Jul 19:01:03 ntpdate[2498]: step time server 182.92.12.11 offset 472890943.787640 sec
4.dns主从架构
基础要求说明,一般常见的主从架构服务的要求:
1.master slave 的系统时间保持一致
2.slave 服务器上安装相应的软件(系统版本,软件版本)保持一致
3. 根据需求修改相应的配置文件 master slave 都应修改
4. 主从同步的核心是 slave 同步 master 上的区域文件
1.主服务器下载ntp同步时间
[root@dns ~]# yum -y install ntpdate
[root@dns ~]# ntpdate 192.168.1.22
24 Jul 15:38:53 ntpdate[5556]: adjust time server 192.168.1.22 offset -0.017364 sec
2.增加从dns服务器

第一步:配置环境

[root@localhost ~]# hostnamectl set-hostname sla
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# setenforce 0
[root@localhost ~]# vim /etc/selinux/config
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
...
BOOTPROTO="none"

IPADDR=192.168.1.23
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
DNS1=8.8.8.8
DNS2=114.114.114.114
...
[root@localhost ~]# systemctl restart network

第二步:下载ntp服务并同步时间

[root@sla ~]# yum -y install ntpdate
[root@sla ~]# ntpdate 192.168.1.22
24 Jul 15:36:59 ntpdate[2059]: adjust time server 192.168.1.22 offset -0.016592 sec

第三步:安装bind,当主服务器下线时需要从服务器接替主服务器工作

[root@sla ~]# yum -y install bind

第四步:在主服务器配置文件添加从服务器地址

[root@dns ~]# vim /etc/named.conf  

第五步:检查配置文件并重启named服务

[root@dns ~]# named-checkconf /etc/named.conf
[root@dns ~]# systemctl restart named

第六步:在从服务器,设置允许访问,修改区域文件

[root@sla ~]# vim /etc/named.conf  

[root@sla ~]# vim /etc/named.rfc1912.zones
43
 44 zone "qingtang" IN {
 45         type slave;   #设置为从
 46         file "slaves/qingtang.zone";
 47         masters { 192.168.1.21; };     #主服务器地址
 48 };
 49

第七步:检查配置文件并重启服务

[root@sla ~]# named-checkconf /etc/named.rfc1912.zones
[root@sla ~]# systemctl restart named

第八步:客户端测试

访问主服务器:

[root@client ~]# echo "nameserver 192.168.1.21" > /etc/resolv.conf

[root@client ~]# nslookup www.qingtang

Server:                192.168.1.21

Address:        192.168.1.21#53

Name:        www.qingtang

Address: 192.168.1.20

访问从服务器

[root@client ~]# echo "nameserver 192.168.1.23" > /etc/resolv.conf

[root@client ~]# nslookup www.qingtang

Server:                192.168.1.23

Address:        192.168.1.23#53

Name:        www.qingtang

Address: 192.168.1.20

;