五、Linux进阶——企业DNS服务器部署

本文详细介绍了Linux DNS服务器的部署,包括名词解释、服务安装启用、高速缓存DNS、正向和反向解析、双向解析配置、DNS集群、DNS更新方法以及DDNS动态域名解析服务的设置。通过实验环境和配置步骤,展示了如何搭建和管理DNS服务器。
摘要由CSDN通过智能技术生成

1. 关于dns的名词解释

dns:domain name service(域名解析服务)

1.1 客户端

 /etc/resolv.conf ##dns指向文件 
 host www.baidu.com ##地址解析命令 
 dig www.baidu.com ##地址详细解析信息命令 
 A记录 ##ip地址叫做域名的Address 记录

/etc/resolv.conf 指向文件【指向文件即我们地址解析动作时会访问该文件下指定的IP完成操作】: 在这里插入图片描述
地址解析命令’host’:
地址详细解析信息命令’dig’:
在这里插入图片描述

SOA ##授权起始主机 
dns顶级 
. 13
次级 
.com .net .edu .org

1.2 服务端

  bind            ##安装包 
  named           ##服务名称 
  /etc/named.conf ##主配置文件 
  /var/named      ##数据目录 
  53              ## 数据目录端口

1.3 报错信息

 1.no servers could be reached ##服务无法访问(服务开启?火墙?网络?端口?) 
 2.服务启动失败 ##配置文件写错 journalctl -xe查询错误 
 3.dig 查询状态 
    NOERROR ##表示查询成功 
    REFUSED ##服务拒绝访问 
    SERVFAIL ##查询记录失败,(dns服务器无法到达上级,拒绝缓存) 
    NXDOMAIN ##此域名A记录在dns中不存在

测试一:在dns_node1主机中关闭防火墙和selinux ,结果我们还是无法正常的解析,这是为什么呢?

查看状态后我们发现并没有开启172.25.254.20的53端口
在这里插入图片描述
接下来我们编辑主配置文件vim /etc/named.conf
在这里插入图片描述
再去执行dig www.westos.com查看结果
在这里插入图片描述

2. dns服务的安装与启用

#安装# 
    dnf install bind.x86_64 -y
#启用# 
    systemctl enable --now named 
#设定火墙策略# 
    firewall-cmd --permanent --add-service=dns 
    firewall-cmd --reload
 vim /etc/named.conf 
    11         listen-on port 53 { any; }; ##在本地所有网络接口上开启53端口 
    19         allow-query     { any; }; ##允许查询A记录的客户端列表 
    32         dnssec-validation no; ##禁用dns检测使dns能够缓存外部信息到本机
 systemctl restart named 

3. 高速缓存dns

20         forwarders { 114.114.114.114; };

4.dns的正向解析

1)在主配置文件vim /etc/named.conf
   在这里插入图片描述
或在配置文件vim /etc/named.rfc1912.zone

 zone "westos.com" IN { ##维护的域名        
        type master; ##当前服务器位主dns        
        file "westos.com.zone"; ##域名A记录文件        
        allow-update { none; }; ##允许更新主机列表 
};

   在这里插入图片描述
2) #复制指向文件

 cd /var/named/ 
 cp -p named.localhost westos.com.zone 

在这里插入图片描述
#并配置指向文件:

 vim westos.com.zone 
    $TTL 1D 
    @       IN SOA  dns.westos.com. root.westos.com. (                                          
                                        0       ; serial                                        
                                        1D      ; refresh                                        
                                        1H      ; retry                                        
                                        1W      ; expire                                        
                                        3H )    ; minimum                
                    NS       dns.westos.com. 
    dns             A        172.25.254.20   ##正向解析记录
    www             CNAME    westos.linux.westos.com. ##CNAME解析跳转                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
    westos.linux	A	     172.25.254.11
    westos.com      MX 1     172.25.254.20. ##邮件解析记录

在这里插入图片描述
#查询正向解析dig www.westos.com
在这里插入图片描述
#查询正向解析dig bbs.westos.com

在这里插入图片描述
因为文件中没配置bbs.westos.com,所以解析错误

CNAME的作用
跳转到westos.linux.westos.com
在这里插入图片描述
在这里插入图片描述
邮件解析记录
1).安装邮件发送软件和命令
在这里插入图片描述
2)发送邮件,没有解析记录
在这里插入图片描述在这里插入图片描述

  1. vim westos.com.zone
      wesoswestos.com MX 1 172.25.254.11. ##邮件解析记录
  2. dig -t mx westos.com邮件解析记录查询
    在这里插入图片描述

5.dns的反向解析

在这里插入图片描述
dig -x 172.25.254.20 反向解析失败

1)配置文件中添加:

 vim /etc/named.rfc1912.zones 
    zone "254.25.172.in-addr.arpa" IN { 
            type master; 
            file "172.25.254.ptr"; 
            allow-update { none; }; 
    };

在这里插入图片描述

2)复制并编写解析文件
cd /var/named/
cp -p named.loopback 172.25.254.ptr
vim 172.25.254.ptr
在这里插入图片描述
3) systemctl restart named
dig -x 172.25.254.20 ##反向解析
在这里插入图片描述

6. dns的双向解析

6.1 实验环境:

##服务端一台主机配置2个ip 
	1.1.1.20				
	172.25.254.20  
##客户端两台
	客户端主机1:1.1.1.30
    客户端主机2:172.25.254.30        	
 	在1.1.1.30的客户主机中 
    	vim /etc/resolv.conf 
			search westos.com
   			nameserver 1.1.1.20
    在172.25.254.30的客户中 
   		 vim /etc/resolv.conf 
			search westos.com
   		    nameserver 172.25.254.20

两台客户端dig www.westos.com 得到的解析地址一样,怎么办?

6.2 配置方式:

1)复制并编写解析文件

 cd /var/named/ 
 cp -p westos.com.zone westos.com.inter 
 vim westos.com.inter 
    $TTL 1D 
    @         IN SOA dns.westos.com. root.westos.com ( 
                                            0 ; serial 
                                            1D ; refresh 
                                            1H ; retry 
                                            1W ; expire 
                                            3H ) ; minimum 
                  NS      dns.westos.com. 
    dns           A       1.1.1.20 
    www           CNAME   westos.linux.westos.com. 
    westos.linux  A       1.1.1.11
    westos.com.   MX 1    1.1.1.20.

在这里插入图片描述
2)复制主配置文件并编写:

cp -p /etc/named.rfc1912.zones  /etc/named.rfc1912.inters 
vim /etc/named.rfc1912.inters 
    zone "westos.com" IN { 
            type master; 
            file "westos.com.inter"; 
            allow-update { none; };
     };

在这里插入图片描述
3)设置不同的客户访问不同的zone文件:

 vim /etc/named.conf 
    view localnet {        
            match-clients { 172.25.254.0/24; };        
            zone "." IN {                
                    type hint;
                    file "named.ca";
            };
            include "/etc/named.rfc1912.zones";
            include "/etc/named.root.key"; 
    };
    
    view internet {
            match-clients { any; };
            zone "." IN {
                    type hint;
                    file "named.ca";
            };
            include "/etc/named.rfc1912.inters";
            include "/etc/named.root.key"; 
    };

在这里插入图片描述
4)测试
分别在两台客户端主机中作同样域名的地址解析
得到的A记录不同
在这里插入图片描述
在这里插入图片描述

7. dns集群(辅助DNS)

DNS集群:在一台主机中做的任何操作,会同步到其他所有的主机中。

7.1 实验环境

1)主dns:双IP(注释掉双向解析代码,原始的还原,防止影响后面实验)

Vim /etc/named.conf
    zone "westos.com" IN {
            type master;
            file "westos.com.zone";
            allow-update { none; };
            also-transfer { 172.25.254.30; }; ##主动通知的辅助dns主机
    };

在这里插入图片描述

vim /var/named/westos.com.zone 
    $TTL 1D 
    @       IN SOA  dns.westos.com. root.westos.com (                                                                
                                      20200606      ; serial 
                                      ##每次修改A记录文件需要,改变后对比更新                                                     
                                      1D      ; refresh 
                                      1H      ; retry                                        
                                      1W      ; expire                                        
                                      3H )    ; minimum
                   NS       dns.westos.com. 
    dns            A        172.25.254.20 
    www            CNAME    westos.linux.westos.com. 
    westos.linux   A        172.25.254.1
    westos.com.    MX 1     172.25.254.11.

在这里插入图片描述

2)辅助dns:172.25.254.30用来缓解主dns的压力
也需要装dns

dnf install bind -y
systemctl start named
firewall-cmd --add-service=dns
     
vim /etc/named.conf 
    listen-on port 53 { any; }; 
    allow-query     { any; };
    dnssec-validation no;
   
 vim /etc/named.rfc1912.zone 
    	zone "westos.com" IN {
            type slave; ##dns状态位辅助dns
            masters { 172.25.254.20; }; ##主dns
            file "slaves/westos.com.zone"; ##同步数据文件
};

在这里插入图片描述
3)测试机中:vim/etc/resolv.conf配置指向172.25.254.30
dig www.westos.com解析到主dns的A记录
在这里插入图片描述

8.dns的更新

第7步中,此时dns集群数据不同步,如果改变服务器解析文件IP,集群服务器不会更新
删除辅助dns的数据然后重启dns服务数据会重新同步解决数据不同步问题,但是不可行,繁琐

8.1 dns基于ip地址的更新

1)在dns中设定:

vim /etc/named.rfc1912.zones
    zone "westos.com" IN {
            type master;
            file "westos.com.zone";
            allow-update { none; }; ##允许指定客户端更新westos域
            Allow-transfer{172.25.254.30}
            also-notify { 172.25.254.30; };
}; 

在这里插入图片描述
##每次修改A记录文件需要,改变后对比更新
在这里插入图片描述
##测试:在这里插入图片描述

8.2 dns基于key更新

在测试机中

#  nsupdate 
> server 192.168.43.20 
> update add hello.dsd.com 86400 A 192.168.43.111 ##新曾A记录 
> send 
> update delete hello.dsd.com ##删除A记录 
> send 

在这里插入图片描述
可以无密增删A记录
在这里插入图片描述
1)新建KEY文件

dnssec-keygen -a HMAC-SHA256 -b 128 -n HOST westoskey
cp -p /etc/rndc.key /etc/westos.key 
 vim /etc/westos.key 
  	  key "westoskey" { 
             algorithm hmac-sha256; 
             secret "4EVMXogJevsnJ5vW/0E7bw=="; 
   	 };

在这里插入图片描述
2).主配置文件指向westos key

vim /etc/named.conf 
    	 include "/etc/westos.key"; 
 	   
vim /etc/named.rfc1912.zones 
  	  		zone "westos.com" IN {
            	 type master;
           		 file "westos.com.zone";
           		 allow-update { key westos; };
            	 also-notify { 192.168.43.30; };
  	  };

在这里插入图片描述
此时测试主机操作被拒绝
在这里插入图片描述
3)复制key文件到测试主机
scp Kwestoskey.+163+54090.* root@172.25.254.10:/mnt
在这里插入图片描述
这个时候由于我们没有设置两台主机时间同步,因此会报错,这里我们直接将时间同步设置好。
4)配置时间同步

dns_node1主机172.25.254.20中

    vim /etc/chrony.conf
    ###
   		 23 allow 172.25.254.0/24
  		 26 local stratum 10
    ###
    systemctl restart chronyd.service
    systemctl stop firewalld

在测试机中:

    vim /etc/chrony.conf
    ###
   		 server 172.25.254.20 iburst
    ###
    systemctl restart chronyd.service

测试:

   [root@rhel7_node1 ~]# nsupdate -k /mnt/Kwestos.+163+26695.private 
    > server 172.25.254..20 
    > update add hello.westos.com 86400 A 172.25.254.111 
    > send 
    > quit

在这里插入图片描述

9. ddns(dhcp+dns)花生壳

动态域名解析服务,简称DDNS(Dynamic Domain Name Server),是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候,客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务程序负责提供DNS服务并实现动态域名解析。就是说DDNS捕获用户每次变化的IP地址,然后将其与域名相对应,这样域名就可以始终解析到非固定IP的服务器上,互联网用户通过本地的域名服务器获得网站域名的IP地址,从而可以访问网站的服务。

配置dns_node1的dhcp服务
1)下载dhcp,并配置文件如下

dnf install dhcp-server -y
cd /etc/dhcp/
cp /usr/share/doc/dhcp-server/dhcpd.conf.example  dhcpd.conf

2)编辑/etc/dhcp/dhcpd.conf文件

vim dhcpd.conf
    ###
    7 option domain-name "westos.com";
    8 option domain-name-servers 172.25.254.20;
      ddns-update-style interiim;
    27 #subnet 10.152.187.0 netmask 255.255.255.0 {
    28 #}
    32 subnet 172.25.254.0 netmask 255.255.255.0 {
    33   range 172.25.254.50 172.25.254.80;
    34   option routers 192.168.43.1;
    35 }
###后面删除,改为
    key westoskey {
             algorithm hmac-sha256;
             secret SB1tQcLaWeroU9lGW21zeA==;
           };
    zone westos.com. {
             primary 127.0.0.1;
             key westoskey; }##需要与第8节名字一样
    ###
systemctl restart dhcpd
删除westos.com.zone中原来指向30的A记录

在这里插入图片描述
在这里插入图片描述
2)在测试主机中,通过dhcp动态获取IP
在这里插入图片描述
3)dig test.westos.com成功解析
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值