首页 > 其他 > 详细

DNS的原理与实践

时间:2021-07-29 10:46:02      阅读:23      评论:0      收藏:0      [点我收藏+]

一、概述

通过BIND实践部署了解DNS的整体框架和理念。

二、内容实践

1、DNS的原理

域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
顶级类别域名
除了代表各个国家顶级域名之外,ICANN最初还定义了7个顶级类别域名,它们分别是.com、.top、.edu、.gov、.mil、.net、.org、.com、.top用于企业,.edu用于教育机构,.gov用于政府机构,.mil用于军事部门,.net用于互联网络及信息中心等,.org用于非盈利性组织。

  • dns递归查询
    DNS的递归查询是指客户端的查询请求只需要交给它的DNS服务器由这台服务器完成最终请求返回结果。
  • dns迭代查询
    DNS的迭代查询是指客户端通过每个服务器的响应结果逐步找到目标的过程。
    技术分享图片

    2、DNS的主辅服务器的搭建

    本次使用bind作为dns的实现。通过官网看到目前bind的9.11版本支持截止日期是2021年12月。本次依然使用centos8仓库中的9.11.26版本。

    技术分享图片
    以下是9.16版本的管理员手册有兴趣的可以看看

https://downloads.isc.org/isc/bind9/cur/9.16/doc/arm/Bv9ARM.pdf

在主辅服务器安装bind软件

 dnf install bind -y

技术分享图片

安装完成后,配置dns主服务器配置文件

修改监听地址
技术分享图片
创建区域配置文件链接
技术分享图片
复制cp -p /var/named/named.localhost /var/named/test.inc.zone,并编辑内容
技术分享图片

校验配置
技术分享图片
启动服务并确认端口监听
技术分享图片
查询结果验证,可以正常解析内部域名
技术分享图片
反向解析配置
技术分享图片
复制zone文件 cp -p named.loopback 192.168.22.zone,修改数据库指针内容。
技术分享图片

客户端测试,可以正常反向解析出域名
技术分享图片

配置dns从服务器

设置基础访问,需要将主服务器放行从服务器传输。
技术分享图片
配置从服务器的主服务器的地址,配置/etc/named.rfc1912.zones正反解析的zone。
技术分享图片
在客户端测试从服务器的正反解析,经过测试均可以正常解析。
技术分享图片
技术分享图片

搭建并实现智能DNS。

根据客户端IP实现解析成特定地址
配置两个个区域dns文件

[root@ns1 named]# cp -p test.inc.zone test.io.zone.gd
$TTL 1D
@       IN SOA  master admin@test.io. (
                                2021072834      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      ns1
        NS      ns2
ns1     A       192.168.22.28
ns2     A       192.168.22.38
cl      A       192.168.22.48
www     A       192.168.22.28
        AAAA    ::1
~                        
[root@ns1 named]# cp -p test.inc.zone test.io.zone.yn

$TTL 1D
@       IN SOA  master admin@test.io. (
                                2021072854      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      ns1
        NS      ns2
ns1     A       192.168.22.28
ns2     A       192.168.22.38
cl      A       192.168.22.48
www     A       192.168.22.48
        AAAA    ::1
~                      

配置acl和view, 以下内容添加到/etc/named.conf文件中。

acl ynnet {
    192.168.22.38;
};
acl gdnet {
    192.168.22.48;
};
acl other {
    any;
};
略……………………
};

#zone "." IN {
#   type hint;
#   file "named.ca";
#};   此处一定要注释:因为下方的包含的文件中方式,如果不注释掉会提示zone不在view中。

key "rndc-key" {
    algorithm hmac-md5;
    secret "+5DmCzmbJu3yS/IoCgZYBQ==";
 };

 controls {
    inet 127.0.0.1 port 953
        allow { 127.0.0.1; } keys { "rndc-key"; };

};
view  gdview {
    match-clients { gdnet; };
    include "/etc/named.rfc1912.zones.gd";
};
view  ynview {
    match-clients { ynnet; };
    include "/etc/named.rfc1912.zones.yn";
};
view   otherview {
    match-clients { other; };
    include "/etc/named.rfc1912.zones.other";
};

#include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

实现效果是三台主机有两台访问的服务器地址是一样,另外一个不同
第一台:
技术分享图片
第二台:
技术分享图片
第三台:
技术分享图片

通过以上的配置实现了智能dns

通过判断客户端的地址段再来返回特定的dns解析记录。

三、总结

通过以上配置可以理解dns的整体工作过程。并能能实现简单的智能dns

DNS的原理与实践

原文:https://blog.51cto.com/u_15131458/3215456

(0)
(0)
   
举报
评论 一句话评论(0
分享档案
最新文章
教程昨日排行
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!