DNS 服务器

①DNS 的域名空间的分层结构

8.2 DNS服务_Linux

②DNS 的域名解析过程

8.2 DNS服务_系统/运维_02

案例一:配置高速缓存服务器

【说明】服务器名 server1,地址 192.168.0.10/24,服务器可以访问外网。

服务器修改主配置文件/etc/named.conf,内容如下:

8.2 DNS服务_系统/运维_03

#vi /etc/named.conf

检查主配置文件语法正确性,启动服务,验证服务器端口是否监听。

#named-checkconf

#systemctl start named

#ss –ln |grep :53 或者 lsof –i:53

8.2 DNS服务_Linux_04

客户端修改/etc/resolv.conf 文件,内容如下:

#vi /etc/resolv.conf

8.2 DNS服务_系统/运维_05

客户端验证,可以使用 host、nslookup、dig 命令。

8.2 DNS服务_Linux_06

案例二:配置主域名服务器

服务器修改主配置文件/etc/named.conf,添加如下内容:

#vi /etc/named.conf

8.2 DNS服务_Linux_07

检查主配置文件语法正确性

#named-checkconf

创建正向解析数据库文件,修改其内容:

#cd /var/name

#cp named.localhost test.com.zone

#vi test.com.zone

8.2 DNS服务_Linux_08

创建反向解析数据库文件,修改其内容:

#cp test.com.zone 192.168.0.zone

#vi 192.168.0.zone

8.2 DNS服务_Linux_09

修改区域数据库文件的所属组:

#chown :named test.com.zone

#chown:named192.168.0.zone

8.2 DNS服务_Linux_10

验证区域数据库文件语法:

#named-checkzone test.com test.com.zone

#named-checkzone 0.168.192.in-addr.zone 192.168.0.zone

8.2 DNS服务_Linux_11

重启服务器:

#systemctl restart named

客户端修改/etc/resolv.conf 文件,内容如下:

8.2 DNS服务_Linux_12

客户端验证:

8.2 DNS服务_Linux_13

案例三:配置 DNS 简单负载均衡

修改正向解析数据库文件 test.com.zone:

#vi /var/name/test.com.zone

8.2 DNS服务_系统/运维_14

验证区域数据库文件语法:

#named-checkzone test.com /var/name/test.com.zone

Server1 重新加载主配置文件和所有区域文件:

#rndc reload

使用 ping 命令验证,可以看到两次解析出的地址不同

8.2 DNS服务_系统/运维_15

案例四:配置辅助 DNS 服务器

【说明】服务器名 server2,地址 192.168.0.11/24,不能访问外网

服务器 server1 修改主配置文件/etc/named.conf,修改处如下:

#vi /etc/named.conf

8.2 DNS服务_系统/运维_16

服务器 server1 修改区域数据库文件,修改处如下:

#vi /var/name/test.com.zone

8.2 DNS服务_Linux_17

#vi /var/name/192.168.0.zone

8.2 DNS服务_Linux_18

检查主配置文件语法正确性:

#named-checkconf

验证区域数据库文件语法:

#named-checkzone test.com test.com.zone

#named-checkzone 0.168.192.in-addr.zone 192.168.0.zone

Server1 重新加载主配置文件和所有区域文件:

#rndc reload

设置防火墙:

#firewall-cmd –add-service =dns

#firewall-cmd –list-service

服务器 server2 安装 bind,修改主配置文件/etc/named.conf,修改处如下:

#yum install –y bind

#vi /etc/named.conf

8.2 DNS服务_系统/运维_19

8.2 DNS服务_Linux_20

Server2 检查主配置文件语法正确性:

#named-checkconf

Server2 启动服务器:

#systemctl start named

启动服务器有自动生成区域数据库文件

8.2 DNS服务_Linux_21

客户端修改/etc/resolv.conf 文件,内容如下:

8.2 DNS服务_Linux_22

客户端验证:

8.2 DNS服务_系统/运维_23

Server2 可以解析本区域数据,由于没有连接外网,无法连接根服务器,因此不能解析区域外的地址。

案例五:主/辅 DNS 服务器同步更新

服务器 server1 修改区域文件内容:

#vi /var/name/test.com.zone

8.2 DNS服务_系统/运维_24

#vi /var/name/192.168.0.zone

8.2 DNS服务_Linux_25

Server1 重新加载主配置文件和所有区域文件:

#rndc reload

8.2 DNS服务_系统/运维_26

客户端立刻测试,发现无法解析 ftp.test.com

等待一分钟后,可以解析,说明辅助 DNS 服务器更新区域数据库文件。

8.2 DNS服务_Linux_27

案例六:配置 DNS 转发器

服务器 server2 修改主配置文件/etc/named.conf,修改处如下:

#vi /etc/named.conf

8.2 DNS服务_系统/运维_28

Server2 重新加载主配置文件和所有区域文件:

#rndc reload

8.2 DNS服务_Linux_29

客户端验证:

8.2 DNS服务_系统/运维_30

8.2 DNS服务_Linux_31

Server2 将非授权区域的地址解析转发给了上游服务器,因此 www.baidu.com 得以解析。

案例七:智能 DNS,不同的客户端,解析不同的地址

服务器 server1 修改主配置文件/etc/named.conf,修改处如下:

#vi /etc/named.conf

8.2 DNS服务_系统/运维_32

server1 创建区域数据库文件/var/named/test1.com.zone,内容如下:

8.2 DNS服务_系统/运维_33

server1 创建区域数据库文件/var/named/test2.com.zone,内容如下:

8.2 DNS服务_Linux_34

修改文件/var/named/test1.com.zone 和/var/named/test2.com.zone 的所属组:

#chown :named /var/named/test1.com.zone

#chown :named /var/named/test2.com.zone

Server1 检查主配置文件语法正确性:

#named-checkconf

Server1 检查区数据库文件语法正确性:

#named-checkzone test.com /var/named/test1.com.zone

#named-checkzone test.com /var/named/test2.com.zone

Server1 重新加载主配置文件和所有区域文件:

#rndc reload

分别在 server1 和 server2 上解析 wwwtestcom 的地址,可以看到结果不同

8.2 DNS服务_Linux_35

8.2 DNS服务_Linux_36

易错:

1.配置正向、反向解析文件时容易忘记地址后面的 “.”

8.2 DNS服务_系统/运维_37

2. 配置view时应该把zone删除或注释掉

8.2 DNS服务_Linux_38

3.创建区域数据库文件忘记修改所属组