Linux DNS服务详解——DNS服务搭建细节

前几天,我陆续给大家介绍了DNS服务的相关内容,今天,我给大家补充介绍一下DNS服务中一些小问题。
前文链接:
Linux DNS服务详解——DNS基础知识
Linux DNS服务详解——DNS实战配置
Linux DNS服务详解——DNS主从架构配置

一、DNS主从架构进阶——传输加密

DNS服务器是互联网架构中非常重要的基础设置,因此其重要性不言而喻。在搭建DNS主从架构时,为了保证DNS的安全性,可以考虑配置DNS主从数据传输的加密。
在完成DNS主从架构后,我们来进一步配置DNS主从架构中的DNS配置文件传输加密。首先,在主服务器上生成密钥,命令如下:

dnssec-keygen -a HMAC-MD5 -b 2 -n HOST master_and_slave

在上述命令中,-a参数表示指定加密算法,常见的加密算法有DSA、RSASHA1、RSAMD5等等;-n参数表示指定密钥的类型,HOST表示和主机相关;-b参数表示密钥的长度,在1-512之间;最后的master_and_slave为密钥的名称,可以自行指定。
执行结果如下所示:
在这里插入图片描述
可以看出,在执行完成后,生成了Kmaster_and_slave.+157+62621.key和Kmaster_and_slave.+157+62621.private。与上述命令执行后的输出相同。
接下来,我们需要写密钥文件,创建/etc/dns.key文件,并写入内容如下:

key "master_and_slave" {
    algorithm hmac-md5;
    secret "7w==";
};

其中,key后面的内容要和生成密钥时的密钥名称完全一致,algorithm后面的内容为加密算法,与密钥生成时的加密算法需要保持一致,secret后面跟的内容为密钥内容,可以通过查看Kmaster_and_slave.+157+62621.key文件获取,如下所示:
在这里插入图片描述
最后,需要修改主、从服务器的配置文件,在Linux DNS服务详解——DNS主从架构配置一文的基础上,DNS主服务器配置文件中写入内容:

include "/etc/dns.key"

DNS从服务器上,在上文配置的基础上,写入内容:

server 192.168.136.101{
    keys {master_and_slave;};
};
include "/etc/dns.key"

并且在每个区域中加入内容:

masters { 192.168.136.101; };

这样,最后的主DNS服务器主配置文件内容如下:

options {
        listen-on port 53 { any; };
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };
        allow-transfer {key master_and_slave;};
        recursion yes;
        dnssec-enable yes;
        dnssec-validation yes;
        bindkeys-file "/etc/named.root.key";
        managed-keys-directory "/var/named/dynamic";
        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {
        type hint;
        file "named.ca";
};
zone "pzz.com" IN {
        type master;
        file "pzz.com.zone";
        allow-update{192.168.136.210;};
};
zone "136.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.136.arpa";
        allow-update{192.168.136.210;};
};
include "/etc/dns.key";
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

最后的从DNS服务器主配置文件内容如下:

options {
        listen-on port 53 { any; };
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };
        recursion yes;
        dnssec-enable yes;
        dnssec-validation yes;
        bindkeys-file "/etc/named.root.key";
        managed-keys-directory "/var/named/dynamic";
        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {
        type hint;
        file "named.ca";
};
zone "pzz.com" IN {
        type slave;
        file "pzz.com.zone";
        masters { 192.168.136.101; };
};
zone "136.168.192.in-addr.arpa" IN {
        type slave;
        file "192.168.136.arpa";
        masters { 192.168.136.101; };
};
server 192.168.136.101{
    keys {master_and_slave;};
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
include "/etc/dns.key";

在上述步骤完成之后,经过实验,可以看出从服务器工作一些正常:
在这里插入图片描述

二、DNS转发服务器搭建

转发服务器是一种简单的DNS服务器实现方式,即DNS服务器本身并没有任何资源记录,当收到客户端DNS请求后,向指定的DNS服务器转发DNS请求,并最终将结果反馈会客户端,我们的家用路由器DNS就是按照这种方式设置的。
接下来,给大家介绍DNS转发服务器的搭建方式,这一次,我使用阿里云云服务器搭建一台DNS转发服务器。
在云服务器上,安装named服务,并在主配置文件option中添加内容如下:

forward only;
     forwarders {8.8.8.8;};

之后关闭Linux系统自带防火墙,开启DNS服务功能,发现已经成功监听53端口。
在这里插入图片描述
但是对于云服务器而言,还要对其自带的防火墙进行设置,放行TCP和UDP的流量,如下所示:
在这里插入图片描述
接下来,我们检测一下53端口是否开放,发现功能开放正常,如下所示:
在这里插入图片描述
最后,我们来测试一下DNS服务器的转发情况,发现能够正常进行域名解析。
在这里插入图片描述

三、智能DNS简介

所谓智能DNS,就是根据客户端IP地址,来反馈不同的DNS解析结果,这样可以使得同一个域名解析到不同的IP地址上去。对于小型公司来说,如果服务器存在两张以上的网卡,并且分别对应不同运营商ISP的网络,就可以配置智能DNS,将不同网络查询的DNS记录分别解析为不同的IP地址,以提升DNS解析速度。对于大型公司来说,业务量大、访问并发量高,为了提升网站响应速度,也可以使用智能DNS,将同一个域名根据DNS客户端IP地址所在的区域,映射到不同的IP地址上去,比如国内的IP访问时映射一个IP地址,国外的IP访问时映射一个IP地址,这样可以提升用户对站点的体验。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值