失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Linux-网络服务04-DNS 域名解析服务(一)

Linux-网络服务04-DNS 域名解析服务(一)

时间:2020-06-21 23:41:03

相关推荐

Linux-网络服务04-DNS 域名解析服务(一)

目录

一、DNS 系统的作用

1.DNS 服务器概述

2.DNS 服务器的常见分类

3.DNS 服务器的查询模式

4.端口

二、BIND 的安装和控制

1.RPM 包的主要作用

2.主配置文件 /etc/named.conf

3.区域数据文件

三、构建缓存域名服务器

1.构建示例:

2.方法一:指向北京网通 DNS 服务器

3.方法二:根域解析

四、模拟误删除配置文件内容,进行排错

一、DNS 系统的作用

1.DNS 服务器概述

整个Internet大家庭中连接了数以亿计的服务器、个人主机,其中大部的网站、邮件服务等服务器都使用了域名形式的地址,如 、等。很显然这种地 址形式要比使用 64.233.189.147、202.108.33.74 的IP地址形式更加直观,更加容易被用户记住。

FQDN 格式(完整域名格式):在常见域名后添加“.”(根域)。例如:. 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 服务器,可以是“.”区域的主域名服务器,同时也可以是“.” 区域的从域名服务器。

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.serviceCreated 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 53tcp 00 127.0.0.1:953 0.0.0.0:*LISTEN1480/namedtcp 00 192.168.60.34:53 0.0.0.0:*LISTEN1480/namedtcp6 00 ::1:953 :::*LISTEN1480/namedtcp6 00 ::1:53 :::*LISTEN1480/namedudp 00 192.168.60.34:53 0.0.0.0:* 1480/namedudp6 00 ::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 ; serial1D; refresh1H; retry1W; expire3H ) ; minimumNS@A 127.0.0.1AAAA ::1

(2).区域数据文件修改后检查更新:

named-checkzone 域名 区域数据文件的路径

[root@Rz etc]# named-checkzone www /var/named/named.localhostzone www/IN: loaded serial 0OK

(3).区域数据配置文件的特殊应用

1>基于域名解析的负载均衡

同一个域名对应到多个 IP 地址

wwwA 173.16.16.173wwwA 173.16.16.174wwwA 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 NetworkManagersearch comnameserver 192.168.100.1

客户机测试:

[root@client ~]# yum install bind-utils -y[root@client ~]# nslookup

3.方法二:根域解析

[root@Rz ~]# vim /etc/named.conf

[root@Rz ~]# named-checkconf /etc/named.conf[root@Rz ~]# systemctl restart named

客户机测试:

四、模拟误删除配置文件内容,进行排错

模拟删除主配置文件中第 16 行的分号

排错方法一:语法检查

排错方法二:观察日志

[root@Rz ~]# systemctl restart namedJob 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 //查看报错

如果觉得《Linux-网络服务04-DNS 域名解析服务(一)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。