第17章Linux下的DNS域名解析
Linux下的DNS域名解析服务
BIND域名服务基础
使用BIND构建域名服务器
DNS 系统的作用及类型2-1
DNS 系统的作用
⚫ 正向解析:根据主机名称(域名)查找对应的 IP 地址
⚫ 反向解析:根据 IP 地址查找对应的主机域名
DNS 系统的分布式数据结构
DNS 系统的作用及类型2-2
缓存域名服务器
⚫ 也称为 唯高速缓存服务器
⚫ 通过向其他域名服务器查询获得域名 -> IP 地址记录
⚫ 将域名查询结果缓存到本地,提高重复查询时的速度
主域名服务器
⚫ 特定 DNS 区域的官方服务器,具有唯一性
⚫ 负责维护该区域内所有域名 -> IP 地址的映射记录
从域名服务器
⚫ 也称为 辅助域名服务器
⚫ 其维护的 域名 -> IP 地址记录 来源于主域名服务器
BIND 域名服务2-1
BIND(Berkeley Internet Name Daemon)
⚫ 伯克利 Internet 域名服务
⚫ 官方站点:https://www.isc.org/
相关软件包
⚫ bind.x86_64 32:9.11.4-9.P2.el7
⚫ bind-chroot.x86_64 32:9.11.4-9.P2.el7
⚫ bind-libs.x86_64 32:9.11.4-9.P2.el7
⚫ bind-utils.x86_64 32:9.11.4-9.P2.el7
BIND 域名服务2-2
BIND 服务器端程序
⚫ 主要执行程序:/usr/sbin/named
⚫ 服务脚本:/usr/lib/systemd/system/named.service
⚫ 默认监听端口:53
⚫ 主配置文件:
◆ /etc/named.conf
⚫ 保存 DNS 解析记录的数据文件位于:
◆ /var/named/chroot/var/named/
主配置文件 named.conf 2-1
全局配置部分
⚫ 设置 DNS 服务器的全局参数
⚫ 包括监听地址/端口、数据文件的默认位置等
⚫ 使用 options { …… }; 的配置段
options { listen-on port 53 { 173.16.16.1; };
directory "/var/named";
allow-query { 192.168.1.0/24; 173.16.16.0/24; };
};
主配置文件 named.conf 2-2
区域配置部分
⚫ 设置本服务器提供域名解析的特定 DNS 区域
⚫ 包括域名、服务器角色、数据文件名等
⚫ 使用 zone “区域名” IN { …… }; 的配置段
zone "yunban.com" IN {
type master; file "yunban.com.zone";
allow-transfer { 173.16.16.2; };
};
zone "16.16.173.in-addr.arpa" IN {
type master;
file "173.16.16.arpa";
};
区域数据配置文件3-1
全局 TTL 配置项及 SOA 记录
区域数据配置文件3-2
域名解析记录
区域数据配置文件3-3
域名解析记录
区域数据配置文件的特殊应用
基于域名解析的负载均衡
对配置文件进行语法检查
named-checkconf 工具
构建缓存域名服务器4-1
基本配置步骤
⚫ 建立 named.conf 主配置文件
◆ 通过根域或者转发机制指定解析源
⚫ 确认建立 named.ca 根区域数据文件
◆ 若使用转发机制则无需此步骤
⚫ 启动 named 服务
⚫ 验证缓存域名服务器
◆ Nslookup 命令
构建缓存域名服务器4-2
建立主配置文件 named.conf
⚫ 配置DNS转发器
[root@centos7 ~]# vi /etc/named.conf
13 listen-on port 53 { 192.168.1.20; };
14 # listen-on-v6 port 53 { ::1; };
15 forwarders { 114.114.114.114; };
22 allow-query { any; };
⚫ 配置根区域
55 zone "." IN {
56 type hint;
57 file "named.ca";
58 };
构建缓存域名服务器4-3
确认根域的区域数据文件 named.ca
[root@centos7 ~]# vi /var/named/named.ca
构建缓存域名服务器4-4
启动 named 服务
[root@centos7 ~]# systemctl restart named
验证缓存域名服务器
⚫ 在客户机中将 DNS 服务器设为该缓存域名服务器
[root@centos7 ~]# nslookup
> www.baidu.com
Server: 192.168.1.20
Address: 192.168.1.20#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 39.156.66.18
构建主域名服务器5-1
基本步骤
⚫ 确认本机网络地址、主机映射、默认 DNS 服务器地址
⚫ 建立主配置文件 named.conf
⚫ 建立正、反向区域数据文件
⚫ 启动 named 服务,或重载配置
⚫ 验证主域名服务器
构建主域名服务器5-2
确认本机网络地址、主机映射、DNS 服务器地址
[root@ns1 ~]# tail /etc/hosts
127.0.0.1 localhost ns1.yunban.cn
::1 localhost ns1.yunban.cn
[root@ns1 ~]# tail /etc/resolv.conf
# Generated by NetworkManager
search yunban.cn
nameserver 192.168.1.20
构建主域名服务器5-3
建立主配置文件 named.conf
[root@ns1 ~]# vi /etc/named.conf
60 zone "yunban.cn" IN {
61 type master;
62 file "yunban.cn.dns";
63 };
64
65 zone "1.168.192.in-addr.arpa" IN {
66 type master;
67 file "1.168.192.dns";
68 };
构建主域名服务器5-4
建立正、反向区域数据文件
[root@ns1 ~]# cd /var/named/
[root@ns1 named]# cp named.empty yunban.cn.dns
[root@ns1 named]# vi yunban.cn.dns
1 $TTL 3H
2 @ IN SOA ns1.yunban.cn. root.yunban.cn. (
3 0 ; serial
4 1D ; refresh
5 1H ; retry
6 1W ; expire
7 3H ) ; minimum
8 NS ns1.yunban.cn.
9 ns1 A 192.168.1.20
10 mail A 192.168.1.21
构建主域名服务器5-5
建立反向区域数据文件
[root@ns1 named]# cp yunban.cn.dns 1.168.192.dns
[root@ns1 named]# vi 1.168.192.dns
8 NS ns1.yunban.cn.
9 20 PTR ns1.yunban.cn.
10 21 PTR mail.yunban.cn.
[root@ns1 named]# chown named.named yunban.cn.dns 1.168.192.dns
启动或者重新加载 named 服务程序
[root@ns1 named]# systemctl restart named
验证主域名服务器
实验:
主机:缓存域名服务器
安装
yum install -y bind
查看位置
另一个终端
查看
显示chroot
查询man手册
编辑etc
Hosts文件
修改文件
修改主机名
编辑resliv文件
备份
修改配置文件
删除行
剩下1-8
检查服务状态
开机自动启动
查看根区域数据文件
启用防火墙端口
在clinet端
检查域名解析
另一种写法
另一种方法
主域名服务器,第一个终端
配置主域名服务器
建立主配置文件
修改named.conf文件
添加zone
拷贝文件属性和权限
-p 保持文件的属性和权限
配置文件
正向解析
反向解析
修改配置文件
检查工具
检查区域数据文件
检查另一个
重新加载服务
构建从服务器2-1
主服务器配置
[root@ns1 named]# vi /etc/named.conf
60 zone "yunban.cn" IN {
61 type master;
62 file "yunban.cn.dns";
63 allow-update { 192.168.1.22; }
64 };
65
66 zone "1.168.192.in-addr.arpa" IN {
67 type master;
68 file "1.168.192.dns";
69 allow-update { 192.168.1.22; }
70 };
构建从服务器2-2
从服务器配置
[root@ns2 amed]# vi /etc/named.conf
60 zone "yunban.cn" IN {
61 type slave;
62 file “slaves/yunban.cn.dns";
63 masters { 192.168.1.22; };
64 };
65
66 zone "1.168.192.in-addr.arpa" IN {
67 type slave;
68 file “slaves/1.168.192.dns";
69 masters { 192.168.1.22; };
70 }