当前位置: 首页 > news >正文

DomainNameSystem

目录

1.0 简介

2.0 域名

域名的分类

域名服务器的分类

3.0 解析流程

4.0 DNS小实验

文件解读

查找配置文件

主配置文件

区域配置文件

DNS映射信息文件

正向解析

服务端

客户端

反向解析

服务端

客户端

主从同步

主服务端

从服务端

客户端

主从增量

主服务端

从服务端

客户端


1.0 简介

🔭DNS基本信息

  1. 什么是DNS:Domain Name System(域名系统)

  2. 产生原因 : 因为ip太多了,记不住,所以搞一个域名跟ip进行绑定,方便记忆,随着时代发着ip慢慢拥有了商标属性,具有庞大的商业价值

  3. 连接方式:知名端口号53,通常DNS是以UDP这个较快速的数据传输协议来查询的,但是UDP没有查询到完整的信息时,就会再次以TCP这个协议来重新查询,所以启动DNS时,会同时启动TCP以及UDP的port53。

2.0 域名

域名的分类

  • 国家顶级域名:采用ISO3166的规定,cn-->中国,us-->美国,uk-->英国……;国家域名又常记为ccTLD(country code top-level domains,cc表示国家代码country-code)

  • 通用顶级域名:最常见的通用顶级域名有7个,com-->公司企业,net-->网络服务机构,org-->非营利组织,int-->国际组织,gov-->美国的政府部门,mil-->美国的军事部门

  • 基础结构域名:这种顶级域名只有一个,即arpa,用于反向域名解析,因此称为反向域名

域名服务器的分类

  • 根域名服务器:最高层次的域名服务器,也是最重要的域名服务器。他负责告诉用户那些管理顶级域名(.com .net ....)服务器的ip是在哪里

  • 顶级域名服务器:负责管理在该顶级域名服务器注册的二级域名。问 顶级域名 的管理xxxx.xxx 的权威域名解析服务器地址是多少

  • 权威域名服务器:负责一个“区”的域名服务器。问 权威域名服务器 具体url对应ip地址是多少

  • 本地域名服务器:本地域名服务器不属于域名服务器的层次结构,但是它对域名系统非常重要。当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。

  • 主从DNS服务器:为了提高域名服务器的可靠性,DNS域名服务器都把数据复制到几个域名服务器来保存,其中的一个就是主DNS服务器(master),负责解析至少一个域。其他的是辅助(从)DNS服务器(slave):负责解析至少一个域,是主DNS服务器的辅助。

  • 缓存DNS服务器:不负责解析域,只是缓存域名解析的结果。

🔭

  • 不同域只知道自己下级的域的IP地址

  • 当主域名服务器出故障时,辅助域名服务器(从)可以保证DNS的查询工作不会中断。主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性(主从服务器)

3.0 解析流程

🔭解析流程

递归查询、迭代查询

4.0 DNS小实验

🔭

这实验大部分都是改文件,命令执行很少

在这重申一下,做实验的时候防上网方式是手动(ipv4.method manual)、火墙、selinux都是关的。

正向解析:域名------------->IP

反向解析:IP---------------->域名

文件解读

查找配置文件

 # 查找bind软件生成的软件[root@Server ~]# rpm -ql bind |grep /etc/etc/logrotate.d/named/etc/named/etc/named.conf     # 主配置文件/etc/named.rfc1912.zones        # 域配置文件/etc/named.root.key/etc/rndc.conf/etc/rndc.key/etc/rwtab.d/named/etc/sysconfig/named/usr/share/doc/bind/sample/etc/usr/share/doc/bind/sample/etc/named.conf/usr/share/doc/bind/sample/etc/named.rfc1912.zones

主配置文件

/etc/named.conf

 [root@Server ~]# vim /etc/named.conf10 options {11     listen-on port 53 { 127.0.0.1; };       # DNS监听的端口和IP,如果网卡有多个IP,想全部监听可以写any12     listen-on-v6 port 53 { ::1; };      # 监听的IPv6地址13     directory   "/var/named";       # 加载、保存DNS映射信息的目录文件14     dump-file   "/var/named/data/cache_dump.db";    # 缓存数据库15     statistics-file "/var/named/data/named_stats.txt";  # 数据分析文件16     memstatistics-file "/var/named/data/named_mem_stats.txt";   # 内存分析文件17     secroots-file   "/var/named/data/named.secroots";   # 全域根域名文件18     recursing-file  "/var/named/data/named.recursing";  # 递归文件19     allow-query     { localhost; };     # 允许的请求,可以是IP网段和any---------31     recursion yes;  #yes:递归查询 no:迭代查询3233     dnssec-validation yes;  # 加密通讯3435     managed-keys-directory "/var/named/dynamic";36     geoip-directory "/usr/share/GeoIP";3738     pid-file "/run/named/named.pid";    # 当前dns服务的进程id号39     session-keyfile "/run/named/session.key";   # 通话密钥4041     /* https://fedoraproject.org/wiki/Changes/CryptoPolicy */42     include "/etc/crypto-policies/back-ends/bind.config";43 };# 以下部分是写区域的格式,不建议在主配置文件中写域,建议在专门配域的文件中写,不容易乱,好管理。52 zone "." IN {53     type hint;54     file "named.ca";55 };# 以下是主配置文件会加载的文件57 include "/etc/named.rfc1912.zones";     # 区域配置文件58 include "/etc/named.root.key";

区域配置文件

/etc/named.rfc1912.zones

 [root@Server ~]# vim /etc/named.rfc1912.zones# 正向解析格式的模板# localhost.localdomain:写域名的,管理区域叫做localhost.localdomain# type master:服务器类型(master==主;slave==从)。# file "named.localhost":加载DNS映射信息文件的路径。# allow-update { none; }:不允许从DNS服务器更新。17 zone "localhost.localdomain" IN {18     type master;19     file "named.localhost";20     allow-update { none; };21 };# 反向解析的模板# 1.0.0.127.in-addr.arpa 写要域名解析成的IP网络位(注意是IP的网络位),IP还得倒过来写。42 zone "1.0.0.127.in-addr.arpa" IN {43     type master;44     file "named.loopback";45     allow-update { none; };46 };

DNS映射信息文件

/var/named/下的文件

 [root@Server ~]# ll /var/named/# 注意用户组是属于named的,自己创建时记得改所属组,或者直接cp -a 复制模板total 16drwxrwx--- 2 named named    6 Jul 10 23:07 datadrwxrwx--- 2 named named    6 Jul 10 23:07 dynamic-rw-r----- 1 root  named 2112 Jul 10 23:07 named.ca-rw-r----- 1 root  named  152 Jul 10 23:07 named.empty-rw-r----- 1 root  named  152 Jul 10 23:07 named.localhost      # 正向解析模板-rw-r----- 1 root  named  168 Jul 10 23:07 named.loopback       # 反向解析模板drwxrwx--- 2 named named    6 Jul 10 23:07 slaves       # 从服务器内容文件一般在这个目录下[root@Server named]# vim named.localhost# 放在修改这个文件中的域名后都加上.是没错的,不加.的话或实验可能会成功,也可能会不成功# $TTL 1D   生存时间1天。# 第一个@  表示当前域,就是这个文件要解析那一个域(域名是在/etc/named.rfc1912.zones中定义的域名,写完域名后,后面要加上.),可以保留@,不写域名# IN    Internet,互联网。# 第二个@  指的是权威域名服务器,表示当前文件授权的DNS,也就是它会去读取下面的那个NS后的@记录。# rname.invalid.    填邮箱为了避免@与前面第一个@冲突,所以换成点,例:admin@163.com ====> admin.163.com# 0   ; serial  表示这个文件中的DNS映射信息是否有更新,有的话加一,反正比原来的数字大就可以,一遍工作中是拿日期来写的# 1D  ; refresh     刷新时间,配置主从服务器时可能用得到(用手动刷新从服务器的命令更容易看到效果,不必在这里调这个时间)$TTL 1D@   IN SOA  @ rname.invalid. (0   ; serial    # 序号 当dns配置信息更新时 序号+11D  ; refresh   # 刷新时间1H  ; retry     # 重连时间1W  ; expire    # 过期时间3H )    ; minimum   # 缓存时间NS  @   # 声明用户名解析服务器# 在下面配域名解析,每个 解析行 间不可以空开,必须连在一起A   127.0.0.1       # ipv4格式AAAA    ::1         # ipv6格式~~​​[root@Client named]# vim named.loopback# 和正向解析一样,不做赘述# 值得注意的是反向解析行前的IP地址也是倒过来的#$TTL 1D@   IN SOA  @ rname.invalid. (0   ; serial1D  ; refresh1H  ; retry1W  ; expire3H )    ; minimumNS  @A   127.0.0.1AAAA    ::1PTR localhost.~~

正向解析

服务端

 [root@Server ~]# dnf install bind -y > /dev/null
 [root@Server named]# vim /etc/named.conf10 options {11     listen-on port 53 { any; };19     allow-query     { any; };43 };# 不在这个文件中添加区域,在这个/etc/named.rfc1912.zones文件中添加区域
 [root@Server named]# vim /etc/named.rfc1912.zones17 zone "localhost.localdomain" IN {18     type master;19     file "named.localhost";20     allow-update { none; };21 };2223 zone "xixi.com" IN {24     type master;25     file "xixi.com.zone";26     allow-update { none; };27 };
 [root@Server ~]# cd /var/named/[root@Server named]# cp -a named.localhost xixi.com.zone[root@Server named]# vim xixi.com.zone$TTL 1Dxixi.com.   IN SOA  ns.xixi.com. rname.invalid. (0   ; serial1D  ; refresh1H  ; retry1W  ; expire3H )    ; minimumNS  ns.xixi.com.ns.xixi.com. IN A 192.168.126.100www.xixi.com. IN A 192.168.126.110bbs.xixi.com. IN A 192.168.126.120​# 可以简写成以下格式$TTL 1D@   IN SOA  ns.xixi.com. rname.invalid. (0   ; serial1D  ; refresh1H  ; retry1W  ; expire3H )    ; minimumNS  ns.xixi.com.ns A 192.168.126.100www A 192.168.126.110bbs A 192.168.126.120
 [root@Server named]# systemctl start named

客户端

 [root@Client ~]# dnf install bind -y > /dev/null
 # 把DNS改为从服务器的IP再nslookup一下,改DNS用nmtui和nmcli都可以,改为记得起一下会议[root@Client ~]# nmcli c mod eth0 ipv4.dns 192.168.126.100[root@Client ~]# nmcli c up eth0Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)[root@Client ~]# nmcli device show | grep -i dnsIP4.DNS[1]:                             192.168.126.100
 # 可以有两个命令看效果host、nslookup[root@Client ~]# host ns.xixi.comns.xixi.com has address 192.168.126.100[root@Client ~]# host www.xixi.comwww.xixi.com has address 192.168.126.110[root@Client ~]# host bbs.xixi.combbs.xixi.com has address 192.168.126.120[root@Client ~]# nslookup ns.xixi.comServer:         192.168.126.100Address:        192.168.126.100#53​Name:   ns.xixi.comAddress: 192.168.126.100​[root@Client ~]# nslookup www.xixi.comServer:         192.168.126.100Address:        192.168.126.100#53​Name:   www.xixi.comAddress: 192.168.126.110​[root@Client ~]# nslookup bbs.xixi.comServer:         192.168.126.100Address:        192.168.126.100#53​Name:   bbs.xixi.comAddress: 192.168.126.120

反向解析

服务端

 [root@Server ~]# vim /etc/named.rfc1912.zones35 zone "1.0.0.127.in-addr.arpa" IN {36     type master;37     file "named.loopback";38     allow-update { none; };39 };4041 zone "126.168.192.in-addr.arpa" IN {42     type master;43     file "192.168.126.arpa";44     allow-update { none; };45 };
 [root@Server ~]# cd /var/named/[root@Server named]# cp -a named.loopback 192.168.126.arpa[root@Server named]# vim 192.168.126.arpa$TTL 1D126.168.192.in-addr.arpa.   IN SOA  ns.xixi.com. rname.invalid. (0   ; serial1D  ; refresh1H  ; retry1W  ; expire3H )    ; minimumNS  ns.xixi.com.ns.xixi.com. A 192.168.126.100110.126.168.192.in-addr.arpa.  PTR  www.xixi.com.120.126.168.192.in-addr.arpa.  PTR  bbs.xixi.com.# 也可以简写成这样$TTL 1D@   IN SOA  ns.xixi.com. rname.invalid. (0   ; serial1D  ; refresh1H  ; retry1W  ; expire3H )    ; minimumNS  ns.xixi.com.ns.xixi.com. A 192.168.126.100110 PTR www.xixi.com.120 PTR bbs.xixi.com.

客户端

 [root@Client ~]# nslookup 192.168.126.110110.126.168.192.in-addr.arpa    name = www.xixi.com.​[root@Client ~]# nslookup 192.168.126.120120.126.168.192.in-addr.arpa    name = bbs.xixi.com.

主从同步

主服务端

 [root@Server ~]# vim /etc/named.conf10 options {11     listen-on port 53 { any; };19     allow-query     { any; };43 };# 不在这个文件中添加区域,在这个/etc/named.rfc1912.zones文件中添加区域
 [root@Server ~]# vim /etc/named.rfc1912.zones41 zone "1.0.0.127.in-addr.arpa" IN {42     type master;43     file "named.loopback";44     allow-update { none; };45 };4647 zone "126.168.192.in-addr.arpa" IN {48     type master;49     file "192.168.126.arpa";50     allow-update { none; };51 };
 [root@Server ~]# cd /var/named/[root@Server named]# cp -a named.localhost xixi.com.zone[root@Server named]# vim xixi.com.zone$TTL 1Dxixi.com.   IN SOA  ns.xixi.com. rname.invalid. (0   ; serial1D  ; refresh1H  ; retry1W  ; expire3H )    ; minimumNS  ns.xixi.com.ns.xixi.com. IN A 192.168.126.100www.xixi.com. IN A 192.168.126.110bbs.xixi.com. IN A 192.168.126.120slave A 192.168.126.101     # 加这个保险一点,不加好像实验也可以成功​[root@Server named]# cp -a named.loopback 192.168.126.arpa[root@Server named]# vim 192.168.126.arpa$TTL 1D@   IN SOA  ns.xixi.com. rname.invalid. (0   ; serial1D  ; refresh1H  ; retry1W  ; expire3H )    ; minimumNS  ns.xixi.com.ns.xixi.com. A 192.168.126.100110 PTR www.xixi.com.120 PTR bbs.xixi.com.101 PTR slave.baidu.com.
 # 等从服务端配好文件后再起服务,从服务端会自动把主服务器/var/named/下的映射文件拉(下载)到从服务器/var/named/slaves下[root@Server named]# systemctl restart named

从服务端

 [root@ServerB ~]# dnf install bind -y > /dev/null
 [root@Server named]# vim /etc/named.conf10 options {11     listen-on port 53 { any; };19     allow-query     { any; };43 };
 [root@ServerB ~]# vim /etc/named.rfc1912.zones17 zone "localhost.localdomain" IN {18     type master;19     file "named.localhost";20     allow-update { none; };21 };2223 zone "xixi.com" IN {24     type slave;25     masters { 192.168.126.100; };26     file "slaves/xixi.com.zone";27 };​41 zone "1.0.0.127.in-addr.arpa" IN {42     type master;43     file "named.loopback";44     allow-update { none; };45 };4647 zone "126.168.192.in-addr.arpa" IN {48     type slave;49     masters { 192.168.126.100; };50     file "slaves/192.168.126.arpa";51 };
 # 配置好后等主服务器重新加载/重启服务后再重启服务,重启后可以看到已经把主服务器的映射信息文件拉过来了[root@ServerB ~]# systemctl start named[root@ServerB ~]# ll /var/named/slaves/total 8-rw-r--r-- 1 named named 382 Nov  8 15:45 192.168.126.arpa-rw-r--r-- 1 named named 352 Nov  8 15:39 xixi.com.zone

客户端

 # 把DNS改为从服务器的IP再nslookup一下,改DNS用nmtui和nmcli都可以,改为记得起一下会议[root@Client ~]# nmcli c mod eth0 ipv4.dns 192.168.126.101[root@Client ~]# nmcli c up eth0Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)[root@Client ~]# nmcli device show | grep -i dnsIP4.DNS[1]:                             192.168.126.101[root@Client ~]# nslookup www.xixi.comServer:         192.168.126.101Address:        192.168.126.101#53​Name:   www.xixi.comAddress: 192.168.126.110​[root@Client ~]# nslookup bbs.xixi.comServer:         192.168.126.101Address:        192.168.126.101#53​Name:   bbs.xixi.comAddress: 192.168.126.120​[root@Client ~]# nslookup ns.xixi.comServer:         192.168.126.101Address:        192.168.126.101#53​Name:   ns.xixi.comAddress: 192.168.126.100​[root@Client ~]# nslookup slave.xixi.comServer:         192.168.126.101Address:        192.168.126.101#53​Name:   slave.xixi.comAddress: 192.168.126.101[root@Client ~]# nslookup 192.168.126.110110.126.168.192.in-addr.arpa    name = www.xixi.com.​[root@Client ~]# nslookup 192.168.126.120120.126.168.192.in-addr.arpa    name = bbs.xixi.com.​[root@Client ~]# nslookup 192.168.126.101101.126.168.192.in-addr.arpa    name = slave.baidu.com.

主从增量

这个很简单,主服务器添加映射信息后serial值增大,如果客户端没有效果,从服务器手动刷新一下,就可以了

主服务端

 [root@Server named]# vim xixi.com.zone$TTL 1Dxixi.com.   IN SOA  ns.xixi.com. rname.invalid. (1   ; serial1D  ; refresh1H  ; retry1W  ; expire3H )    ; minimumNS  ns.xixi.com.ns.xixi.com. IN A 192.168.126.100www.xixi.com. IN A 192.168.126.110bbs.xixi.com. IN A 192.168.126.120slave A 192.168.126.101fanyi A 192.168.126.130[root@Server named]# vim 192.168.126.arpa$TTL 1D@   IN SOA  ns.xixi.com. rname.invalid. (1   ; serial1D  ; refresh1H  ; retry1W  ; expire3H )    ; minimumNS  ns.xixi.com.ns.xixi.com. A 192.168.126.100110 PTR www.xixi.com.120 PTR bbs.xixi.com.101 PTR slave.baidu.com.130 PTR fanyi.baidu.com.
 [root@Server named]# systemctl restart named

从服务端

 # 客户端没有效果,来从服务端手动更新:"rndc refresh 区域文件中定义的管理区域的名字"[root@ServerB ~]# rndc refresh xixi.comzone refresh queued[root@ServerB ~]# rndc refresh 126.168.192.in-addr.arpazone refresh queued

客户端

 # 重启named服务,但是从服务端没有刷新状况[root@Client ~]# nslookup 192.168.126.130** server can't find 130.126.168.192.in-addr.arpa: NXDOMAIN​[root@Client ~]# nslookup fanyi.xixi.comServer:         192.168.126.101Address:        192.168.126.101#53​** server can't find fanyi.xixi.com: NXDOMAIN
 # 从服务端手动刷新后情况[root@Client ~]# nslookup 192.168.126.130130.126.168.192.in-addr.arpa    name = fanyi.baidu.com.​[root@Client ~]# nslookup fanyi.xixi.comServer:         192.168.126.101Address:        192.168.126.101#53​Name:   fanyi.xixi.comAddress: 192.168.126.130
http://www.dtcms.com/a/586778.html

相关文章:

  • 仿QQMusic测试报告
  • 城市分类信息网站系统wordpress 模板 门户
  • Java刷题100天(连载)
  • 可以分4天做任务的网站wordpress变灰
  • 做网站张家口wordpress菠菜插件
  • JAR文件句柄泄漏问题分析与解决方案
  • 布吉做棋牌网站建设哪家公司便宜开发微信公众
  • 达梦数据库监听进程
  • 五屏网站建设品牌linux下搭建wordpress
  • Falcon-RX PTP交换机
  • 不买域名怎么做网站泰安人才网最新招聘
  • 【每天一个AI小知识】:什么是模型蒸馏?
  • 兰溪市建设局官方网站网站怎么做优化百度能搜索到
  • 如何删除网站的信息吗网页是怎么做的
  • 网站开发费入什么科目专门做民宿的网站有哪些
  • 阳泉建设局网站搜索引擎营销就是seo
  • 网站建设的七个步骤网站如何验证登陆状态
  • 深圳知名网站建设公司主要的网站开发技术路线
  • 做网站用别人的图片泉州网站建设培训
  • 深圳专业英文网站建设建筑人才直聘网
  • 个人网站备案地址选择惠州手工外发加工网
  • 高防服务器在网络游戏中的优势
  • 微商城网站建设策划网站建设简讯
  • 在 Go 语言中,模板字符串
  • PPT导出为图片的格式选择:JPG与PNG的区别
  • 开封网站建设流程与开发步骤免费正版高清素材库
  • K8S第二次安装
  • 手机上怎么上传网站什么是网络营销与策划
  • 港股上市只是起点:张兴海重塑赛力斯战略蓝图
  • JavaScript对DOM文本内容进行瞬间替换分析