17章Linux下的DNS域名解析

Linux下的DNS域名解析服务

BIND域名服务基础

使用BIND构建域名服务器

DNS 系统的作用及类型2-1 

DNS 系统的作用

正向解析:根据主机名称(域名)查找对应的 IP 地址

反向解析:根据 IP 地址查找对应的主机域名

DNS 系统的分布式数据结构

DNS 系统的作用及类型2-2

缓存域名服务器

也称为 唯高速缓存服务器

通过向其他域名服务器查询获得域名 -> IP 地址记录

将域名查询结果缓存到本地,提高重复查询时的速度

主域名服务器

特定 DNS 区域的官方服务器,具有唯一性

负责维护该区域内所有域名 -> IP 地址的映射记录

从域名服务器

也称为 辅助域名服务器

其维护的 域名 -> IP 地址记录 来源于主域名服务器

BIND 域名服务2-1 

BINDBerkeley 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 }