DNS域名解析服务

1.DNS是什么

DNS:Domain Name System 域名系统,应用层协议,是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,基于C/S架构,服务器端:53/udp, 53/tcp实际上,每一台 DNS 服务器都只负责管理一个有限范围(一个或几个域)内的主机域 名和 IP 地址的对应关系,这些特定的 DNS 域或 IP 地址段称为 zone(区域)。根据地址解 析的方向不同,DNS 区域相应地分为正向区域(包含域名到 IP 地址的解析记录)和反向区 域(包含 IP 地址到域名的解析记录)

根域: 全球根服务器节点只有13个,10个在美国,1个荷兰,1个瑞典,1个日本

  • 一级域名:Top Level Domain: tld
  • 三类:组织域、国家域(.cn, .ca, .hk, .tw)、反向域
  • com, edu, mil, gov, net, org, int,arpa
  • 二级域名:magedu.com
  • 三级域名:study.magedu.com
  • 最多可达到127级域名

2.DNS服务器类型

  • 缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,

    但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定

    其他 DNS 服务器作为解析来源。

  • 主域名服务器:管理和维护所负责解析的域内解析库的服务器

  • 从域名服务器:

    从主服务器或从服务器"复制"(区域传输)解析库副本

    序列号:解析库版本号,主服务器解析库变化时,其序列递增

    刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔

    重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔

    过期时长:从服务器联系不到主服务器时,多久后停止服务

    通知机制:主服务器解析库发生变化时,会主动通知从服务器

3.DNS查询类型与原理

3.1查询方式

  • 递归查询:一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后, 若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结 果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询。(不需要自己动手)

  • 迭代查询:一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如:若对 方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起 进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需要发起多次查询。(需要自己动手)

3.2查询原理过程

正向解析查询过程:

①先查本机的缓存记录

②查询hosts文件

③查询dns域名服务器,交给dns域名服务器处理 以上过程成为递归查询:我要一个答案你直接会给我结果

④这个dns服务器可能是本地域名服务器,也有个缓存,如果有直接返回结果,如果没有则进行下一步

⑤求助根域服务器,根域服务器返回可能会知道结果的顶级域服务器让他去找顶级域服务器

⑥求助顶级域服务器,顶级域服务器返回可能会知道结果的二级域服务器然他去找二级域服务器

⑦求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器

⑧本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端

3.3 DNS软件bind

DNS服务器软件:bind,powerdns,dnsmasq,unbound,coredns

  • bind:服务器
  • bind-libs:相关库
  • bind-utils: 客户端
  • bind-chroot: 安全包,将dns相关文件放至 /var/named/chroot/

4.正向解析的操作流程

4.1操作流程

1.先安装bind的软件

2.修改bind的配置文件 /etc/named.conf

3.修改/etc/named.rfc1912.zones 配置文件

4.然后修改内容

5.cd到文件的/var/named,下建立文件

6.进入文件后修改配置文件

7.进入网卡配置,修改自己的dns1改成自己电脑的网址

8.重启软件和网络,并且关闭防火墙

9.测试是否可以正常使用host

5.主从复制实际操作

5.1操作流程

先设置自己的操作环境

主服务器地址:192.168.223.100

从服务器地址:192.168.223.101

1.两台虚拟机都先安装bind软件

2.先修改主机的/etc/named.conf里面的配置文件

3.进入/etc/named.rfc1912.zones 更改配置文件

4.进入到named文件夹下,创建自己的域名文件,名字要跟之前设置的一样

5.进入刚建立的文件修改内容

这边内容跟上一个实验操作差不多

6.修改自己的网卡配置文件dns1改成自己的网址,之后刷新软件,重启网卡和bind服务

7.测试一下自己主服务器的配置是否有问题host测试

8.主机没有问题后,设置从机上的配置,先修改从机内的/etc/named.conf

9.再去修改/etc/named.rfc1912.zone文件

10.然后开启服务,记得关闭防火墙

11.测试这边是否设置成功使用dig检测

12.进行从机的域名文件备份的实时刷新,要去主服务器中去设置,进入/etc/named/lzq.zone

13.然后重启服务

如果可以重启就没问题

14.转到从机中查看文件刷新时间,如果刷新就代表已经建立主从关系了

6.bond双网卡绑定

6.1具体操作

1.先配置自己的另一块网卡,制作操作环境

2.进入将名称33换成36 ,删除uuid,并配置这个网卡的ip地址,保存退出

3.重启网络服务

4.添加bonding接口

bash 复制代码
nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 192.168.223.100/24

5.添加从属接口,网卡33,36

bash 复制代码
nmcli con add type bond-slave ifname ens33 master bond0
nmcli con add type bond-slave ifname ens36 master bond0

6.先启动从属接口,33,36

nmcli con up bond-slave-ens33
nmcli con up bond-slave-ens36

7.再启动绑定

nmcli con up mybond0

8.这样两张网卡就绑定到一起了也可以cd到配置文件夹下查看

相关推荐
时间会证明一切.7 小时前
【Java面试】第十天
java·开发语言·spring·面试
hope_wisdom9 小时前
Python面试宝典第49题:字符串压缩
python·算法·面试·笔试题·字符串压缩·双指针法·使用栈
guangzhi063311 小时前
JVM本地方法栈
java·jvm·面试
银氨溶液20 小时前
MySQL底层为什么选择用B+树作为索引
数据结构·数据库·b树·mysql·面试·b+树
程序员清风1 天前
JVM面试真题总结(八)
jvm·面试·职场和发展
robot20171 天前
C++面试题整理 2
c++·面试
笑川 孙1 天前
C++基础面试题 | C++中的构造函数可以是虚函数吗? C++中的析构函数一定要是虚函数吗?
java·linux·开发语言·c++·microsoft·面试
andrew_12191 天前
@EnableScheduling 和 @Scheduled 实现定时任务的任务延期问题
java·后端·面试
J老熊1 天前
Linux下抓包分析Java应用程序HTTP接口调用:基于tcpdump与Wireshark的综合示例
java·linux·运维·web安全·http·面试
一见你就笑i1 天前
关于RabbitMQ重复消费的解决方案
分布式·面试·rabbitmq