DNS服务器部署

  • 一、DSN相关常识
  • 二、实验环境搭建
  • 三、DNS高速缓存
  • 四、企业内部的DNS正向解析
  • (1) 、地址解析
  • (2) 、规范域名转换
  • 五、邮箱地址解析信息
  • (1)、邮箱地址正向解析
  • (2)、反向解析
  • 六、DNS双向解析
  • 七、DNS集群服务
  • 八、DNS对DHCP的管理


一、DSN相关常识

1、dns:域名解析服务
2、测试:

host www.baidu.com          地址解析命令
dig www.baidu.com           地址详细解析信息命令

centos搭建dns服务器并设置转发器_vim


centos搭建dns服务器并设置转发器_linux_02

二、实验环境搭建

真实主机
1、开启火墙,开启路由功能

systemctl start firewalld
firewall-cmd --permanent --add-masquerade
firewall --relod

服务端

1、主机名称:server

2、ip及网关设定:

3、虚拟主机p2:ip为172.25.42.200

centos搭建dns服务器并设置转发器_vim_03


3、基本文件

bind

安装包

named

服务软件名称

/etc/named.conf

主配置文件

/var/named

数据目录

端口

53

客户端

1、主机名称:client

2、ip及网关设定:

3、虚拟主机p1:ip为172.25.42.100

centos搭建dns服务器并设置转发器_vim_04


4、dns指向文件

p1的域名解析服务器设为p2,利用p2搭建高速缓存dns。这样可以将p2缓存的数据分享给其他内外的主机使用。

vim /etc/resolv.conf                     dns指向文件  
nameserver   172.25.42.200               指向p2主机服务端

4、解析的含义

A 记录

ip地址叫做域名的Address记录

SOA

授权起始主机(类似与权威机构)

dns

顶级服务器.13台

次级.com .net .edu .org …

baidu.com

报错信息的解决
1、no sservers could be reached --服务无法访问解决:服务,火墙,网络,端口是否开启?
2、服务启动失败–配置文件写错
解决:journalctl-xe 查询错误
3、dig 查询信息

NOERROR

表示查询成功

REFUSED

服务拒绝访问

SERVFAIL

查询记录失败

NXDOMAIN

此域名A记录在dns中不存在

三、DNS高速缓存

服务端配置

dnf install bind.x86_64
systemctl enable --now named.service 
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload 
netstat -antlupe| grep named           查看开放端口,发现只有回环端口开放了53端口

centos搭建dns服务器并设置转发器_DNS_05

vim /etc/named.conf              图1、开启外部连接的53接口
systemctl restart named
netstat -antlp| grep named       图2、查看本机的53端口开启没有

图1

centos搭建dns服务器并设置转发器_vim_06


图2、发现本机的53端卡已经开启

centos搭建dns服务器并设置转发器_DNS_07


客户端

1、设置地址解析的服务器为p2

将客户端的的DNS访问地址设置为为服务端的ip地址:172.25.254.100

vim /etc/resolv.conf 

///
nameserver 172.25.42.200
/

2、访问测试

dig www.taobao.com

centos搭建dns服务器并设置转发器_vim_08


第一次访问的www.taobao.com的延迟为41ms

centos搭建dns服务器并设置转发器_DNS_09


第二次访问的的延迟几乎为0ms

完成以上操作之后,此时高速缓存 dns 服务器就已经搭建完成,当企业中的一台主机访问过一个网址之后,其他的主机在访问时便会从搭建 dns 服务器的主机中获得数据,会大大节省时间

四、企业内部的DNS正向解析

(1) 、地址解析

服务端
1、注释之前的dns询问地址

/etc/named.conf

centos搭建dns服务器并设置转发器_DNS_10


2、对子配置文件vim /etc/named.rfc1912.zones 进行更改(主配置文件也有其功能,子配置文件更加规范)

centos搭建dns服务器并设置转发器_服务器_11


3、对域名A记录文件添加内容

cd /var/named/                         进入数据目录
cp -p named.localhost ck.org.zone      将原本的读取A域名记录地址改为我们设定的域名A记录文件.-p 表示复制权限;
vim ck.org.zone

不加点的会自动补齐域名

centos搭建dns服务器并设置转发器_DNS_12


客户端

测试:

dig www.ck.org

centos搭建dns服务器并设置转发器_linux_13

ping www.ck.org

解析地址有两个,因为对域名是进行轮叫,所以一会能ping通,一会不能ping通解析的ip地址

centos搭建dns服务器并设置转发器_服务器_14

ping dns.ck.org

因为dns.ck.org固定只有一个ip解析,能ping通这个解析的ip

centos搭建dns服务器并设置转发器_linux_15

(2) 、规范域名转换

公司的名字叫ck,但是我们内部的域名不是ck。为了方便访问我们,我们把域名解析做了转换,这样别人还是可以通过ck这个域名来发访问我们,我们内容对域名进行转换规范即可。
1、其他操作和上面相同,更改具体的文件内容即可

vim /var/named/ck.org.zone
systemctl restart named

centos搭建dns服务器并设置转发器_linux_16


2、测试结果

centos搭建dns服务器并设置转发器_vim_17

五、邮箱地址解析信息

(1)、邮箱地址正向解析

对输入的邮件域名解析为对应的ip地址
服务端
smtp:简单邮件传输协议
mx记录:对邮件投递目的域名地址做正向解析(qq–1.1.1.1)
邮件解析过程如下:
1、安装:postfix(邮件的传输软件,可以执行smtp),mailx(邮件客户端)

dnf install postfix mailx -y
systemctl enable --now postfix.service

2、将地址解析更改为本台服务器的ip172.25.254.200
3、对A记录地址做添加,将邮件解析加入

vim /var/named/ck.org.zone

centos搭建dns服务器并设置转发器_vim_18

systemctl restart named

客户端
smtp:简单邮件传输软件
pop3:邮件查看软件
ptr记录:对发送过来的ip地址做反向解析(1.1.1.1–qq)
1、安装:postfix(邮件的传输软件,可以执行smtp),mailx(邮件客户端)

dnf install postfix mailx -y
systemctl enable --now postfix.service

2、发送邮件查询状态

已经将ck.org域名解析为172.25.42.100,正向解析成功

centos搭建dns服务器并设置转发器_DNS_19

(2)、反向解析

将ip地址解析为域名
服务端
1、更改子配置文件,写入我们的对应的反向解析的文件
类似于声明此文件为反向解析文件

vim /etc/named.rfc1912.zones

centos搭建dns服务器并设置转发器_DNS_20


2、进入数据目录,复制反向记录模板为我们读取的A记录文件

cd /var/named/
cp named.loopback 172.25.254.ptr -p

3、编辑A记录模板

vim 172.25.254.ptr

centos搭建dns服务器并设置转发器_服务器_21

systemctl restart named.service

服务端

centos搭建dns服务器并设置转发器_linux_22

六、DNS双向解析

双向解析的意义在于不同的网段的客户,相同的域名解析出不同网段的地址(内网用户解析出内网的,外网解析出外网地址)

服务端

添加双网卡

这里双网卡的目的是为了让不同网段的客户端都能将地址解析的服务器设为本台虚拟机,可以实现通网段的联通。

centos搭建dns服务器并设置转发器_DNS_23


设置双网段:

ip1:172.25.254.100        (内网段做地址解析可以设置此为服务端)
ip2:172.25.0.100          (外网段做地址解析可以设置此为服务端)

1、更改主配置文件,改变读取文件规则

vim /etc/named.conf

不再像之前那样只读取/etc/named.rfc1912.zones这个文件。

对于类似于内网的172.25.254.0/24网段的主机,让其解析的文件为子文件1(/etc/named.rfc1912.zones)

内网的读取目录和A记录文件之前已经配好了

对于类似与外网的其他网段用户,让其解析的文件为子文件2(/etc/named.rfc1912.zones.inter)

外网的读取目录和A记录还没有配置

centos搭建dns服务器并设置转发器_vim_24


没有严格的内外网解析,只是分别解析的地址不一样

2、配置外网的子配置文件
将之前子模板文件1(内网解析文件)复制一份给子文件2(外网解析文件),并对子文件2(外网解析文件))进行更改

cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.inter -p 注意-p复制全部权限
vim /etc/named.rfc1912.zones.inter

在这里设置外网的解析读取文件为/etc/named.rfc1912.zones.inter

centos搭建dns服务器并设置转发器_linux_25


3、将内网A记录文件拷贝为新的外网解析A记录文件

cp ck.org.zone ck.org.inter -p

4、改变外网A记录文件内容

vim ck.org.inter

centos搭建dns服务器并设置转发器_linux_26

访问测试

1、服务端本机做地址解析

将DNS访问地址设为自己的ip

(172.25.254.100),进行本机测试

因为本机处于内网段(172.25.42.100),相当于内网段进行测试

centos搭建dns服务器并设置转发器_linux_27

2、客户端测试

修改ip为172.254.0.200

将DNS解析地址改为客户端设置的172.25.0.100

进行测试,相当与外网测试

centos搭建dns服务器并设置转发器_DNS_28


结果发现对于相同的域名,内网解析出了内网对应的ip,外网对应的ip。

七、DNS集群服务

因为换了机器,这里

服务端ip:     172.25.254.100
客户端ip:     172.25.254.200

服务端(主DNS)
1、注释之前的双向解析配置,恢复最初,便于查看此实验效果。

vim /etc/named.conf

centos搭建dns服务器并设置转发器_DNS_29

systemctl restart named

2.修改子配置文件

vim /etc/named.rfc1912.zones

这里相当于把客户端加入DNS集群服务

centos搭建dns服务器并设置转发器_服务器_30

systemctl restart named

2、主DNS更改地址解析,同步解析到副NDS

vim /var/named/ck.org.zone

这样每次服务端更新地址解析时,都会将更改的解析信息通知到加入集群服务的其他机器

centos搭建dns服务器并设置转发器_DNS_31

systemctl restart named

客户端(副DNS)
ip为172.25.254.200
1、安装DNS集群软件

dnf install bind
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload

2、编辑主配置文件

vim /etc/named.conf

注释掉开启网络接口、允许查询A记录的客户端列表的语句设定(注释后默认在本地所有网络接口上开启53端口,允许所有访问客户端查询A记录),关闭dns安全检测功能参数

centos搭建dns服务器并设置转发器_服务器_32


centos搭建dns服务器并设置转发器_linux_33


3、编辑子配置文件

vim /etc/named.rfc1912.zones

设置DNS集群主机,加入集群

centos搭建dns服务器并设置转发器_服务器_34


此时更新方式为slave同步方式

systemctl restart named

4、将DNS访问端改为自己主机(客户端)172.25.254.200。进行测试

centos搭建dns服务器并设置转发器_tcp/ip_35


发现客户端的DNS的解析和服务端的解析相同,证明加入了集群服务5、当主DNS更改了地址解析,serial数值变动时,会同步信息到副DNS

centos搭建dns服务器并设置转发器_linux_36

八、DNS对DHCP的管理

服务端
1、下载dhcp并启用

dnf install dhcp-server-12:4.3.6-30.el8.x86_64 
cp /usr/share/doc/dhcp-server/dhcpd.conf.example  /etc/dhcp/dhcpd.conf 
vim /etc/dhcp/dhcpd.conf
systemctl restart dhcpd

centos搭建dns服务器并设置转发器_linux_37


2、清空/mnt里面的文件

3、生成密钥

cd /mnt
dnssec-keygen --help        查案加密方式
dnssec-keygen -a HMAC-SHA256 -b 128 -n HOST ckkey          生成密钥,加密方式为HMAC-SHA256,名字叫ckkey

centos搭建dns服务器并设置转发器_服务器_38


3、查看密钥密的代码

centos搭建dns服务器并设置转发器_DNS_39


4、复制模板到/etc/ck.key,更改模板的配置文件

cp /etc/rndc.key  /etc/ck.key -p
vim /etc/ck.key

相当于设置账户和密码的文件

centos搭建dns服务器并设置转发器_vim_40


此时已经生成密钥,但是和dns没关系,需要将密钥和DNS联系起来

5、对DNS主配置文件进行更改

将之前的账户和密码文件加入到DNS服务

centos搭建dns服务器并设置转发器_linux_41

vim /etc/named.rfc1912.zones

子配置文件设置更新DNS的文件

centos搭建dns服务器并设置转发器_linux_42


6、测试

使用账户密码即可修改DNS的A记录文件

centos搭建dns服务器并设置转发器_tcp/ip_43


更新原理:更改后会都会在下列地址读取以下记录了操作的两个文件,现在已经支持更新

centos搭建dns服务器并设置转发器_tcp/ip_44

7、将更新文件删除掉继续下一步操作

rm -fr /var/named/ck.org.zone.jnl

8、更改dhcpd服务

vim /etc/dhcp/dhcpd.conf

dhcp服务获取账户和密码文件,可以获取地址解析。

centos搭建dns服务器并设置转发器_linux_45


9、重启服务

systemctl restart dhcpd
systemctl restart named

客户端

1、将客户端的ip获取方式改为dhcp后获得的ip为172.25.254.60

2、查看自己的主机名字

centos搭建dns服务器并设置转发器_DNS_46


3、重启网卡获得ip刷新为172.25.254.61

4、进行测试

dig client.ck.org            解析自己的域名

centos搭建dns服务器并设置转发器_DNS_47