DNS服务器基本概念,和DNS服务器的搭建
基本概念
DNS服务器是一个关键的网络服务,它用于将易于记忆的域名映射到IP地址在互联网上,使用域名来标识和访问各种资源更方便,而不用记住复杂的IP地址。
-
域名(Domain Name):域名是用于标识网络资源的人类可读的字符串。它通常由多个标签(如www、example、com)组成,每个标签之间用点号(.)分隔。域名提供了更友好的方式来访问互联网上的资源。
-
IP地址(Internet Protocol Address):IP地址是网络设备的唯一标识符,用于在Internet上识别和定位设备。IP地址是一个由数字组成的标准化格式,通常以IPv4(如192.0.2.1)或IPv6(如2001:0db8:85a3:0000:0000:8a2e:0370:7334)表示。
-
域名解析(Domain Name Resolution):域名解析是将域名转换为对应的IP地址的过程。当您在浏览器中键入域名时,DNS服务器负责将域名解析为相应的IP地址,使得网络数据能够正确地路由到目标服务器。
-
DNS服务器:DNS服务器是运行DNS服务的计算机,负责存储和管理域名与IP地址之间的映射关系。它可以是递归服务器或授权服务器。
-
递归服务器(Recursive Server):递归服务器是终端用户设备(如计算机、手机)或ISP(Internet Service Provider)提供的服务器。当用户设备请求解析域名时,递归服务器会负责从根域名服务器开始递归地查询,并最终返回正确的IP地址给用户设备。
-
授权服务器(Authoritative Server):授权服务器是存储特定域名和其对应IP地址的服务器。它们是DNS层次结构中域名信息的权威来源。例如,com域名的授权服务器存储了所有.com域名下的域名和IP地址的映射关系。
-
TTL(Time to Live):TTL是域名解析结果在缓存中的存储时间。每次解析域名后,解析结果会被缓存在DNS服务器和客户端设备中,TTL定义了这个缓存的有效期。一旦TTL过期,下次查询将重新执行解析过程。
DNS查询类型
递归查询:一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询。(不需要自己动手)
迭代查询:一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如:若对方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需要发起多次查询。(需要自己动手)
总结
- 递归查询:从客户端到本地名称服务器,一直以代理形式向其他DNS服务器发出查询请求,直到找到解析结果,然后返回给客户端。
- 迭代查询:在DNS服务器之间的查询中,不断向其他DNS服务器发出请求,直到找到解析结果。
DNS软件bind
DNS服务器软件:bind,powerdns,dnsmasq,unbound,coredns
-
bind:服务器
-
bind-libs:相关库
-
bind-utils: 客户端
-
bind-chroot: 安全包,将dns相关文件放至 /var/named/chroot/
bind软件的设置 (正向解析与主从备份)
主服务器设置
yum install bind -y
#安装bind网站
我这里提前安装了
rpm -qc bind #查看bind的配置文件
vim /etc/named.conf #进入named.conf文件
注释掉第13行和第21行
vim /etc/named.rfc1912.zones #打开named.rfc1912.zones
cd /var/named/ #进入/var/named文件夹 、
cp -a named.localhost xwm.cn.zone #复制named.localhost并重命名为xwm.cn.zone
vim xwm.cn.zone #编辑xwm.cn.zone文件
systemctl start named #启动服务
可以用host来验证主服务器是否配置成功
如图,配置成功
从服务器配置
前两部与配置主服务器一致
安装 软件
修改named.conf 注释13行和21行
vim /etc/named.rfc1912.zones
配置named.rfc1912.zones文件
systemctl start named #启动服务
用dig命令验证
配置成功