一、DNS系统的作用及类型 DNS 系统的作用 正向解析:根据主机名称(域名)查找对应的 IP 地址 反向解析:根据 IP 地址查找对应的主机域名 DNS 系统的分布式数据结构 • 缓存域名服务器 – 也称为高速缓存服务器 – 通过向其他域名服务器查询获得域名 -> IP 地址记录 – 将域名查询结果缓存到本地,提高重复查询时的速度 • 主域名服务器 – 特定 DNS 区域的官方服务器,具有唯一性 – 负责维护该区域内所有域名 -> IP 地址的映射记录 • 从域名服务器 – 也称为 辅助域名服务器 – 其维护的 域名 -> IP 地址记录 来源于主域名服务器

二 BIND安装配置 • BIND(Berkeley Internet Name Daemon) – 伯克利 Internet 域名服务 – 官方站点:https://www.isc.org/ • 相关软件包 – bind-9.9.4-37.el7.x86_64.rpm – bind-utils-9.9.4-37.el7.x86_64.rpm – bind-libs-9.9.4-37.el7.x86_64.rpm – bind-chroot-9.9.4-37.el7.x86_64.rpm • BIND 服务器端程序 – 主要执行程序:/usr/sbin/named – 默认监听端口:53 – 主配置文件 • /etc/named.conf – 保存 DNS 解析记录的数据文件位于 • /var/named/ 主配置文件 named.conf • 全局配置部分 – 设置 DNS 服务器的全局参数 – 包括监听地址/端口、数据文件的默认位置、允许访问的网段等 – 使用 options { …… }; 的配置段 • 区域配置部分 – 设置本服务器提供域名解析的特定 DNS 区域 – 包括域名、服务器角色、数据文件名等 – 使用 zone “区域名” IN { …… }; 的配置段

• 全局 TTL 配置项及 SOA 记录 – $TTL(Time To Live,生存时间)记录 – SOA(Start Of Authority,授权信息开始)记录 – 分号“;” 开始的部分表示注释信息 • 正向域名解析记录 – NS 域名服务器(Name Server)记录 – MX 邮件交换(Mail Exchange)记录 – A 地址(Address)记录,只用在正向解析区域中 – CNAME 别名(Canonical Name)记录 • 反向域名解析记录 PTR 指针(Point)记录,只用在反向解析区域中 记录的第一列指定 IP 地址中的主机地址部分即可 特殊示例 • 基于域名解析的负载均衡 – 同一域名对应到多个 IP 地址 • 泛域名解析 – 找不到精确对应的 A 记录时,使用“*”进行匹配 • www IN A 173.16.16.173 • www IN A 173.16.16.174 • www IN A 173.16.16.175 • * IN A 173.16.16.173 对配置文件进行语法检查 • named-checkconf 工具 • named-checkconf [-z] [主配置文件] • named-checkzone 工具 • named-checkzone <域名> <区域数据文件>

三、主从DNS配置示例

主DNS服务器建立 检查软件包是否安装: systemctl status named 或 rpm -qa|grep bind 安装软件包 yum install bind*

** 单主DNS服务器配置 ** vi /etc/named.conf

listen-on port 53 { any; };

allow-query { any; };

zone "wang.com" IN { type master; file "wang.com.zone"; };

zone "11.18.172.in-addr.arpa" IN { type master;
file "n11wang.com.zone"; }; zone "199.18.172.in-addr.arpa" IN { type master; file "n199wang.com.zone"; };

区域文件配置: cd /var/named vi wang.com.zone $TTL 1D @ IN SOA wang.com. admin.wang.com. ( 1 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns1.wang.com. MX 5 mail.wang.com.

ns1 A 172.18.11.76 www A 172.18.11.1 ftp A 172.18.199.10 mail A 172.18.11.90

vi n11wang.com.zone $TTL 1D @ IN SOA wang.com. admin.wang.com. ( 1 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns1.wang.com. MX 5 mail.wang.com.

76 PTR ns1.wang.com. 1 PTR www.wang.com. 90 PTR mail.wang.com.

vi n199wang.com.zone

$TTL 1D @ IN SOA wang.com. admin.wang.com. ( 1 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns1.wang.com. MX 5 mail.wang.com.

10 PTR ftp.wang.com.

chown named:named *.zone

关闭防火墙或打开相应端口。 客户端测试 ping www.wang.com

nslookup 正向 反向

--------单主end--------- 主DNS改造 also-notify { 172.18.11.72; }; zone "wang.com" IN { type master; file "wang.com.zone"; allow-transfer { 172.18.11.72; }; }; zone "11.18.172.in-addr.arpa" IN { type master; file "n11wang.com.zone"; allow-transfer { 172.18.11.72; }; }; zone "199.18.172.in-addr.arpa" IN { type master; file "n199wang.com.zone"; allow-transfer { 172.18.11.72; }; };

从服务器操作:

安装软件 建立区域文件 vi /etc/named.conf zone "wang.com" IN { type slave; file "slaves/wang.com.zone"; masters { 172.18.11.76; }; }; zone "11.18.172.in-addr.arpa" IN { type slave; file "slaves/n11wang.com.zone"; masters { 172.18.11.76; }; }; zone "199.18.172.in-addr.arpa" IN { type slave; file "slaves/n199wang.com.zone"; masters { 172.18.11.76; }; };

cd /var/named 确认slaves目录named有写入权限。 重启从服务

ll slaves -rw-r--r-- 1 named named 428 11月 20 16:35 n11wang.com.zone -rw-r--r-- 1 named named 306 11月 20 16:35 n199wang.com.zone -rw-r--r-- 1 named named 358 11月 20 16:35 wang.com.zone

------------------------------从DNS建立成功,测试结果------------------------------------------------

主从DNS服务器建立

options { // Put files that named is allowed to write in the data/ directory: directory "/var/named"; // "Working" directory

    listen-on port 53       { any; };
    allow-query         { any; };

notify yes; #####通知从DNS全局 #also-notify {192.168.99.99 ;}; recursion yes; listen-on-v6 port 53 { ::1; }; }; zone "wang.com" IN { type master; file "wang.com.zone"; allow-transfer {192.168.99.99;}; ####只允许通知的从服务器 notify yes; ####主从同步通知从DNS这个配置很重要
also-notify {192.168.99.99 ;}; };

[root@localhost chroot]# ls /var/named/chroot/var/named/ data/ dynamic/ wang.com.zone slaves/
[root@server98 chroot]# cat /var/named/chroot/var/named/wang.com.zone $TTL 1D $ORIGIN wang.com. @ IN SOA wang.com. admin.wang.com. ( 20180511; serial ########这个很重要,每次修改记录的时候都要修改这个数T+1(每次修改完主DNS配置后,都需要改一下serial序列号,且必须比从服务器号大才会同步。) 1D ; refresh 1H ; retry 1W ; expire 3H ; minimum ) IN NS ns1.wang.com.

mail IN A 172.20.66.111 www2 IN A 172.20.66.112 ns1 IN A 192.168.99.99 www IN A 172.20.66.110 ftp IN A 10.128.105.250

从DNS配置(注意目录权限) [root@local2 ~]# vim /var/named/chroot/etc/named.conf

options { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; allow-query { any; }; directory "/var/named";
recursion yes; };

zone "wang.com" IN { type slave; ###本机是从服务器 file "slaves/wang.com.zon"; ###将同步后的文件放置在哪里,这里是相对路径绝对路径是/var/named/chroot/var/named/slaves/ masters { 192.168.99.98; }; ###指定主服务器的ip地址
};

.... 小知识 区域(zone)和域(domain): FQDN --> IP正向解析库;区域 IP --> FQDN反向解析库;区域 区域数据库文件: 资源记录:Resource Record, 简称rr、记录类型如下: 1、SOA: Start Of Authority,起始授权记录,一个区域解析库有且只能有一个SOA记录,\而且\必须\放在第一条,而且在编写时不能使用“@”符号,使用“.”符号代替,后续有示例; 2、NS: Name Service,域名服务记录,一个区域解析库可以有多个NS记录,其中一个为主的,任何 一个NS记录后面的服务器名字,都应该在后续有一个A(地址记录); 3、A: Address, 地址记录,FQDN --> IPv4(正向解析库); 4、AAAA: 地址记录, FQDN --> IPv6(正向解析库); 5、CNAME:Canonical Name,别名记录; 6、PTR: Pointer,IP --> FQDN(反向解析库),IP有特定格式,把IP地址反过来写,1.2.3.4, 要写作4.3.2.1;而有特定后缀:in-addr.arpa.,所以完整写法为:4.3.2.1.in-addr.arpa. 7、MX: Mail eXchanger,邮件交换器,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录 优先级:0-99,数字越小优先级越高;

四、构建缓存域名服务器 可以通过以下设置完成:     forwarders{ 202.1.1.1; }; 也可以通过以下选项让服务器转发所有dns查询到forwarders服务器;     forward only或first;

作业: 1、建立主从DNS服务器。