DNS服务器部署
- 一、DSN相关常识
- 二、实验环境搭建
- 三、DNS高速缓存
- 四、企业内部的DNS正向解析
- (1) 、地址解析
- (2) 、规范域名转换
- 五、邮箱地址解析信息
- (1)、邮箱地址正向解析
- (2)、反向解析
- 六、DNS双向解析
- 七、DNS集群服务
- 八、DNS对DHCP的管理
一、DSN相关常识
1、dns:域名解析服务
2、测试:
host www.baidu.com 地址解析命令
dig www.baidu.com 地址详细解析信息命令
二、实验环境搭建
真实主机
1、开启火墙,开启路由功能
systemctl start firewalld
firewall-cmd --permanent --add-masquerade
firewall --relod
服务端
1、主机名称:server
2、ip及网关设定:
3、虚拟主机p2:ip为172.25.42.200
3、基本文件
bind | 安装包 |
named | 服务软件名称 |
/etc/named.conf | 主配置文件 |
/var/named | 数据目录 |
端口 | 53 |
客户端
1、主机名称:client
2、ip及网关设定:
3、虚拟主机p1:ip为172.25.42.100
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端口
vim /etc/named.conf 图1、开启外部连接的53接口
systemctl restart named
netstat -antlp| grep named 图2、查看本机的53端口开启没有
图1
图2、发现本机的53端卡已经开启
客户端
1、设置地址解析的服务器为p2
将客户端的的DNS访问地址设置为为服务端的ip地址:172.25.254.100
vim /etc/resolv.conf
///
nameserver 172.25.42.200
/
2、访问测试
dig www.taobao.com
第一次访问的www.taobao.com的延迟为41ms
第二次访问的的延迟几乎为0ms
完成以上操作之后,此时高速缓存 dns 服务器就已经搭建完成,当企业中的一台主机访问过一个网址之后,其他的主机在访问时便会从搭建 dns 服务器的主机中获得数据,会大大节省时间
四、企业内部的DNS正向解析
(1) 、地址解析
服务端
1、注释之前的dns询问地址
/etc/named.conf
2、对子配置文件vim /etc/named.rfc1912.zones 进行更改(主配置文件也有其功能,子配置文件更加规范)
3、对域名A记录文件添加内容
cd /var/named/ 进入数据目录
cp -p named.localhost ck.org.zone 将原本的读取A域名记录地址改为我们设定的域名A记录文件.-p 表示复制权限;
vim ck.org.zone
不加点的会自动补齐域名
客户端
测试:
dig www.ck.org
ping www.ck.org
解析地址有两个,因为对域名是进行轮叫,所以一会能ping通,一会不能ping通解析的ip地址
ping dns.ck.org
因为dns.ck.org固定只有一个ip解析,能ping通这个解析的ip
(2) 、规范域名转换
公司的名字叫ck,但是我们内部的域名不是ck。为了方便访问我们,我们把域名解析做了转换,这样别人还是可以通过ck这个域名来发访问我们,我们内容对域名进行转换规范即可。
1、其他操作和上面相同,更改具体的文件内容即可
vim /var/named/ck.org.zone
systemctl restart named
2、测试结果
五、邮箱地址解析信息
(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
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,正向解析成功
(2)、反向解析
将ip地址解析为域名
服务端
1、更改子配置文件,写入我们的对应的反向解析的文件
类似于声明此文件为反向解析文件
vim /etc/named.rfc1912.zones
2、进入数据目录,复制反向记录模板为我们读取的A记录文件
cd /var/named/
cp named.loopback 172.25.254.ptr -p
3、编辑A记录模板
vim 172.25.254.ptr
systemctl restart named.service
服务端
六、DNS双向解析
双向解析的意义在于不同的网段的客户,相同的域名解析出不同网段的地址(内网用户解析出内网的,外网解析出外网地址)
服务端
添加双网卡
这里双网卡的目的是为了让不同网段的客户端都能将地址解析的服务器设为本台虚拟机,可以实现通网段的联通。
设置双网段:
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记录还没有配置
没有严格的内外网解析,只是分别解析的地址不一样
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
3、将内网A记录文件拷贝为新的外网解析A记录文件
cp ck.org.zone ck.org.inter -p
4、改变外网A记录文件内容
vim ck.org.inter
访问测试
1、服务端本机做地址解析
将DNS访问地址设为自己的ip
(172.25.254.100),进行本机测试
因为本机处于内网段(172.25.42.100),相当于内网段进行测试
2、客户端测试
修改ip为172.254.0.200
将DNS解析地址改为客户端设置的172.25.0.100
进行测试,相当与外网测试
结果发现对于相同的域名,内网解析出了内网对应的ip,外网对应的ip。
七、DNS集群服务
因为换了机器,这里
服务端ip: 172.25.254.100
客户端ip: 172.25.254.200
服务端(主DNS)
1、注释之前的双向解析配置,恢复最初,便于查看此实验效果。
vim /etc/named.conf
systemctl restart named
2.修改子配置文件
vim /etc/named.rfc1912.zones
这里相当于把客户端加入DNS集群服务
systemctl restart named
2、主DNS更改地址解析,同步解析到副NDS
vim /var/named/ck.org.zone
这样每次服务端更新地址解析时,都会将更改的解析信息通知到加入集群服务的其他机器
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安全检测功能参数
3、编辑子配置文件
vim /etc/named.rfc1912.zones
设置DNS集群主机,加入集群
此时更新方式为slave同步方式
systemctl restart named
4、将DNS访问端改为自己主机(客户端)172.25.254.200。进行测试
发现客户端的DNS的解析和服务端的解析相同,证明加入了集群服务5、当主DNS更改了地址解析,serial数值变动时,会同步信息到副DNS
八、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
2、清空/mnt里面的文件
3、生成密钥
cd /mnt
dnssec-keygen --help 查案加密方式
dnssec-keygen -a HMAC-SHA256 -b 128 -n HOST ckkey 生成密钥,加密方式为HMAC-SHA256,名字叫ckkey
3、查看密钥密的代码
4、复制模板到/etc/ck.key,更改模板的配置文件
cp /etc/rndc.key /etc/ck.key -p
vim /etc/ck.key
相当于设置账户和密码的文件
此时已经生成密钥,但是和dns没关系,需要将密钥和DNS联系起来
5、对DNS主配置文件进行更改
将之前的账户和密码文件加入到DNS服务
vim /etc/named.rfc1912.zones
子配置文件设置更新DNS的文件
6、测试
使用账户密码即可修改DNS的A记录文件
更新原理:更改后会都会在下列地址读取以下记录了操作的两个文件,现在已经支持更新
7、将更新文件删除掉继续下一步操作
rm -fr /var/named/ck.org.zone.jnl
8、更改dhcpd服务
vim /etc/dhcp/dhcpd.conf
dhcp服务获取账户和密码文件,可以获取地址解析。
9、重启服务
systemctl restart dhcpd
systemctl restart named
客户端
1、将客户端的ip获取方式改为dhcp后获得的ip为172.25.254.60
2、查看自己的主机名字
3、重启网卡获得ip刷新为172.25.254.61
4、进行测试
dig client.ck.org 解析自己的域名