目录
一、DNS 系统的作用
1.DNS 服务器概述
整个Internet大家庭中连接了数以亿计的服务器、个人主机,其中大部的网站、邮件服务等服务器都使用了域名形式的地址,如 www.google.com、mail.163.com等。很显然这种地 址形式要比使用 64.233.189.147、202.108.33.74 的IP地址形式更加直观,更加容易被用户记住。
FQDN 格式(完整域名格式):在常见域名后添加“.”(根域)。例如:www.baidu.com. DNS 系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名;与 IP 地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正向解析与反向解析。
(1)正向解析:
根据域名查 IP 地址,是 DNS 服务最常用的基本功能
(2)反向解析:
根据 IP 查域名,不是很常用,应用于例如反垃圾邮件的验证等
每台 DNS 服务器都负责管理一个有限范围(一个或几个域)内的主机域名和 IP 地址的 对应关系,这些特定的 DNS 域或 IP 地址段称为“zone”(区域)。
2.DNS 服务器的常见分类
1).根据地址解析的方向不同,DNS 区域相应的分为正向区域(包含域名到 IP 地址的解析 记录)和反向区域(包含 IP 地址到域名的解析记录)。
2).根据管理的区域地址数据的来源不同,DNS 系统可以分为不同的类型:
(1).缓存域名服务器
只提供域名解析结果的缓存功能,目的在于提高数据查询速度和效率,但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定其他 DNS 服务器作为解析来源。
(2).主域名服务器
维护某一个特定 DNS 区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器、官方服务器。构建主域名服务器时,需要自行建立所有负责区域的地址数据文件。
(3).从域名服务器
与主域名服务器提供完全相同的 DNS 解析服务,通常用于 DNS 服务器的热备份。对客 户机来说,无论使用主域名服务器还是从域名服务器,查询结果都是一样的。
以上所述主、从域名服务器的角色,只是针对某一特定的 DNS 区域来说的。例如,同一台 DNS 服务器,可以是“.chinaunix.net”区域的主域名服务器,同时也可以是“.cublog.cn” 区域的从域名服务器。
3.DNS 服务器的查询模式
(1).DNS 服务器递归查询:
当客户机向 DNS 服务器发出解析请求,DNS 服务器从服务器本地的唯高速缓存中查询出结果,反馈给客户机,此过程称为递归查询,即 Client-Server。
(2).DNS 服务器迭代查询:
当客户机向 DNS 服务器发出解析请求,DNS 服务器从服务器本地的唯高速缓存中查询发现没有结果,此时该 DNS 服务器以 DNS 客户的身份向其他DNS服务器发送解析请求或向根域名服务器发送请求,此过程称为迭代查询,即 Server-Server。
4.端口
TCP 53 端口
UDP 53 端口
二、BIND 的安装和控制
1.RPM 包的主要作用
bind:提供了域名服务器的主要程序及相关文件
bind-utils:提供了对 DNS 服务器的测试工具程序,如 nslookup 等
bind-libs:提供了 bind、bind-utils 需要使用的库函数
bind-chroot:为 BIND 服务提供一个伪装的根目录(将/var/named/chroot 文件夹作为 BIND 的根目录)以提高安全性。也称为 jail(监牢)机制。
BIND 安装以后,会自动增加一个名为 named 的系统服务
[root@Rz ~]# yum -y install bind bind-utils bind-chroot bind-libs
2.主配置文件 /etc/named.conf
[root@Rz ~]# cd /etc/
[root@Rz etc]# cp named.conf named.conf.$(date +%Y%m%d%H%M)
[root@Rz etc]# vim named.conf
保存退出,检查语法
[root@Rz etc]# named-checkconf /etc/named.conf
[root@Rz etc]# systemctl enable named.service
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
[root@Rz etc]# systemctl start named.service
[root@Rz etc]# netstat -utpln |grep 53
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 1480/named
tcp 0 0 192.168.60.34:53 0.0.0.0:* LISTEN 1480/named
tcp6 0 0 ::1:953 :::* LISTEN 1480/named
tcp6 0 0 ::1:53 :::* LISTEN 1480/named
udp 0 0 192.168.60.34:53 0.0.0.0:* 1480/named
udp6 0 0 ::1:53 :::* 1480/named
3.区域数据文件
(1).区域数据文件的作用:
用于存放某个 DNS 区域的地址解析记录(正向或反向记录)
[root@Rz etc]# ls /var/named/
chroot data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@Rz etc]# ls /var/named/chroot/
dev etc run usr var
[root@Rz etc]# vim /var/named/named.localhost
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
(2).区域数据文件修改后检查更新:
named-checkzone 域名 区域数据文件的路径
[root@Rz etc]# named-checkzone www /var/named/named.localhost
zone www/IN: loaded serial 0
OK
(3).区域数据配置文件的特殊应用
1>基于域名解析的负载均衡
同一个域名对应到多个 IP 地址
www A 173.16.16.173
www A 173.16.16.174
www A 173.16.16.175
2>泛域名解析
找不到精确对应的 A 记录时,使用“*”进行匹配
三、构建缓存域名服务器
缓存域名服务器通常架设在公司的局域网内,主要目的是提高域名解析的速度,减少对 互联网访问的出口流量。在一个小型企业的内部网络中,可单独建立一台(或集成在网关主机中)缓存域名服务器,为各部门的员工计算机提供 DNS 解析服务。
1.构建示例:
缓存域名服务器 IP 地址为 192.168.100.1,并能够正常访问互联网 缓存域名服务器代为处理客户端的 DNS 解析请求,并缓存查询结果局域网内的各 PC 将首选 DNS 服务器设为 192.168.100.1,访问外网页面进行测试。
2.方法一:指向北京网通 DNS 服务器
[root@Rz ~]# vim /etc/named.conf
[root@Rz etc]# named-checkconf /etc/named.conf
[root@Rz etc]# systemctl restart named
将客户机 DNS 服务器设置为 192.168.100.2
[root@linuxli ~]# vim /etc/resolv.conf
# Generated by NetworkManager
search com
nameserver 192.168.100.1
客户机测试:
[root@client ~]# yum install bind-utils -y
[root@client ~]# nslookup www.baidu.com
3.方法二:根域解析
[root@Rz ~]# vim /etc/named.conf
[root@Rz ~]# named-checkconf /etc/named.conf
[root@Rz ~]# systemctl restart named
客户机测试:
四、模拟误删除配置文件内容,进行排错
模拟删除主配置文件中第 16 行的分号
排错方法一:语法检查
排错方法二:观察日志
[root@Rz ~]# systemctl restart named
Job for named.service failed because the control process exited with error code. See "systemctl status named.service" and "journalctl -xe" for details.
[root@Rz ~]# journalctl -xe //查看报错