Linux之DNS高级设置

linux之DNS高级设置

  • 高速缓存dns

当多个主机通过一个端口访问网站时,会占用带宽;
这时需要一个主机设置高速缓存dns
其他主机再访问网站时,通过设置高速缓存dns的主机访问网站
能够加快访问速度,减少带宽的占用

高速缓存dns的安装:

yum search dns
yum install bind.x86_64 -y

在这里插入图片描述
在这里插入图片描述
产生加密:

ls -l /etc/rhdc.key
在另外一台主机随意键入会产生加密
systemctl start named

编辑主配置文件:

vim /etc/named.conf
11 listen-on port 53 { any; };  ##端口访问
17 allow-query     { any; };   ##允许谁"问"
18 forwarders { 114.114.114.114; };  ##问"谁"
32 dnssec-varlidation no;

在这里插入图片描述
在这里插入图片描述
测试:
在设置过高速缓存dns的主机和同一个端口下另外一台主机分别:
dig www.baidu.com 比较二者的访问速度
主服务器:
在这里插入图片描述
同一端口设置过高速缓存的主机:
在这里插入图片描述
在这里插入图片描述

  • dns域名正向解析

正向解析时从域名–>ip地址的解析,当dns服务器被访问时,可以将域名解析为ip地址

实验环境准备:

删除之前高速缓存dns的dns指向
vim /etc/named.conf
删除第18行
vim /etc/resolv.conf
namserver 172.25.254.84 ##指定dns为自己
systemctl restart named

在这里插入图片描述
在这里插入图片描述
设置步骤:

编写区域配置文件:

vim /etc/named.rfc1922.zones
编写如下:
25  zone "cc.com" IN {
26         type master;
27         file "cc.com.zone";
28         allow-update { none; };
29};

在这里插入图片描述
编写数据配置文件:

cd /var/named
ls
cp -p named.localhost cc.com.zone
vim westos.com.zone
编写如下:
$TTL 1D
@       IN SOA  dns.cc.com. liu.cc.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.cc.com.
dns     A       172.25.254.100
www     A       172.25.254.100      ---www表示访问的域名
bbs     A       172.25.254.200   

systemctl restart named

在这里插入图片描述

测试:

dig www.cc.com

在这里插入图片描述

  • 域名转换

现象:能够上网的真机在ping www.baidu.com时候,会先将域名转换为www.a.shifen.com,然后再转换为ip地址

设置步骤:

vim /var/named/cc.com.zone
编写如下:
$TTL 1D
@       IN SOA  dns.cc.com. liu.cc.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.cc.com.
dns     A       172.25.254.100
www    CNAME    node1.a.cc.com. ##www表示访问的域名,CNAME表示域名转换,node1.a表示转换后的域名(配置域名转换,此时dig查看www.cc.com时候,会转换为域名为node1.a)
node1.a A       172.25.254.101
node1.a A       172.25.254.102    
bbs     A       172.25.254.200   

systemctl restart named

在这里插入图片描述

测试:

dig www.westos.com

在这里插入图片描述

  • 邮件解析记录

设置步骤:

vim /var/named/cc.com.zone
编写如下:
$TTL 1D
@       IN SOA  dns.cc.com. liu.cc.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.cc.com.
dns     A       172.25.254.100
www    CNAME   
node1.a A       172.25.254.101
node1.a A       172.25.254.102    
cc.com. MX 1    172.25.254.103  ##cc.com.表示邮箱地址([email protected])中的公司(cc.com),1是优先级,MX是表示邮件解析,172.25.254.103.表示[email protected]的ip地址
bbs     A       172.25.254.200   

systemctl restart named

在这里插入图片描述
测试:

mail [email protected]   ##表示给域名为cc.com的lee用户发送邮件
subject 主题(随便输入)
正文(随便输入)
.(编辑结束,回车发送)

dig -t mx dai.com  ##不用发送邮件,也能检测,查看到dai.com的ip地址表示邮件解析设置成功

在这里插入图片描述

  • 反向解析

相较于正向解析只是写法不同
反向解析用于解析dns服务器中ip地址对应的域名
设置步骤:
编写区域配置文件:

vim /etc/named.rfc1912.zones
编写如下:
31 zone "254.25.172.in-addr.arpa" IN {
32         type master;
33         file "172.25.254.ptr";
34         allow-update { none; };
35};

在这里插入图片描述
编写数据配置文件:

cd/var/named/
cp -p named.loopback 172.25.254.ptr
vim /172.25.254.ptr
编写如下:
$TTL 1D
@       IN SOA  dns.cc.com. liu.cc.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.cc.com.
dns     A       172.25.254.100
100     PTR     www.cc.com.  ##172.25.254.100的域名为www.cc.com,PTR为反向解析
200     PTR     bbs.cc.com.
201     PTR     edu.cc.com.

systemcrl restart named

在这里插入图片描述
测试:

dig -x 172.25.254.200

在这里插入图片描述

  • 多向解析

不同身份的用户,在查询dns服务器的时候,查看到的地址不同。

实验环境准备:
给虚desktop虚拟机的eth0网卡上添加ip1.1.1.84
在这里插入图片描述
在这里插入图片描述
设置虚拟机server的ip为1.1.1.184
同时设置dns指向为1.1.1.84
设置完毕
dig www.cc.com 查看ip是175.25.254网段的
在这里插入图片描述
在这里插入图片描述
设置步骤:
在虚拟机desktop(dns服务器)端:
编写数据配置文件:

cd /var/named
ls
cp -p cc.com.zone cc.com.inter
vim cc.com.inter
编写如下:
$TTL 1D
@       IN SOA  dns.cc.com. liu.cc.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.cc.com.
dns     A       1.1.1.100
www    CNAME    node1.cc.com.
node1.a A       1.1.1.101
node1.a A       1.1.1.102    
cc.com. MX 1    1.1.1.103 
bbs     A       1.1.1.200   
:%s/172.25.254/1.1.1/    ---将所有172.25.254替换为1.1.1

systemcrl restart named

编写区域配置文件:

cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter
vim /etc/named.rfc1912.inter
49行,将反向解析部分删除
24行,将cc.com.zone改为cc.com.inter

在这里插入图片描述
编写主配置文件:

vim /etc/named.conf
将49行到56行注释,从zone"."IN{一行开始,
只留下include"/etc/named.root.key"
在下方编写如下:
60 view localnet {
61         match-clients { 1.1.1.0/24; };
62         zone "." IN {
63         type hint;
64         file "named.ca";
65         };
66         include "/etc/named.rfc1912.inter";
67 };
68
69 view internet {
70         match-clients { any; };
71         zone "." IN {
72         type hint;
73         file "named.ca";
74         };
75         include "/etc/named.rfc1912.zones";
76 };

systemctl restart named

在这里插入图片描述

如果报错:

> /var/log/messages
systemctl restart named
cat /var/log/messages
根据日志报错信息中查看的报错行号进入配置文件/etc/named.conf修改

测试:
server的 ip 1.1.1.162(相当于内网)
dig www.cc.com
得到的ip地址是1.1.1的网段的
在这里插入图片描述
真机ip 172.25.254.9(相当于外网)
dig www.cc.com
得到的ip地址是172.25.254的网段的
在这里插入图片描述

  • dns集群(辅助dns的配置)

一台主机的dns在有很多用户进行登陆解析时,系统可能会国在崩溃,此时可以给dns配置一个辅助的服务器,两台dns服务器进行简单轮循工作,当主dns服务器中的解析文件更改时,辅助dns服务器虽然可以删除自己的dns配置文件并且restart named服务来达到同步dns主服务器的目的,但是如果辅助dns服务器太多,这样显然很不合适,耗费时间和人力。
所以通过设置dns的集群,来达到当dns主服务器信息更改时,dns辅助服务器自动同步更改。

实验环境准备:
desktop虚拟机作为dns主服务器
删除之前的多项解析
hostnamectl set-hostname dns ##更改主机名,便于观察

把server虚拟机设置为dns辅助服务器
配置ip为175.25.254.184
配置yum源
关闭防火墙
vim /etc/reslov.conf
将dns指向自己的ip
vim /etc/resolv.conf
nameserver 175.25.254.184

dns辅助服务器设置完毕测试:
在这里插入图片描述

配置步骤:
server dns辅助服务器:
主配置文件:

vim /etc/named.conf
设置两个"any"以及"no"

区域配置文件:

vim /etc/named.rfc1912.zones
编写如下:
复制6行,编辑为:
 zone "cc.com" IN {
        type slave;
        masters { 172.25.254.84; };
        file "slaves/cc.com.zone";
        allow-update { none; };
};

systemctl restart named

在这里插入图片描述
desktop dns主服务器:
区域配置文件:

vim /etc/named.rfc1912.zones
 zone "cc.com" IN {
        type master;
        file "cc.com.zone";
        allow-update { none; };
        allow-transfer { 172.25.254.184; };
        also-notify { 172.25.254.184; } ;

sysctemctl restart named

在这里插入图片描述
测试:
在dns主服务器端:

cd /var/named
vim cc.com.zone
更改desktop主服务器的dns的ip
systemctl restart named

在这里插入图片描述
在server辅助服务器上
dig www.cc.com
查看ip是否同步为dns主服务器更改后的ip
发现没有效果
在这里插入图片描述

更改desktop主服务器的数据配置文件的serial为1
systemctl restart named
在这里插入图片描述
在server辅助服务器上再次dig www.westos.com
查看ip是否同步为dns主服务器更改后的ip

在这里插入图片描述
在辅助dns服务器端可查询更改时间:

cd /var/named/
stat slave 

在这里插入图片描述

  • dns的远程更新

设置步骤:
dns主服务器:

cp -p /var/named/cc.com.zone /mnt/
chmod 770 /var/named

vim /etc/named.rfc1912.zones
编写如下:
 zone "cc.com" IN {
        type master;
        file "cc.com.zone";
        allow-update { 172.25.254.184; }; ##允许172.25.254.184主机对它进行远程更新
        allow-transfer { 172.25.254.184; };
        also-notify { 172.25.254.184; } ;

systemctl restart named

在这里插入图片描述
dns辅助服务器:
同步命令:

nsupdate
server 172.25.254.84  ##主服务器ip
update add test.cc.com 86400 A 172.25.254.84 ##更新的域名解析
send
quit

在这里插入图片描述

测试:
在dns主服务器 dig test.cc.com
查看更改后的域名解析ip
在这里插入图片描述
同时cd /var/named
ls 会看到一个cc.com.zone.jnl的文件,但是cc.com.zone文件中的ip没有改变
在这里插入图片描述
systemctl restart named
再次查看cc.com.zone 可以查看文件中被远程更新的ip
在这里插入图片描述
dns主服务器恢复:

cd /var/named
rm -fr westos.com.zone westos.com.zone.jnl
cp -p  /mnt/cc.com.zone

在这里插入图片描述

  • dns远程更新加密

作用:对主服务器用公钥进行加密,只允许私钥的用户可以进行远程更新

实验环境准备:
必须把前一个实验环境还原到没有远程更新的状态,否则哪个数据会产生冲突,影响检测。
此前所进行的远程更新配置,任何人修改自己为主服务器允许的ip地址,就可以对主服务器进行远程更新,这是很不安全的,所以需要提高安全性。

设置步骤:
在dns主服务器:

cat /etc/rndc.key
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST cc 
Kcc.+157+46315
cat Kcc.+157+46315.key
cat Kcc.+157+46315.private
cp -p /etc/rndc/key /etc/cc.key
vim /etc/cc.key 
修改加密

在这里插入图片描述
在这里插入图片描述
修改主配置文件:

vim /etc/named.conf
编写如下:
        session-keyfile "/run/named/session.key";
};
include "/etc/cc.key";                 ---named服务读取的文件添加钥匙配置文件
logging {
        channel default_debug {

在这里插入图片描述
修改区域配置文件:

vim /etc/named.rfc1912.zones
编写如下:
zone "cc.com" IN {
        type master;
        file "cc.com.zone";
        allow-update { key cc; }; 
        allow-transfer { 172.25.254.184; };
        also-notify { 172.25.254.184; } ;

在这里插入图片描述
此时在辅助dns服务器端尝试同步更新主服务器dns
在这里插入图片描述

将主服务的加密密钥发送给辅助服务器端

scp Kcc.+157+46315.* [email protected]:/mnt/

在这里插入图片描述
拥有密钥再次尝试同步更新主服务器
在这里插入图片描述
同步更新成功

  • 动态域名解析

猜你喜欢

转载自blog.csdn.net/weixin_44828950/article/details/89762672