目录
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