实验环境:两台主机,一台连接外网,一台连接内网,连台主机可以相互通信
dns服务器部署
1.关于dns的名词解释
1.DNS:Domain Name System域名系统,在TCP/IP网络中有非常重要的地位,能够提供域名IP地址的解析服务
2.顶级域:
全球共有13台顶级域域服务器,美国10台,另外3台分别在英国/瑞士/日本
共有3种类型的顶级域:
①组织域: 采用3个字符的代号,表示DNS域中所包含的组织的主要功能或活动,如:com表示商业机构组织,edu表示教育机构组织,gov表示政府机构组织,mil为军事机构组织,net为网络机构组织,org为非营利机构组织,int为国际机构组织。
②地址域: 采用2个字符的国家或地区代号,如cn为中国,kr为韩国,us为美国。
③反向域: 特殊域,名字为in-addr.arpa,用于将ip地址映射到名字(反向查询)
3.DNS服务器和DNS缓存
DNS服务器: 运行DNS服务器程序的计算机,储存DNS数据库信息,DNS服务器会尝试解析客户机的查询请求。
DNS缓存: DNS服务器在解析客户机请求时,如果本地没有该DNS信息,则会查询那其他DNS服务器,当其他域名服务器返回查询结果时,该DNS服务器会将结果记录在本地的缓存中,成为DNS缓存,当下一次客户机提交相同请求时,DNS服务器能够直接使用缓存中的DNS信息进行解析。
4.正向解析与反向解析
正向解析:指的是域名到IP地址的解析过程。
反向解析:指的是从IP地址到域名的解析过程。反向解析的作用为服务器的身份验证。
服务端
bind 安装包
named 服务名称
/etc/named.conf 主配置文件
/var/named 数据目录
端口 53
A记录 ip地址叫做域名的Address 记录
SOA 授权起始主机
dns顶级 . 13
次级 .com .net .edu .org .... baidu.com
客户端:
/etc/resolv.conf dns指向文件
nameserver IP地址
测试:
host www.baidu.com 地址解析命令
dig www.baidu.com 地址详细解析信息命令
关于报错信息:1.no servers could be reached 服务无法访问(服务开启?火墙?网络?端口?)
2.服务启动失败 配置文件写错 journalctl -xe查询错误
3.dig 查询状态
NOERROR 表示查询成功
REFUSED 服务拒绝访问
SERVFAIL 查询记录失败,(dns服务器无法到达上级,拒绝缓存)
NXDOMAIN 此域名A记录在dns中不存在
2.dns服务的安装与启用
安装
dnf install bind -y
启用:systemctl enable --now named
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
vim /etc/named.conf
11行 listen-on port 53 { any; }; 在本地所有网络接口上开启53端口
19行 allow-query { any; }; 允许查询A记录的客户端列表
34行 dnssec-validation no; 禁用dns检测使dns能够缓存外部信息到本纪
systemctl restart named
3.高速缓存
服务器端
测试端
dig www.baidu.com
4.dns的正向解析
vim /etc/named.rfc1912.zone
zone "westos.com" IN { 维护的域名
type master; 当前服务器位主dns
file "westos.com.zone"; 域名A记录文件
allow-update { none; }; 允许更新主机列表
};
cd /var/named/
cp -p named.localhost westos.com.zone
vim westos.org.zone
$TTL 1D TIME-TO-LIVE(dns地址保存时间长度)
@ IN SOA dns.westos.com. root.westos.com (
0 ; serial 域名版本序列号
1D ; refresh 刷新时间(辅助dns)
1H ; retry 重试时间(辅助dns)
1W ; expire 过期时间
3H ) ; minimum A记录最短有效期
NS dns.westos.org.
dns A 192.168.155.177
www A 192.168.155.177
systemctl restart named
测试:dig www.westos.com 查询正向解析
5.dns的反向解析
vim /etc/named.rfc1912.zones
zone "0.168.192.in-addr.arpa" IN {
type master;
file "192.168.0.ptr";
allow-update { none; };
};
cd /var/named/
cp -p /var/named/named.loopback /var/named/192.168.43.ptr
vim 192.168.43.ptr
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 192.168.43.201
201 PTR mail.westos.org.
systemctl restart named
测试: dig -x 192.168.43.201