linux—高速缓存服务器及DNS的配置

一.DNS高速缓存服务器的配置

高速缓存服务器的设置,在用户对DNS服务器进行访问时,会将答案缓存,如果有其他用户对DNS服务器进行访问时,询问了同样的网址,那么高速缓存服务器会直接将缓存的数据发送给客户端,以此达到降低DNS服务器负载的效果。

环境:

将desktop reset,desktop可以ping通www.baidu.com

真机:

1)真机可以上网 ping www.baidu.com


2)systemctl start firewalld


3)firewall-cmd --add-masquerade   ---使真机成为路由器


4)vim /etc/reslov.conf  
nameserver 172.25.254.162    ---作为客户端测试虚拟机服务端的配置是否正确

虚拟机:

5)vim /etc/sysconfig/network-scripts/ifcfg-eth0
 DEVICE=eth0
 BOOTPROTO=none
 ONBOOT=yes
 IPADDR=172.25.254.162
 PREFIX=24
 GATEWAY=172.25.254.62
 DNS1=114.114.114.114


6)vim /etc/reslov.conf
 nameserver 114.114.114.114

7)systemctl restart network

此时desktop可以ping通www.baidu.com

配置DNS高速缓存服务器步骤:

1)指定yum仓库
2)yum install bind.x86_64 -y


3)systemctl start named  ---开启不了的话,进入虚拟机敲键盘或者动鼠标增加加密字符
  cat /dev/random               ----这个文件内容就是通过鼠标晃动与键盘敲击形成的加密文件


4)systemctl stop firewalld         ---关闭火墙,其他主机可以访问



测试:

真机dig www.baidu.com         ---真机unreachable



#查看端口号
netstat -antlpue | grep named     ---查看提供named服务的端口号


1)vim /etc/named.conf
11行,listen-on port 53 { any; };   ---接口53可以到达所有接口


systemctl restart named      ---此时真机dig www.baidu.com 被resfused


2)vim /etc/named.conf
17行,allow-query   { any; };       ---允许任何用户接入


systemctl restart named      ---此时真机dig www.baidu.com ,被告知服务器不知道答案


3)vim /etc/named.conf        
18行 forwarders { 114.114.114.114; };     ---指定被询问时,自动去查找的网址,所以此时服务器外面不需要设置DNS为114.114.114.114


systemctl restart named     ---此时真机dig www.baidu.com ,被告知服务器不知道答案


4)vim /etc/named.conf      
32行 dnssec-validation no;   ---不经过检测,合法的dns服务器需要备案,只是做实验,设置为不经过检测

systemctl restart named   ---此时真机dig www.baidu.com 可以查询到答案,第一次查询时间较久,此后为0ms


5)vim /etc/reslov.conf
nameserver 172.25.254.162   ---将虚拟机dns服务器地址设置为172.25.254.162(刚做好的高速缓存服务器地址)


6)dig www.baidu.com
此时可以得到答案,且时间为0ms

二.DNS的正向解析

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

环境:

1.高速缓存服务器已经完成
2.vim /etc/named.conf
将18行的网址一整行删除(此时不需要上网,配置私人DNS服务器)


systemctl restart named

 vim /etc/named.rfc1912.zones


cd /var/named
ls
 cp -p named.localhost dai.com.zone            ---以named.localhost为模板,新建私人DNS服务器,文件中保存着解析信息
vim dai.com.zone


systemctl restart named

检测:

dig www.dai.com                     ---dig命令用于测试解析结果

解析出的是保存在私人dns中的ip域名对

 

 

三.域名转换

能够上网的真机在ping www.baidu.com时候,先将域名转换为其他的域名,然后再转换为ip地址

环境:

前面的正向解析能够正常工作


 

步骤:

vim /var/named/dai.com.zone     ---这是私人DNS服务器的所有答案,在dig这个域名时候的时候(dig www.dai.com),会在这个文件中找到答案   
$TTL 1D
@       IN SOA  dns.dai.com olddai.dai.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                NS      dns.dai.com.
dns          A           172.25.254.162
www     CNAME     music.a         ---www表示访问的域名,CNAME表示域名转换,music.a表示转换后的域名(配置域名转换,此时dig查看www.dai.com时候,会转换为域名为music.a)
music.a   A       172.25.254.8    ---转换后的域名正向解析(A表示正向解析)
music.a   A      172.25.254.9

测试:

真机dig www.dai.com
此时查看到的域名为music.a.dai.com

 


四.邮件解析记录

是什么,百度
vim /var/named/dai.com.zone      ---编辑私人DNS服务器的域名ip仓库

$TTL 1D
@       IN SOA  dns.dai.com. olddai.dai.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                NS      dns.dai.com.
dns              A      172.25.254.162
www             CNAME   music.a
music.a          A      172.25.254.8
music.a          A      172.25.254.9
dai.com.         MX  10 172.25.254.111.     ---dai.com.表示邮箱地址(lee@dai.com)中的公司(dai.com),10是优先级,MX是表示邮件解析,172.25.254.111.表示lee@dai.com的ip地址

测试:

mail lee@dai.com   ---表示给域名为dai.com的lee用户发送邮件
subject 主题(随便输入)
正文(随便输入)
.(编辑结束,回车发送)

mailq  ---查看邮件队列,如果查看到ip地址,就是正确的


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

五.反向解析记录

反向解析用于解析dns服务器中ip地址对应的域名

环境:

1)vim /etc/named.rfc1912.zones        ---这个文件中保存着dns解析信息指定的文件,即客户在访问dns时,寻求反向解析答案,会前往172.25.254.ptr这个文件去寻找答案

 50   zone "254.25.172.in-addr.arpa" IN {
 51         type master;
 52         file "172.25.254.ptr";
 53         allow-update { none; };
 54 };

2)cd /var/named/                      ---172.25.254.ptr默认在/var/named目录下会生效
ls
3)cp -p named.loopback 172.25.254.ptr     ---此时还没有这个反向解析文件,所以要以named.loopback为模板新建反向解析记录文件


4)vim 172.25.254.ptr                      ---编辑反向解析记录文件
$TTL 1D
@       IN SOA  dns.dai.com. root.dai.com.  (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.dai.com.
dns     A       172.25.254.162
111     PTR     hello.dai.com.            ---172.25.254.111的域名为hello.dai.com, PTR为反向解析
222     PTR     bbs.dai.com.              ---172.25.254.222的域名为bbs.dai.com

5)systemctl restart named            ---重启named服务

检测:

dig -x 172.25.254.111         ---  -x表示反向解析,此时dig查询172.25.254.111的域名是什么,会得到hello.dai.com的答案


dig -x 172.25.254.222   

 
dig -x 172.25.254.121         ---因为反向解析文件中没有ip地址为172.25.254.121的域名信息,所以无法查询到答案


六.多向解析

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

环境:

desktop的eth0添加一个ip1.1.1.62

           
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
IPADDR0=172.25.254.62
PREFIX0=24
PREFIX1=24
IPADDR1=1.1.1.62

systemctl restart network
ip addr show eth0

打开server,配置ip为1.1.1.162
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
IPADDR=1.1.1.162
PREFIX=24

systemctl restart network
ifconfig

vim /etc/resolv.conf
nameserver 1.1.1.62

此时server: dig www.dai.com
查看到的ip是172.25.254网段的

如何让内网的客户查看到的是与它们在一个网段的地址

服务器步骤:

内网客户查看的文件与其他用户查看的文件不同,所以需要再新建一个解析信息文件,用于保存内网客户的解析信息
cd /var/named/
ls

cp -p dai.com.zone dai.com.inter         ---以dai.com.zone为模板新建dai.com.inter(内网客户访问时查看的解析信息文件)
ls
vim dai.com.inter   ---编辑文件,这保存了内网用户在进行地址解析时所查到的ip地址
$TTL 1D
@       IN SOA  dns.dai.com. olddai.dai.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
                NS      dns.dai.com.
dns              A      1.1.1.162
www             CNAME   music.a
music.a          A      1.1.1.8
music.a          A      1.1.1.9
dai.com.         MX  10 1.1.1.111.
:%s/172.25.254/1.1.1/    ---将所有172.25.254替换为1.1.1


cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter


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

vim /etc/named.conf
将49行到56行注释,从zone "." IN { 一行开始,只留下include "/etc/named.root.key"
 

 49 /*
 50 zone "." IN {
 51         type hint;
 52         file "named.ca";
 53 };
 54
 55 include "/etc/named.rfc1912.zones";
 56 */

 58 view localnet {
 59         match-clients { 1.1.1.0/24; };
 60         zone "." IN {
 61                 type hint;
 62                 file "named.ca";
 63         };
 64 include "/etc/named.rfc1912.inter";
 65 };
 66
 67 view internet {
 68         match-clients { any; };
 69         zone "." IN {
 70                 type hint;
 71                 file "named.ca";
 72         };
 73 include "/etc/named.rfc1912.zones";
 74 };

 

 
 
systemctl restart named


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


检测:

server的 ip 1.1.1.162
dig www.dai.com
得到的ip地址是1.1.1的网段的


真机ip 172.25.254.62
dig www.dai.com
得到的ip地址是172.25.254的网段的
                                    

 

七.DNS的集群(辅助DNS的配置)

 

做好的dns,在有很多用户进行登陆解析时,系统可能会过载崩溃,此时可以给DNS配置一个辅助的服务器,两台进行简单轮循工作
但是当主DNS服务器中的解析信息(/var/named/dai.com.zone文件)更改时,辅助的DNS服务器虽然可以将/var/named/slaves/dai.com.zone给删除,然后重启named服务,达到同步主服务器中信息更改的效果,但是当辅助服务器数量很多的时候,这种方法明显不妥。
可以设置DNS的集群,在主DNS服务器的信息更改时,通知到辅助服务器,让其自动更改。

环境:

desktop:主DNS服务器
将之前的多向解析内容删除,简化实验环境
vim /etc/named.conf      ---将多向解析实验部分删除


hostnamectl set-hostname dns1.dai.com   ---更改主机名,方便实验区分

server:辅助DNS服务器
配置ip为172.25.254.200
配置yum源,7.0的镜像需要准备好
hostnamectl set-hostname dns-slave.dai.com
systemctl stop firewalld     ---关闭防火墙,这样主服务器可以将信息同步到本机


vim /etc/resolv.conf  
 nameserver=172.25.254.200  ---指向自己,方便实验测试,在dig时候查询的是本机

DNS集群的配置步骤:

1.首先需要能够进行正向解析
1)yum install bind -y


2)vim /etc/named.conf
  两个any,一个no
3)cd /var/named
4)ls
5)vim /etc/named.rfc1912.zones
复制6行,编辑为:
 zone "dai.com" IN {
        type slave;
        masters { 172.25.254.141; };
        file "slaves/dai.com.zone";
        allow-update { none; };
};


6)systemctl restart named(第一次开启服务需要手动输入,帮助加密完成)
检测1:dig www.dai.com
 可以进行正向解析


2.主DNS服务器的设置
1)vim /etc/named.rfc1912.zones   ---添加两行内容
zone "dai.com" IN {
        type master;
        file "dai.com.zone";
        allow-update { none; };
        allow-transfer { 172.25.254.200; };   ---允许让172.25.254.200同步自己
        also-notify { 172.25.254.200; };        ---当主DNS更改时,告诉200需要更改了
};


2)systemctl restart named

检测一:

主服务器:cd /var/named
vim dai.com.zone
 将www的ip进行更改,其它不变


systemctl restart named
查看辅助服务器:
dig www.dai.com
此时的结果是没有更改的ip,没有同步成功,原因是主服务器中的/var/named/dai.com.zone文件中的serial值没有更改,系统默认没有变化(就是之前在/etc/named.rfc1912.zones中配置的,当产生变化时,告诉辅助服务器,但是此时系统默认不告诉它,因为没有变化)


检测二:


主服务器中进行ip的更改(vim /var/named/dai.com.zone),并且更改serial值从0为1


此时辅助服务器dig www.dai.com时
结果是更改的ip


检测三:

辅助服务其用stat dai.com.zone 查看这个文件最后一次更改时间是什么
主服务器中进行ip的更改,并且更改serial值从1为2,辅助服务其用stat dai.com.zone 查看这个文件最后一次更改时间是什么,结果是时间是变化的

 

 

八.DNS的远程更新


1.远程更新

步骤:

DNS主服务器
1)getenforce


Disabled 状态,如果是Enforcing状态
getsebool -a | grep named ---可以看到named_write_master_zones时off状态
setsebool -P named_write_master_zones on
2)cp -p /var/named/dai.com.zone /mnt/


3)chomd 770 /var/named/              ---当更新的时候,辅助服务器会在/var/named/下写一个数据,需要经过允许


4)vim /etc/named.rfc1912.zones
zone "dai.com" IN {
        type master;
        file "dai.com.zone";
        allow-update { 172.25.254.200; };   ---允许172.25.254.200主机对它进行远程更新
        allow-transfer { 172.25.254.200; };
        also-notify { 172.25.254.200; };
};


5)systemctl restart named

辅助服务器:

远程更新
[root@dns slaves]# nsupdate
> server 172.25.254.162
> update add test.dai.com 86400 A 172.25.254.111
> send
> quit
[root@dns slaves]#


检测一:

DNS主服务器中,dig test.dai.com 如果能够查到ip地址,远程更新成功


检测二:

主服务器 ls /var/named/  可以查看到一个jnl结尾的数据,但是此时dai.com.zone文件内容没有改变,不包含test的地址解析信息


systemctl restart named       此时vim /var/named/dai.com.zone 可以查看到文件被那个数据改变

实验还原:

cd /var/named/
rm -fr dai.com.zone dai.com.zone.jnl
cp -p /mnt/dai.com.zone .       ---将原来备份的数据拷贝回来
systemctl restart named         ---重启named服务,此时实验还原到更新之前

 

2.远程更新的加密

环境:

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

解决方法:

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

步骤:

主服务器:
1)cat /etc/rndc.key        ---查看系统dns加密模板的格式

key "rndc-key" {
    algorithm hmac-md5;
    secret "zard3R7sivOPTnGWe7wuvg==";
};

cd /mnt/
2)dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westoskey ---创建钥匙         ---敲键盘输入随机创建密码
Kwestoskey.+157+30532


ls


3)cat Kwestoskey.+157+13493.key     ---查看公钥内容
 cat Kwestoskey.+157+13493.private


4) cp -p /etc/rndc.key /etc/westos.key
5)vim /etc/westos.key
key "westoskey" {
        algorithm hmac-md5;
        secret "5qbLfKN...";        ---钥匙的内容
};

6)vim /etc/named.conf                


 40         session-keyfile "/run/named/session.key";
 41 };
 42 include "/etc/westos.key";                 ---named服务读取的文件添加钥匙配置文件
 43 logging {
 44         channel default_debug {
 


7)vim /etc/named.rfc1912.zones
zone "dai.com" IN {
        type master;
        file "dai.com.zone";
        allow-update { key westoskey; };                 ---只允许拥有钥匙的客户端远程更新
        allow-transfer { 172.25.254.200; };
        also-notify { 172.25.254.200; };
};

8)systemctl restart named
9)scp Kwestoskey.+157+30532.* root@172.25.254.200:/mnt/ ---将加密的钥匙文件拷贝辅助服务器上

检测-辅助服务器:
1)ls /mnt/
Kwestoskey.+157+30532.key  Kwestoskey.+157+30532.private
2)cd /mnt/
3)nsupdate                                    ---不用私钥进行远程更新,最后更新失败


4)nsupdate -k Kwestoskey.+157+30532.private   ---使用私钥进行远程更新(用哪个钥匙都一样,因为密码都一样)
> server
could not read server name
> server 172.25.254.162
> update add test.dai.com 86400 A 172.25.254.111
> send

 

九.动态域名解析


dns+dhcp == ddns ===动态域名解析  ===花生壳


1.desktop配置dhcp服务,server先测试

分发的ip范围是172.25.254.193到172.25.254.230

查看server的动态ip为172.25.254.193



2.dns的key更新

检测:

进行远程更新,在主服务器中解析到test.dai.com

3.dns解析信息无法同步动态ip的服务器的解析信息

vim /etc/named/dai.com.zone                     ---在dns服务器中写入game.dai.com的解析信息

server动态ip改变为172.25.254.194

此时的dns解析信息中game.dai.com的ip依然是172.25.2543.193,没有同步解析信息中动态ip的改变

4.vim /etc/named/dai.com.zone                 ---将game.dai.com域名的解析信息删除

5.配置dhcpd.conf                    ---利用dhcpd服务来对动态域名进行解析
 1)14行 ddns-update-style interim;


 2)文件最后添加可更新dns的key
key dns的key名称 {
 algorithm hmac-md5;
 secret dns的key加密字符;
}


3)文件最后添加要更新的dns的域信息
zone 要更新的域名. {
 primary 127.0.0.1;        ---回环接口ip地址
 key dns的key名称;
}

回环接口ip地址

测试:

1.设置一台主机的网络为dhcp


2.设置主机名称为xxx.域名.com


3.重启网络看解析,解析到动态服务器game.dai.com的ip地址为172.25.254.194

server重启网络服务,得到的动态ip是172.25.254.194

此时在desktop中测试,dig game.dai.com的结果是动态域名的解析信息

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值