linux下的DNS高级设置

1.高速缓存DNS
(1)安装部署dns

yum install bind -y
systemctl start named
systemctl enable named
systemctl stop firewalld
systemctl disable firewalld

主配置文件:/etc/named.conf
子配置文件:/etc/name.rfc1912.zones
数据目录	 : /var/named

在这里插入图片描述
(2)实验环境:(让虚拟机上网)

    虚拟机设置:网关设置成真机ip
    真机设置
    firewall-cmd --list-all
    firewall-cmd --add-masquerade
    firewall-cmd --list-all
    sysctl -a | grep ip_forward		

在这里插入图片描述

(3)DNS高速缓存的概念

DNS高速缓存服务的出现是为了提高客户端访问的效率。若网络中存在缓存机制,当客户端第一次访问目的主机时,会将目的主机的域名和ip缓存下来。当第二次访问该目的主机时,就不需要再次通过域名服务器来获得目的主机的域名和ip的对应关系,极大的提高了访问目标主机时的响应时间。

为了避免缓存服务器的中的数据有效性,通常缓存服务器对其数据设有过期期限,期限到后要重新更新数据

(4)DNS查找

客户端上的Stub解析器将查询发送至 /etc/resolv.conf中的名称服务器
如果名称服务器对于请求的信息具有权威性,会将权威答案发送至客户端,否则如果名称服务器再起缓存中由请求的信息,则会将非权威答案发送至客户端
如果缓存中没有信息,名称服务器将搜索权威名称服务器以查找信息,从根区域开始,按照DNS层次结构向下搜索,直至对于信息具有权威性的名称服务器,以此为客户端获得答案。在此情况中命ch成为服务器将信息传递至客户端并在自己的缓存中保留一个副本,以备以后查找

(5)DNS资源记录

DNS区域采用资源记录的形式存储信息,每条资源记录均具有一个类型,表明其保留的数据类型
A:名称至ipv4地址
AAAA:名称至ipv6地址
CNAME:名称值“规范名称”(包含A/AAAA 记录的另一个名称)
PTR:ipv4/ipv6地址至名称
MX:用于名称的邮件交换器(向何处发送其电子邮件)
NS:域名的名称服务器
SOA:‘授权起始’,DNS区域的信息(管理信息)

(6)DNS服务器的分类

权威名称服务器:包括master(主要名称服务器);Slave(备份服务器),Slave通过区域传送从Master服务器获得区域数据的副本
非权威域名服务器:即DNS告诉缓存服务器,仅用于查找,对于非重要数据之外的额任何内容都不具有权威性

(7)配置DNS高速缓存服务器(全局配置)

vim /etc/named.conf
 13         listen-on port 53 { any; };		为所有人开启53端口
 19         allow-query     { any; };		允许所有人查找
 20	  	    forwarders { 114.114.114.114; };真机中没有信息则去查找114.114.114.114
 33         dnssec-validation no;			关闭DNS的安全认证
systemctl restart named

在这里插入图片描述
(8)测试:
客户端:

vim /etc/resolv.conf
nameserver 172.25.254.226
dig www.baidu.com

在这里插入图片描述
在这里插入图片描述
2.DNS的正向解析

(1)目的为了保持DNS的可读性

@表示引号中的内容

(2)服务端配置环境

vim /etc/named.rfc1912.zones 
 25 zone "westos.com" IN {
 26         type master;
 27         file "westos.com.zone";
 28         allow-update { none; };
 29 };

cd /var/named
cp -p name.localhost  westos.com.zone
vim westos.com.zone
  1 $TTL 1D
  2 @       IN SOA  dns.westos.com.   z.westos.com. (
  					^表示引号中的内容   ^标识修改人
  3                                         0       ; serial##修改表示(用于辅助dns)
  4                                         1D      ; refresh##刷新时间
  5                                         1H      ; retry	##再次尝试时间
  6                                         1W      ; expire##过期时间
  7                                         3H )    ; minimum##最小缓存时间
  8         NS      dns.westos.com.	##要注意每个com后的"."
  9 dns     A       172.25.254.226
 10 www     A       172.25.254.111
 11 bbs     A       172.25.254.211

systemctl restart named

在这里插入图片描述
在这里插入图片描述
(3)测试
客户端:

vim /etc/resolv.conf
nameserver 172.25.254.226

dig www.westos.com

可见dig出的结果为服务端设置的ip地址
在这里插入图片描述
3.正向解析的轮询
(1)服务端配置

vim westos.com.zone 
  1 $TTL 1D
  2 @       IN SOA  dns.westos.com. z.westos.com. (
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8         NS      dns.westos.com.
  9 dns     A       172.25.254.226
 10 www     CNAME   bbs.a.westos.com.
 11 bbs.a   A       172.25.254.211
 12 bbs.a   A       172.25.254.233

systemctl restart named

在这里插入图片描述
(2)测试:
客户端
dig www.westos.com
情况1
在这里插入图片描述
情况2
在这里插入图片描述
4.DNS正向解析的邮件解析服务
(1)服务端配置

vim westos.com.zone 
  1 $TTL 1D
  2 @       IN SOA  dns.westos.com. z.westos.com. (
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8                  NS     dns.westos.com.
  9 dns              A      172.25.254.226
 10 www              CNAME  bbs.a.westos.com.
 11 bbs.a            A      172.25.254.211
 12 bbs.a            A      172.25.254.233
 13 westos.com.      MX 1   mail.westos.com.
 					 ^表示邮件交换器,1表示优先级
 14 mail             A      172.25.254.226

systemctl restart named

在这里插入图片描述
(2)测试

1.dig -t mx westos.com
在这里插入图片描述
在这里插入图片描述
5.DNS的反向解析

(1)环境配置
服务端:

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

cd /var/named/
cp -p named.loopback 172.25.254.ptr

vim 172.25.254.ptr
  1 $TTL 1D
  2 @       IN SOA  dns.westos.com. rname.invalid. (
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8         NS      dns.westos.com.
  9 dns     A       172.25.254.126
 10 100     PTR     dns.westos.com.
 11 111     PTR     www.westos.com.
 12 222     PTR     bbs.westos.com.

systemctl restart named

在这里插入图片描述
在这里插入图片描述
(2)测试
客户端:
dig -x 172.25.254.111
在这里插入图片描述
6.DNS的双向解析
(1)环境配置
客户端:

vim /etc/named.conf
 51 /*
 52 zone "." IN {
 53         type hint;
 54         file "named.ca";
 55 };
 56 */
 57 view localnet{
 58         match-clients{ localhost; };
 59         zone "." IN {
 60                 type hint;
 61                 file "named.ca";
 62 };
 63 include "/etc/named.rfc1912.zones";
 64 };
 65 view internet{
 66         match-clients{ any; };
 67         zone "." IN {
 68                 type hint;
 69                 file "named.ca";
 70 };
 71 include "/etc/named.rfc1912.inters";
 72 };
 73 include "/etc/named.root.key";

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

cp -p /var/named/westos.com.zone /var/named/westos.com.inter
vim /var/named/westos.com.inter
  1 $TTL 1D
  2 @       IN SOA  dns.westos.com. z.westos.com. (
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8                  NS     dns.westos.com.
  9 dns              A      192.168.0.100
 10 www              CNAME  bbs.a.westos.com.
 11 bbs.a            A      192.168.0.222
 12 bbs.a            A      192.168.0.111 
 13 westos.com.      MX 1   mail.westos.com.
 14 mail             A      192.168.0.200

systemctl restart named

(2)测试
服务端:
dig www.westos.com
在这里插入图片描述客户端:
dig www.westos.com
在这里插入图片描述可以看出由于设置了双向解析,客户端与服务端dig出不同的结果

7.辅助DNS
缓解主DNS压力,减少主DNS的负载
集群:多台主机组成一个服务,主主机更改时,别的都跟着改变

(1)环境配置

主DNS的配置
1.将双向DNS的设置还原
在这里插入图片描述

   2. vim /etc/named.rfc1912.zones 
     25 zone "westos.com" IN {
     26         type master;
     27         file "westos.com.zone";
     28         allow-update { none; };
     29         also-notify { 172.25.254.126; };
     30 };
    systemctl restart named

在这里插入图片描述

辅助DNS的主机配置(这里我们将客户端设置成辅助DNS)

yum install bind -y
systemctl restart named
systemctl stop firewalld

vim /etc/resolv.conf
 3 nameserver 172.25.254.126##设置成客户端自己的ip

在这里插入图片描述

vim /etc/named.conf
 11         listen-on port 53 { any; };
 17         allow-query     { any; };
 32         dnssec-validation no;

vim /etc/named.rfc1912.zones 
 25 zone "westos.com" IN {
 26         type slave;
 27         masters { 172.25.254.226; };
 28         file "slaves/westos.com.zone";
 29         allow-update { none; };
 30 };

systemctl restart named

在这里插入图片描述
在这里插入图片描述
(2)测试 :
现在主DNS和辅助DNS主机上分别dig www.westos.com
在这里插入图片描述
在这里插入图片描述
在主DNS所在主机上

vim /var/named/westos.com.zone
  3                                1       ; serial  将1改为2019
 11 bbs.a            A      172.25.254.211--->172.25.254.1
 12 bbs.a            A      172.25.254.233--->172.25.254.3

在这里插入图片描述
在这里插入图片描述
注意:每次更改主DNS记录文件后必须更改serial的数值,用于标示是否修改,这个数值最大可以有10位

systemctl restart named
dig www.westos.com

在这里插入图片描述
在辅助DNS所在主机上

dig www.westos.com

查看两个的;; ANSWER SECTION:是否同步
在这里插入图片描述
8.DNS的远程更新

(1)基于ip
环境配置:
被更新的主机的selinux应为Disabled状态(否则拒绝更新)

vim /etc/named.rfc1912.zones 
 25 zone "westos.com" IN {
 26         type master;
 27         file "westos.com.zone";
 28         allow-update { 172.25.254.126; };
 29         also-notify { 172.25.254.126; };
 30 };

在这里插入图片描述

    vim /etc/sysconfig/selinux					##更改selinux状态为disabled
    cp -p /var/named/westos.com.zone /mnt/		##备份,防止更新错误
    chmod 770 /var/named						##增加写权限
    systemctl restart named
	[root@dns-server named]# getsebool -a | grep named
	若named_write_master_zones --> off
	setsebool -P named_write_master_zones 1

文件更新
在126这台主机上

[root@dns_server2 named]# nsupdate
> server 172.25.254.226
> update add hello.westos.com 86400 A 172.25.254.44 
> send
在226/126上 dig hello.westos.com测试是否成功

在这里插入图片描述
可在/var/named/目录中,发现新增加了一个.jnl文件
在这里插入图片描述
如果想要查看westos.com.zone中的变化,需要先重启服务才能看到
在这里插入图片描述
文件删除

[root@dns_server2 ~]# nsupdate
> server 172.25.254.126
> update delete hello.westos.com
> send
在226/126上 dig hello.westos.com测试是否删除成功

在这里插入图片描述
在这里插入图片描述

(2)基于key
服务端设置:

dnssec-keygen  -a HMAC-MD5 -b 128 -n HOST westos
cp /etc/rndc.key /etc/westos.key -p
vim /etc/westos.key
key"westos"{
	algorithm hmac-md5;
	secret "";
}

vim /etc/named.conf
 44 include "/etc/westos.key"

vim /etc/named.rfc1912.zones
 25 zone "westos.com" IN {
 26         type master;
 27         file "westos.com.zone";
 28         allow-update { key westos; };
 29         also-notify{ 172.25.254.126; };
 30 };

systemctl restart named

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

测试
服务端:

scp Kwestos.+157+54139.* root@172.25.254.126:/mnt/

在这里插入图片描述
客户端

[root@dns-client ~]# nsupdate -k /mnt/Kwestos.+157+54139.key 
> server 172.25.254.226
> update add hhh.westos.com 86400 A 172.25.254.99
> send
> quit
dig hhh.westos.com

在这里插入图片描述
9.DDNS(花生壳):
解决问题:防止域名所在主机网络工作模式为dhcp,ip地址改变时,域名所对应的ip地址没有及时更新,同时此服务也基于dns key。

服务端配置dns key

dnssec-keygen  -a HMAC-MD5 -b 128 -n HOST westos	##生成密钥
cat Kwestos.+157+35121.key 
westos. IN KEY 512 3 157 o4NpZBHqONN49CC+PWVU1w==
cp /etc/rndc.key /etc/westos.key -p			##生成dns加密文件

vim /etc/westos.key
key"westos"{					##key名称
	algorithm hmac-md5;
	secret "4NpZBHqONN49CC+PWVU1w==";		##key的加密字符
}

vim /etc/named.conf
 44 include "/etc/westos.key"			##指定dns服务读取的key文件

vim /etc/named.rfc1912.zones
 25 zone "westos.com" IN {
 26         type master;
 27         file "westos.com.zone";
 28         allow-update { key westos; };		##指定westos可以被westoskey更新
 29         also-notify{ 172.25.254.126; };
 30 };

systemctl restart named

服务端配置dhcp

yum install dhcp -y
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
7 option domain-name “westos.com”; ##服务名称
8 option domain-name-servers 172.25.254.126; ##网关地址
14 ddns-update-style interim; ##开启dhcp更新dns功能
25 subnet 172.25.254.0 netmask 255.255.255.0 { ##网络位与子网掩码
26 range 172.25.254.63 172.25.254.99; ##自动分配的范围
27 option routers 172.25.254.126; ##DNS地址
28 }
29
30
31 key westos { ##dhcp更新dns用到的密钥
32 algorithm hmac-md5;
33 secret o4NpZBHqONN49CC+PWVU1w==;
34 }
35
36 zone westos.com.{ ##指定dhcp更新的域名
37 primary 127.0.0.1; ##指定dns所在的主机ip
38 key westos; ##指定更新这个域用到的key名称
39 }
40
systemctl restart dhcpd
在这里插入图片描述
在这里插入图片描述
测试
设定客户端主机网络工作模式为dhcp
设定客户端主机的主机名news.westos.com,这个名称在原有的dns服务中没有解析
重启网络后看ip和主机名称的解析

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值