一.关于dns的名词解释
(一)dns:
domain name service(域名解析服务)
https://baike.baidu.com/item/%E5%9F%9F%E5%90%8D%E7%B3%BB%E7%BB%9F/2251573?fromtitle=DNS&fromid=427444&fr=aladdin
(二)关于客户端:
node2.westos.org 172.25.254.202
/etc/resolv.conf dns指向文件
nameserver 172.25.254.102
(三)测试:
host www.baidu.com ##地址解析命令
dig www.baidu.com ##地址详细解析信息命令
A记录 ip地址叫做域名的Address 记录
SOA 授权起始主机
dns顶级: . 13
次级: .com .net .edu .org …
baidu.com
(四)关于服务端
node1.westos.org 172.25.254.102
bind 安装包
named 服务名称
/etc/named.conf 主配置文件
/var/named 数据目录
端口 53
(五)关于报错信息:
1.no servers could be reached 服务无法访问(服务开启?火墙?网络?端口?)
2.服务启动失败 配置文件写错 journalctl -xe查询错误
3.dig 查询状态
NOERROR 表示查询成功
REFUSED 服务拒绝访问
SERVFAIL 查询记录失败,(dns服务器无法到达上级,拒绝缓存)
NXDOMAIN 此域名A记录在dns中不存在
二.dns服务的安装与启用
(一)安装
dnf install bind.x86_64 -y
(二)启用
systemctl enable --now named
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
172.25.254.2真机路由伪装,172.25.254.102 node1 可以上网
vim /etc/named.conf
11 listen-on port 53 { any; }; 在本地所有网络接口上开启53端口
19 allow-query { any; }; 允许查询A记录的客户端列表
34 dnssec-validation no; 禁用dns检测使dns能够缓存外部信息到本机
20 forwarders { 114.114.114.114; }; 高速缓存
systemctl restart named
测试
三.dns的正向解析
(一)vim /etc/named.rfc1912.zone
zone "dg.org" IN { ##维护的域名
type master; ##当前服务器位主dns
file "dg.org.zone"; ##域名A记录文件
allow-update { none; }; ##允许更新主机列表
};
(二)
cd /var/named/
cp -p named.localhost dg.org.zone
vim dg.org.zone
$TTL 1D #TIME-TO-LIVE(dns地址保存时间长度)
@ IN SOA dns.dg.org. lee.dg.org. ( #SOA授权起始(Start of Authority)
0 ; serial #域名版本序列号
1D ; refresh #刷新时间(辅助dns)
1H ; retry #重试时间(辅助dns)
1W ; expire #过期时间(辅助dns,查询失败过期停止对辅助域名的应答)
3H ) ; minimum #A记录最短有效期
NS dns.dg.org
dns A 172.25.254.102
www CNAME lee1.dg.org. ##规范域名
lee1 A 172.25.254.112 ##轮回域名
lee1 A 172.25.254.221
news A 172.25.254.122 ##正向解析记录
dg.org. MX 1 172.25.254.102. ##邮件解析记录
systemctl restart named
(三)测试
dig www.dg.org #查询正向解析
dig -t mx dg.org #邮件解析记录查询
dig news.dg.org
四.dns的反向解析
(一)
vim /etc/named.rfc1912.zones
zone "254.25.172.in-addr.arpa" IN {
type master;
file "172.25.254.ptr";
allow-update { none; };
};
(二)
cd /var/named/
cp -p named.loopback 172.25.254.ptr
vim 172.25.254.ptr
systemctl restart named
(三)测试:
dig -x 172.25.254.180
五.dns的双向解析
(一)实验环境:
1.客户端2台
(1)1.1.1.202 node2
vim /etc/resolv.conf
nameserver 1.1.1.102
(2)172.25.254.2 xd
vim /etc/resolv.conf
nameserver 172.25.254.102
2.服务端1台node1 ,2个网段的ip
1.1.1.102
172.25.254.102
(二)服务端配置方式:
1.
cd /var/named/
cp -p dg.org.zone dg.org.inter
vim dg.org.inter
2.
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.inter
vim /etc/named.rfc1912.zones.inter
systemctl restart named
(三)测试:
分别在2个网段的主机中作同样域名的地址解析,得到的A记录不同
172.25.254网段
1.1.1.网段
六.dns集群
(一)node1 主dns:
1.
vim /etc/named.rfc1912.zones
zone "dg.org" IN {
type master;
file "dg.org.zone";
allow-update { none; };
also-notify { 172.25.254.202; }; ##主动通知的辅助dns主机
};
2.vim /var/named/dg.org.zone
(二)node2 slave dns:
1.dnf install bind -y
firewall-cmd --add-service=dns
2.
vim /etc/named.conf
listen-on port 53 { any; };
allow-query { any; };
dnssec-validation no;
vim /etc/named.rfc1912.zone
zone "dg.org" IN {
type slave; ##dns状态位辅助dns
masters { 172.25.254.102; }; ##主dns
file "slaves/dg.org.zone"; ##同步数据文件
};
systemctl restart named
(三)测试
七.dns的更新
(一)dns基于ip地址的更新:
1.在dns/node1中设定:
vim /etc/named.rfc1912.zones
2.测试:
在172.25.254.202
nsupdate
> server 172.25.254.102
> update add hi.dg.org 86400 A 172.25.254.190 ##新曾A记录
> send
> update delete hi.dg.org ##删除A记录
> send
(二)dns基于key更新的方式:
1.
dnssec-keygen -a HMAC-SHA256 -b 128 -n HOST dg
cp -p /etc/rndc.key /etc/dg.key
2.vim /etc/dg.key
3.vim /etc/named.conf
4.vim /etc/named.rfc1912.zones
systemctl restart named
5.测试
八.ddns(dhcp+dns)
(一)
dnf instsall dhcp-server -y
vim /etc/dhcpd/dhcpd.conf
dns的key更新
(二)测试:
设定测试主机网络工作方式为dhcp
设定主机名称node2.dg.org
重启网络
dig node2.dg.org
可以得到正确解析