本文共 2582 字,大约阅读时间需要 8 分钟。
DNS服务基础
DNS(Domain Name System,域名系统)是一种用于将易于记忆的域名(如www.baidu.com)与难以记忆的IP地址(如192.168.5.5)进行关联的网络服务。DNS的核心作用在于通过域名解析,将用户输入的域名转换为对应的IP地址,从而实现网络通信。
为什么需要DNS系统
- 易于记忆:而不是记忆IP地址,而是记忆域名更为方便。
- 互联网中的导航员:类似于查号台或导航员,帮助用户快速定位所需资源。
DNS服务器的功能
- 正向解析:根据注册的域名查找其对应的IP地址。
- 反向解析:根据IP地址查找对应的注册域名(不常用)。
DNS服务器的分类
- 根域名服务器(共13台):负责管理顶级域名(如.com、net等)。
- 一级DNS服务器:负责管理二级域名(如cn、us等)。
- 二级DNS服务器:负责管理三级域名(如com.cn、edu.cn等)。
- 三级DNS服务器:负责管理具体的子域名(如www.haha.com.cn)。
DNS的分布式结构
DNS采用分布式结构,依赖于多个DNS服务器协同工作。具体结构包括:
- 根域名:.
- 一级域名:cn、us、tw、hk、com等。
- 二级域名:com.cn、com.tw、edu.cn等。
- 三级域名:www.haha.com.cn等。
- 完全合格主机名(FQDN):站点名 + 注册的域名(如www.haha.com.cn)。
IANA与CANNIC
- IANA(Internet Assigned Numbers Authority):负责管理整个域名系统的最高权威机构,主管DNS根、.int、.arpa等国际化域名资源。
- CANNIC(China Internet Network Infirmation Center):负责管理中国顶级域名 .cn。
BIND域名服务
- BIND(Berkeley Internet Name Daemon):伯克利 Internet 域名服务,官方站点:http://www.isc.org/.
- BIND服务端程序:
- 主要执行程序:/usr/sbin/named。
- 系统服务:named。
- 默认端口:TCP/UDP 53。
- 运行时的虚拟根环境:/var/named/chroot/。
- 主配置文件:/etc/named.conf(设置负责解析的域名)。
- 地址库文件:/var/named/(设置完全合格的域名和IP地址对应关系)。
虚拟机A创建服务
安装软件包:yum -y install bind-chroot bindrpm -qa bind*
。 修改主配置文件:vim /etc/named.conf
,配置完成的完整内容:options { directory "/var/named";}zone "tedu.cn" IN { type master; file "tedu.cn.zone";}
创建地址库文件: - 确保named用户对地址库文件有读权限。
- 所有的域名必须以点结尾。
- 如果没有以点作为结尾,默认会补全本地址库所负责的域名。
- 复制文件时保留权限:
cp -p /var/named/named.localhost /var/named/tedu.cn.zone
。
配置地址库文件:www.tedu.cn. NS svr7svr7 A 192.168.4.7www A 1.1.1.1vip A 2.2.2.2
启动NSD服务:systemctl start named
。 虚拟机B解析服务
修改解析记录:在虚拟机B的 /etc/resolv.conf
中添加解析主机的记录。 测试解析:echo namserver 192.168.4.7 >> /etc/resolv.confnslookup vip.tedu.cnnslookup www.tedu.cn
多域名解析
在虚拟机A中添加新的域名记录:lol.cn. NS hosthost A 192.168.4.7nana A 1.1.1.1dada A 2.2.2.2* A 6.6.6.6
测试:nslookup nana.lol.cnnslookup www.tedu.cn
特殊解析
- DNS轮询:客户端向多个DNS服务器发送请求,返回最先响应的结果。
- 泛域名解析:如果没有专门匹配到的站点,按泛域名进行解析。
- 设置别名:在地址库文件中添加CNAME记录:
mail CNAME nana
测试:
nslookup mail.lol.cn
DNS主从架构
- 主服务器:负责解析域名,管理地址库文件。
- 从服务器:备份主服务器数据,接受主服务器的数据传输。
- 配置主服务器:
options { allow-transfer { 192.168.4.207; }}zone "lol.cn" IN { type master; file "lol.cn.zone";}
- 配置从服务器:
zone "lol.cn" IN { type slave; file "/var/named/slaves/lol.cn.slave"; masters { 192.168.4.7; }; masterfile-format text;}
- 测试数据同步:
nslookup dada.lol.cn 192.168.4.207nslookup dada.lol.cn 192.168.4.7
DNS子域授权
- 递归解析:客户端发送请求给首选DNS服务器,首选DNS服务器与其他DNS服务器交互,最终将解析结果带回来。
- 迭代查询:客户端发送请求给首选DNS服务器,首选DNS服务器告知下一个DNS服务器地址。
浏览器DNS查找顺序
浏览器DNS缓存。 本地系统DNS缓存。 本地计算机HOSTS文件。 ISP DNS缓存。 递归或迭代搜索。 服务器DNS查找顺序
系统缓存。 /etc/hosts 文件。 /etc/resolv.conf 文件指定运营商的DNS地址。 DNS查询的工作方式
DNS查询过程包括:
客户端向首选DNS服务器发送查询请求。 首选DNS服务器根据查询类型(递归或迭代)进行处理。 客户端根据返回结果进行解析。 转载地址:http://gbrg.baihongyu.com/