部署DNS服务:高速缓存,正向解析,反向解析,双向解析

  • DNS高速缓存

任务:搭建一个dns服务器去缓存浏览器的解析,当再次去访问时,快速得到域名对应的ip

实验环境:

server(172.25.254.44):(1)上面搭载dns服务器功能(配置环境保证本身可以访问网络,)可以把数据缓存下来

                                            (2)开放指定的端口

client(172.25.254.22):将解析的地址指向我们的服务器

效果:通过访问时间的缩短来判断

server:

首先保证自身可以上网添加临时网关

route add default gw 172.25.254.154

route -n 查看

在真机上添加策略iptables -t nat -A POSTROUTING -s 172.25.254.44/24 -j MASQUERADE保证可以上网

vim /etc/resolv.conf

测试本机可以ping通外网

搭建dns服务

yum install bind  -y
systemctl start named  
systemctl enable named
firewall-cmd --list-all    管理防火墙开通dns服务
firewall-cmd --add-service=dns
firewall-cmd --reload
 

 或者关闭火墙:

systemctl stop firewalld

systemctl  disable firewalld

查看端口:

更改配置文件/etc/named.conf

options {
        listen-on port 53 { any; };        改:允许任何人访问53端口
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };         改:向任何人提供解析服务
        forwarders { 114.114.114.114; };   添加:服务器向谁添加

重启服务:systemctl restart named

client:

vim /etc/resolv.conf

测试:client:

dig www.baidu.com

第二次访问

  • 正向解析

单向解析的理解:注释掉服务器是因为dns中没有我们要解析网址

我们需要在本地搭建正向解析文件和反向解析文件

且正反向解析是在两个区域之间,所以正向解析文件和反向解析文件不是一个文件

服务端server:

[root@localhost ~]# vim /etc/named.conf中包含子配置文件

[root@localhost ~]# vim /etc/named.rfc1912.zones创建正向解析文件

复制一份生成名为ting.com.zone

[root@localhost named]# cd /var/named/
[root@localhost named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves

[root@localhost named]# cp named.localhost  ting.com.zone  -p  -p指的是连同所有人所有组一并复制过来

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

:

补充:@相当于子配置文件中“ ”中写的值,SOA相当于授权

$TTL 1D #解析缓存文一天
@(紫色) #代表‘test.com‘(即就是所要解析的域名)
dns.test.com #dns服务器的名称
root.test.com. #管理dns服务器的用户
0 ; serial #一致性标记,在做dns集群的时候会用到,下文会详细解释
1D ; refresh #dns缓存刷新的时间
1H ; retry #如果出现解析错误后,重新尝试的时间
1W ; expire #过期时间,此处为1周
3 H ) ; minimum #主服务器挂后,从服务器至多工作的时间,可以保护dns防止ddos攻击

测试client:

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

[root@localhost ~]# dig www.ting.com

[root@localhost ~]# dig linux.ting.com

实现了从域名到ip的解析

补充:CNAME是一个域名到另一个域名,那末我们在正向解析的区域写一条CNAME目录条即可

  • DNS反向解析

添加解反向解析文件

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

复制生成名为ting.com.ptr的dns资源记录文件,编辑dns资源记录文件

cd /var/named/
cp -p named.loopback ting.com.ptr
vim ting.com.ptr 

systemctl restart named

测试client:

dig -x 172.25.254.11

dig -x 172.25.254.22

  • DNS轮询

应用CNAME来实现,在/etc/named/ting.com.zone下更改配置文件来实现

注释:CNAME 表示把规范名称转化为不规范名称

 

本地测试:

 

  • DNS双向解析

目标:实现内网主机和外网主机访问同一网站域名,定义到不同的服务器即访问同一个域名。对应不同的ip

更改主配置文件

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

本地地址172.25.254.44访问文件/etc/named.rfc1912.zones

其他地址访问文件/etc/named.rfc1912.out

其中内部访问资源记录文件为  /var/named/ting.com.zone(内容在dns轮询时已写好)

外部资源访问记录文件为/var/named/ting.com.out (自行创建)内容如下

重启服务

测试本地

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

[root@localhost named]# dig www.ting.com

测试其他服务器vim /etc/resolv.conf

实现不同的服务器访问相同的域名定义到不同的ip  ok!

  • DNS集群

server做master,client做slave.

首先关闭这里的firewallld,selinux可以不管

主dns(172.25.254.44)server:

编写配置文件

[root@localhost named]# vim /etc/named.rfc1912.out因为需要外部访问,所以针对外网访问的配置文件进行更改

将本机的dns资源同步到172.25.254.22这台机器,若虚同步到多台机器,把他ip用空格隔开

 

重启服务:

[root@localhost named]# systemctl restart named

辅助dns(172.25.254.22)

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

 11         listen-on port 53 { any; };

17         allow-query     { any; };

参数说明:

type slave; #指定此dns为辅助dns
masters { 172.25.254.91; }; #指定主dns为172.25.254.91
file “slaves/ting.com.out”; #指定辅助dns解析时应该参考的文件

重启辅助dns服务

资源记录文件如下:注意:除了主dns,其他的都算外部主机访问/var/named/ting.com.out文件

测试:

在server71上,nameserver指向172.25.254.44

修改nameserver ,指向172.25.254.22

测试语句:dig www.ting.com

恩说明辅助dns缓存了主dns的记录

重要补充:

那是因为辅助dns域名解析文件(/var/named/testfile.com.out)对主dns的域名解析文件的同步是根据解析文件里的一个标志来进行的,即就是“serial“参数,当主dns的“serial‘的数值有所变化的时候,辅助dns才会认为主dns的域名解析有所变化,如果仅仅是文件中解析的ip有所变化,是不会在辅助dns上同步的。  

更改配置文件内容:

[root@localhost named]# vim ting.com.out


[root@localhost named]# systemctl restart named

dns解析指向44号机:

dns指向22号机:

可以看到复制dns并未同步主dns的解析

更改serial参数由0到1

[root@localhost named]# vim ting.com.out

[root@localhost named]# systemctl restart named

测试:

解析指向172.25.254.22

解析发生了改变 ok fine!

做mail解析时没有过去

  • 主机机对目标主机基于ip进行更新

主dns上:

[root@ting1 named]# vim /etc/named.rfc1912.out

备份ting.com.out

重启服务

指定的22机器:

当没有关闭selinux报错如下:

update failed: SERVFAIL 

 

在非主dns上测试:(任何dns指向172.25.254.44的机器都可以)

dig ping.ting.com

ok fine!

查看/var/named/ting.com.out

更新成功后可以在主dns的/var/named目录下以及辅dns的/var/named/slaves目录下产生“。jnl“结尾的文件

  • 配置从dns基于密钥来更新主dns

在做此类型更新之前需要保持主dns的/var/named目录以及辅dns的/var/named/slaves目录的“纯净“

主dns上:

复制备份的ting.com.out到当前

辅助dns:删除.jnl文件

实验开始:

主dns:cp -p /etc/rndc.key /etc/ting.key
[root@dns-server named]# cd /mnt/ #切换到mnt目录下是为了将生成的密钥放在此处,便于后面使用
生成密钥:

注释:dnssec-keygen –help //查看加密方式
-a //加密类型
-b //加密字节
-n //名称类型

vim /etc/haha.key  #编写密钥文件

vim /etc/named.conf

编写子配置文件,添加以加密方式更新dns的内容

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

重启服务

将密钥传给辅助dns

辅助dns:

测试:(此次在辅助dns上测试)

ok 看到解析

  • DDNS智能解析

么是ddns?
域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站一种服务。
动态域名解析服务,是将用户的动态IP地址映射到一个固定的域名解析服务上。ddns捕获用户每次变化的ip地址,然后将其与主机的域名对应,这样域名就可以解析到非固定IP的服务器上。
简单的说,不管用户何时上网、以何种方式上网、得到一个什么样的IP地址、IP地址是否会变化,他都能保证通过一个固定的域名就能访问到用户的计算机

配置:实验之前首先要完成主从dns基于密钥的更新,同时需要保持主dns的/var/named目录以及辅dns的/var/named/slaves目录的“纯净“

主dns提前备份ting.com.out

复制备份到/var/named/

[root@ting1 named]# vim  ting.com.out

辅助dns:.jnl文件同上

本次ddns实验在主dns上完成,即dns和dhcp服务器都在172.25.254.44上完成,slave-dns自动会同步。

 

[root@ting1 ~]# yum install dhcp -y

 

 

 

 

 

 

 

 

 

 

 

  1.  

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值