目录
一、dns简介
1、dns:domain name service(域名解析服务)
2、客户端:
dns指向文件 | /etc/resolv.conf |
地址解析命令 | host www.baidu.com |
地址详细解析信息命令 | dig www.baidu.com |
A记录 | ip地址(域名的Address 记录) |
SOA | 授权起始主机 |
- dns的层级
(1)顶级:.
总共有13个
(2)次级:如.com
、.net
、.edu
、.org
等
(3)再低一级:baidu.com
3、服务端:
安装包 | bind |
服务名称 | named |
主配置文件 | /etc/named.conf |
数据目录 | /var/named |
端口 | 53 |
4、报错信息
(1)no servers could be reached:服务无法被访问(依次检查服务是否开启,火墙是否允许,网络状态,端口是否被允许)
(2)服务启动失败:配置文件写错(使用journalctl -xe查询错误)
(3)dig查询状态
状态 | 含义 |
---|---|
NOERROR | 查询成功 |
REFUSED | 服务拒绝访问 |
SERVFAIL | 查询记录失败,(dns服务器无法到达上级,拒绝缓存) |
NXDOMAIN | 此域名A记录在dns中不存在 |
二、dns服务的安装及启用
1、安装
dnf install bind.x86_64 -y
2、启用
systemctl enable --now named.service
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
3、编辑配置文件
vim /etc/named.conf
systemctl restart named
11 listen - on port 53 { any; }; ## 在本地所有网络接口上开启 53 端口19 allow - query { any; }; ## 允许查询 A 记录的客户端列表34 dnssec - validation no; ## 禁用 dns 检测使 dns 能够缓存外部信息到本纪
测试:
对客户端做dns解析:
vim /etc/resolv.conf
nameserver 172.25.0.100
host www.baidu.com
dig www.baidu.com
对服务端做dns解析: dns为服务端主机ip
vim /etc/resolv.conf
nameserver 172.25.0.100
host www.baidu.com
dig www.baidu.com
三、高速缓存dns
- 当通过域名去访问服务器时,都会去访问外部的DNS服务器,那么每台主机的速度都会是一样的,都会比较慢
- 当设定了内部的DNS高速缓存后,第一次访问服务器会去访问外部DNS服务器,并将得到的信息缓存
- 下一次访问时,会直接读取内部的缓存,大大缩短访问服务器的时间
vim /etc/named.conf
systemctl restart named
四、dns的正向解析
- 将域名解析为ip地址
1、域名的正向解析
(1)编辑子配置文件
vim /etc/named.rfc1912.zones
(2)编辑域名A记录文件
cd /var/named/
cp -p named.localhost yyl.org.zone ##复制本地域名A记录文件及其权限
vim yyl.org.zone ##编辑域名A记录文件
一定记得加 .
(3)注释刚才开启的高速dns缓存
vim /etc/named.conf ##编辑主配置文件
systemctl restart named
测试:
dig www.yyl.org #查询正向解析
2、邮件解析
(1)在服务端安装postfix、mailx
- postfix:提供smtp协议(电子邮件传输协议)
- mailx:发送邮件的客户端
- 在DNS客户端安装可能会有相同端口的数据交互,影响实验效果
dnf install postfix mailx -y
systemctl enable --now postfix.service
邮件解析记录查询
dig -t mx yyl.org #邮件解析记录查询
五、dns的反向解析
- 将ip地址解析为域名
1、编辑子配置文件
vim /etc/named.rfc1912.zones
zone " 0.25.172 .in - addr.arpa" IN {type master;file "172 .25.0 .ptr";allow - update { none; };};
2、编辑ip记录文件
cd /var/named/
cp -p named.loopback 172.25.0.ptr ##复制本地ip记录文件及权限
vim 172.25.0.ptr
systemctl restart named
3、客户端测试
dig -x 172.25.0.100
六、dns的双向解析
- 使不同主机解析到的ip地址不同,原理为双解析体系
- 使0网段主机解析的ip地址到为172.25.0网段
- 使254网段主机解析的ip地址到为172.25.254网段
1、编辑配置文件
vim /etc/named.conf
2、生成编辑新的子配置文件
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.localnet ##复制原有子配置文件及权限
vim /etc/named.rfc1912.zones.inters ##编辑新的子配置文件
cp -p yyl.org.zone yyl.org.zone.localnet
vim yyl.org.zone.localnet
替换:
更改解析:
测试:
服务端:
客户端:
七、dns集群
- 为防止dns因访问量过高而功能受阻,创建辅助dns
- 辅助dns的数据来源为主dns
1、在辅助dns主机安装dns服务,并启用
(可参照前面 二、dns服务的安装及启用)
dnf install bind -y
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
systemctl enable --now named.service
vim /etc/named.conf
systemctl restart named
2、编辑子配置文件
vim /etc/named.rfc1912.zones
systemctl restart named
3、编辑主dns主机子配置文件
vim /etc/named.rfc1912.zones
4、编辑域名A记录文件
vim /var/named/yyl.org.zone
systemctl restart named
客户端:
再次修改:
八、ddns(dhcp+dns)
- 当通过dhcp获得ip时,dns解析可以得到对应的ip
实验环境:
网卡改为仅主机模式:
1、在A主机安装dhcp并配置dhcp
dnf install dhcp-server.x86_64 -y ##安装dhcp
systemctl enable --now dhcpd
cd /etc/dhcp/
cp -p /usr/share/doc/dhcp-server/dhcpd.conf.example dhcpd.conf ##复制模板到配置文件
vim dhcpd.conf 编辑配置文件
systemctl restart dhcpd
配置DHCP:
2、将B主机的ip获取方式设置为dhcp
dns的更新:
3、生成加密钥匙-a
:加密类型,-b
:加密长度,-n
:加密用途
dnssec-keygen -a HMAC-SHA256 -b 256 -n HOST yyl
4、编辑钥匙文件
cp /etc/rndc.key /etc/yyl.key -p ##复制钥匙文件模板以及权限
vim /etc/westos.key
5、编辑dns配置文件
vim /etc/named.conf
6、编辑dns子配置文件
vim /etc/named.rfc1912.zones
systemctl restart named
7、编辑dhcp配置文件
vim /etc/dhcp/dhcpd.conf
ddns-update-style interim; ##改为interim
systemctl restart dhcpd
测试:
1. 修改主机名
2. 解析:
修改DHCP:
再次解析: