实验环境:
虚拟机a 作为服务端
设置双网卡ip 172.25.254.125 和1.1.1.125
ip route add dafault via 172.25.254.25 #设定网关
nameserver 172.25.254.125
虚拟机b 作为客户端
设置单网卡ip 172.25.254.225
vim /etc/resolv.conf
nameserver 172.25.254.125
ip route add dafault via 172.25.254.25
1.关于dns的名词解释
dns: domain name service(域名解析服务)
服务端:
bind #安装包
named #服务名称
/etc/named.conf #主配置文件
/var/named #数据目录
端口 #53
客户端:
/etc/resolv.conf ##dns指向文件
nameserver 172.25.254.20
测试:
host www.baidu.com #地址解析命令
dig www.baidu.com #地址详细解析信息命令
A记录 #ip地址叫做域名的Address 记录
SOA #授权起始主机
dns* . 13
次级 .com .net .edu .org ....
关于报错信息:
1.no servers could be reached ##服务无法访问(服务开启?火墙?网络?端口?)
2.服务启动失败 ##配置文件写错 journalctl -xe查询错误
3.dig 查询状态NOERROR
表示查询成功REFUSED
服务拒绝访问SERVFAIL
查询记录失败,(dns服务器无法到达上级,拒绝缓存)NXDOMAIN
此域名A记录在dns中不存在
2.dns服务的安装与启用
安装:dnf install bind.x86_64 -y
启用:
systemctl enable --now named
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
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能够缓存外部信息到本纪
3.高速缓存dns
20 forwarders { 114.114.114.114; };
虚拟b 测试:dig www.baidu.com
4.dns的正向解析
根据域名解析出ip
先创建并编辑好域名的记录文件
cd /var/named/
cp -p named.localhost westos.org.zone
vim westos.org.zone
$TTL 1D
@ IN SOA dns.westos.org. root.westos.org. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.org.
dns A 172.25.254.125
www CNAME www.a.westos.org.
www.a A 172.25.254.222
www.a A 172.25.254.111
上面代码org后面的.不可省略
编写区域文件
vim /etc/named.rfc1912.zones
zone "westos.org" IN { #维护的域名
type master; #当前服务器位主dns
file "westos.org.zone"; #域名记录文件
allow-update { none; }; #允许更新主机列表
};
在客户端测试
5.dns的反向解析
根据ip解析出域名
先创建并编辑好域名的记录文件
cd /var/named/
cp -p named.loopback 172.25.254.ptr
vim 172.25.254.ptr
$TTL 1D
@ IN SOA dns.westos.org. root.westos.org. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.org.
dns A 172.25.254.125
111 PTR www.westos.org.
222 PTR bbs.westos.org.
systemctl restart named
上面代码org后面的.不可省略
编写区域文件
vim /etc/named.rfc1912.zones
zone "254.25.172.in-addr.arpa" IN { #这里的ip必须倒着写
type master;
file "172.25.254.ptr";
allow-update { none; };
};
systemctl restart named
在客户端b中测试dig -x 172.25.254.111
dig -x 172.25.254.222