DNS 正/反向解析 主从复制 分离解析

一 DNS概念它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网

每一台 DNS 服务器都只负责管理一个有限范围

根域:

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

  • 一级域名:Top Level Domain: tld

  • 三类:组织域、国家域(.cn, .ca, .hk, .tw)、反向域

  • 最多可达到127级域名

DNS服务器类型    

缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但是没有自己控制的区域地址数据。构建缓存域名服务器,必须设置根域或指定其他DNS服务器作为解析来源。
主域名服务器:管理和维护所负责解析的域内解析库的服务器
从域名服务器:从主服务器或从服务器"复制"(区域传输)解析库副本


DNS解析过程

以 访问  www.goole.com   服务器

1 先看我本机的hosts文件,如果有直接访问,如果没有就去找你设置缓存dns
2 如果缓存服务器有,直接反馈结果 (递归),如果没有就需要迭代查询直接去找根域服务
3 由于根域服务器 只能解析根无法解析 www.baidu.com 但是根域服务器让你去找级域服务器
4 一级域发现自己 也解析 不了,让你去找二级域
5 二级域发现这台服务在自己的 管理范围内,直接反馈结果给 缓存服务器
6 缓存服务器 再交给 客户
7其中正向解析是根据域名查找对应的IP地址

DNS查询方式
 

递归查询:

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


迭代查询:

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

二 内网搭建dns服务器  正向解析

目的内部人员自己使用内网,使用域名访问内网

root@localhost ~]#rpm -q install bind* 
未安装软件包 install 
未安装软件包 bind* 
[root@localhost ~]#yum install -y bind*
已加载插件:fastestmirror, langpacks





完毕!
[root@localhost ~]#systemctl stop firewalld
[root@localhost ~]#setenforce
usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]
[root@localhost ~]#setenforce 0
setenforce: SELinux is disabled
[root@localhost ~]#systemctl start named
[root@localhost ~]#vim /etc/named.conf
[root@localhost ~]#rndc reload
server reload successful
[root@localhost ~]#

DNS 正/反向解析 主从复制 分离解析_第1张图片

配置区域文件

[root@localhost ~]#vim /etc/named.rfc1912.zones

编辑数据库文件,解析记录对应关系

[root@localhost ~]#cd /var/named
[root@localhost named]#ls
chroot  chroot_sdb  data  dynamic  dyndb-ldap  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@localhost named]#cp named.localhost ./mcb.com.zone -p
[root@localhost named]#ls
chroot  chroot_sdb  data  dynamic  dyndb-ldap  kgc.com.zone  mcb.com.zone  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@localhost named]#vim mcb.com.zone

DNS 正/反向解析 主从复制 分离解析_第2张图片 注释

$TTL 1D                                            #有效解析记录的生存周期
@   in SOA benet.com. admin.benet.com. (   #“@"符号表示当前的DNS区域名
                     0   ; serial              #更新序列号,可以是10位以内的整数
                    1D   ; refresh             #刷新时间,重新下载地址数据的间隔
                    1H   ; retry               #重试延时,下载失败后的重试间隔
                    1W   ; expire              #失效时间,超过该时间仍无法下载则放弃#
                    3H)  ; minimum             #无效解析记录的生存周期,
        NS      benet.com.                     #记录当前区域的DNS服务器的名称
        A     192.168.80.10                   #记录主机IP地址
IN   MX 10    mail.benet.com.            #MX为邮件交换记录,数字越大优先级越低
www  IN A     192.168.80.10              #记录正向解析www.benet.com对应的IP
mail IN A     192.168.80.11              #MX为邮件交换记录,数字越大优先级低 
ftp  IN CNAME  www                       #CNAME使用别名,ftp 是www的别名
*    IN A   192.168.80.100               #泛域名解析,“*"代表任意主机名

修改网卡配置重启服务

[root@localhost named]#vim /etc/sysconfig/network-scripts/ifcfg-ens33 
[root@localhost named]#systemctl restart network
network-online.target  network.service        
[root@localhost named]#systemctl restart network
network-online.target  network.service        
[root@localhost named]#systemctl restart network
network-online.target  network.service        
[root@localhost named]#systemctl restart network
[root@localhost named]#ping www.goole.com
PING www.goole.com (217.160.0.201) 56(84) bytes of data.
64 bytes from 217.160.0.201 (217.160.0.201): icmp_seq=1 ttl=128 time=53.3 ms

DNS 正/反向解析 主从复制 分离解析_第3张图片

验证解析 

[root@localhost named]#host www.mcb.com
www.mcb.com has address 20.115.47.189
[root@localhost named]#host mcb.com
mcb.com has address 20.115.47.189
mcb.com mail is handled by 10 mx.usa.net.
mcb.com mail is handled by 50 mx.ct.mbox.net.


研究一下
[root@localhost named]#host abc.mcb.com
Host abc.mcb.com not found: 3(NXDOMAIN)

 三 正向解析

修改配置文件

#vim /etc/named.rfc1912.zones 

DNS 正/反向解析 主从复制 分离解析_第4张图片

复制正向解析文件 

[root@localhost ~]#vim /etc/named.rfc1912.zones 
[root@localhost ~]#
[root@localhost ~]#cd /var/named
[root@localhost named]#vim /etc/named.rfc1912.zones (核实路径变化配置文件是否变化)
[root@localhost named]#cp -p mcb.com.zone mcb1.com.zone
[root@localhost named]#chmod 640 mcb1.com.zone ;chgrp named mcb1.com.zone
[root@localhost named]#vim mcb1.com.zone 

[root@localhost named]#vim /etc/named.rfc1912.zones  

DNS 正/反向解析 主从复制 分离解析_第5张图片

 [root@localhost named]#vim mcb1.com.zone 

DNS 正/反向解析 主从复制 分离解析_第6张图片

root@localhost named]#rndc reload
rndc: connect failed: 127.0.0.1#953: connection refused

总结:此实验没有成功,有时间找原因

四 主从复制

添加从服务器(1)

[root@localhost ~]#systemctl stop firewalld.service 
[root@localhost ~]# setenforce 0
setenforce: SELinux is disabled
[root@localhost ~]#yum install bind bind-utils.x86_64 -y
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile

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

DNS 正/反向解析 主从复制 分离解析_第7张图片

 主备服务器配置

主:192.168.11.9

关闭防火墙 核心防护 下载bind服务

1 [root@localhost named]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 

DNS 正/反向解析 主从复制 分离解析_第8张图片

2 查看一下 [root@localhost named]# cat /etc/resolv.conf

[root@localhost ~]# vim /etc/named.rfc1912.zones
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install bind* -y
已加载插件:fastestmirror, langpacks

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

DNS 正/反向解析 主从复制 分离解析_第9张图片

③ [root@localhost ~]#  vim /etc/named.rfc1912.zones

DNS 正/反向解析 主从复制 分离解析_第10张图片

④ [root@localhost named]# vim mcb2.com.zone

DNS 正/反向解析 主从复制 分离解析_第11张图片

 检测一下

[root@localhost named]#dig www.mcb2.com
;; Query time: 0 msec
;; SERVER: 192.168.11.9#53(192.168.11.9)
;; WHEN: 六 1月 13 15:06:34 CST 2024
;; MSG SIZE  rcvd: 158
 

从主机服务 主192.168.11.14

[root@localhost ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33

DNS 正/反向解析 主从复制 分离解析_第12张图片 [root@localhost named]#vim mcb2.com.zone  (从服务无需这样)

 [root@localhost ~]#vim /etc/named.rfc1912.zones

[root@localhost named]#systemctl restart named
[root@localhost named]#systemctl restart network
[root@localhost named]#dig www.mcb2.com

DNS 正/反向解析 主从复制 分离解析_第13张图片五搭建分离解析

根据不同客户端提供不同域名解析记录


[root@localhost ~]#systemctl stop firewalld
[root@localhost ~]#setenforce  0
setenforce: SELinux is disabled
[root@localhost ~]#yum install-y bind bind-utils   #既有bind文件又有bind测试工具
已加载插件:fastestmirror, langpacks

[root@localhost ~]#rpm -ql bind | head       #主程序名named,安装包bind
/etc/logrotate.d/named
/etc/named.con                            

[root@localhost ~]#rpm -qc bind   #主配置文件
[root@localhost ~]#systemctl restart named   
[root@localhost ~]#ss -natp | grep named   #检测named是否开启,并查看端口号
LISTEN     0      10     127.0.0.1:53                       *:*                   users:(("named",pid=5315,fd=21))



修改主配置文件/etc/named.conf,修改权限和监听地址


  listen-on port 53 { any; };      #两个any 允许所有网段进行解析
  allow-query     { any; };


将根配置文件删除或注释

//zone "." IN {
//      type hint;
//      file "named.ca";
//};




再修改域名配置文件
[root@localhost ~]# vim /etc/named.rfc1912.zones

修改网卡配置 

在虚拟机设置添加ens37网卡

#cp   ifcfg-ens33 ifcfg-ens37     #复制ens33模板


[root@localhost named]#vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=f29dc91f-b6b3-4698-b2be-899da88177e2
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.11.9
NETMASK=255.255.255.0
GATEWAY=192.168.11.2
DNS1=8.8.8.8



[root@localhost named]#vim /etc/sysconfig/network-scripts/ifcfg-ens37

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens37
#UUID=f29dc91f-b6b3-4698-b2be-899da88177e2
DEVICE=ens37
ONBOOT=yes
IPADDR=12.0.0.9
NETMASK=255.255.255.0
GATEWAY=12.0.0.2
DNS1=8.8.8.8
PREFIX=24       

 修改域名配置文件

[root@localhost named]#vim /etc/named.rfc1912.zones

         
view "lan" {
        match-clients {192.168.11.0/24; };
        //      #匹配网段
        zone "mcb.com" IN {
          type master;
          file "mcb.com.lan";
        };

        zone "." IN {
          type hint;
          file "named.ca";   #符号  空格结尾 复制别落下  删除干净
        };

};



view "wan" {
        match-clients { 12.0.0.0/24; };
        zone "mcb.com" IN {
          type master;
          file "mcb.com.wan";
        };

        zone "." IN {
          type hint;
          file "named.ca";
        };

};
[root@localhost ~]#cd /var/named
[root@localhost named]#cp -a named.localhost  mcb.com.wan
[root@localhost named]#cp -a named.localhost  mcb.com.lan     两者保留权限

root@localhost named]#vim mcb.com.wan 

$TTL 1D
@	IN SOA	master rname.invalid. (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
        NS      master
master  A       12.0.0.9
www     A       12.0.0.41

[root@localhost named]#cat mcb.com.wan   # 用来查看




[root@localhost named]#cat mcb.com.lan

$TTL 1D
@	IN SOA	@ rname.invalid. (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
        NS      master
master  A       192.168.11.9
www     A       192.168.11.40
sftp    A       192.168.100.99

DNS 正/反向解析 主从复制 分离解析_第14张图片 

[root@localhost named]#systemctl restart network


[root@localhost named]#systemctl restart named

 DNS 正/反向解析 主从复制 分离解析_第15张图片
 

 DNS 正/反向解析 主从复制 分离解析_第16张图片

DNS 正/反向解析 主从复制 分离解析_第17张图片 

牛气指令  #named-checkzone mcb.com /var/named/www.mcb.com.zone
 

你可能感兴趣的:(linux,服务器)