设为首页 收藏本站
查看: 331|回复: 0

[经验分享] BIND:DNS主从服务器架构和安全控制详解

[复制链接]
累计签到:2 天
连续签到:1 天
发表于 2016-1-11 08:31:57 | 显示全部楼层 |阅读模式
前提:
本篇文章以虚拟机中创建的CentOS 7系统主机配置为例进行叙述
主DNS服务器地址
172.16.49.2    CentOS 7
从DNS服务器地址
172.16.49.3    CentOS
使用二级域名
xuding.win

一、主-从DNS服务器配置
主DNS服务器:维护所负责解析的域数据库的服务器;读写操作均可进行;
从DNS服务器:从主DNS服务器那里或其它的从DNS服务器那里“复制”一份解析库;但只能进行读操作;
注意:从服务器是区域级别的概念,相对于某个区域配置的;
例如一台主服务器提供十个正向解析区域,而从其可能仅包含其中一个多个或全部区域

   1.主从数据解析库同步操作的实施方式
       (1)从服务器拉取数据
                serial:序列号。数据库的版本号;主服务器数据库内容发生变化时,其版本号递增;
                refresh:刷新时间间隔。从服务器每多久到主服务器检查序列号更新状况;
                retry:重试时间间隔。 从服务器从主服务器请求同步解析库失败时,再次发起尝试请求的时间间隔;
                expire:过期时长。从服务器始终联系不到主服务器时,多久之后放弃从主服务器同步数据;停止提供服务;
                否定答案的缓存时长:协定产生
       (2)主服务器”通知“从服务器随时更新数据:区域传送
     全量传送:axfr,传送整个数据库;
     增量传送:ixfr,仅传送变量的数据;

   2.配置每个DNS的主配置文件/etc/named.conf的options段
      ==========================================================================
options{
listen-on port 53 { 127.0.0.1;172.16.49.*; };    /*"*"表示具体的本机地址*/
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     { localhost; };
recursionyes;
dnssec-enableno;
dnssec-validationno;
dnssec-lookasideno;
     ===========================================================================

  3.配置一个从区域:On Master(主服务器配置:172.16.49.2)
       (1)增加从服务器数据信息记录
            1)确保区域数据文件中为每个从服务配置NS记录,
            2)在正向区域文件需要每个从服务器的NS记录的主机名配置一个A记录
               且A后面的地址为真正的从服务器的IP地址;
  实例:
增加两条记录
IN        NS        ns2
ns2        IN        A        172.16.49.3
wKioL1aSgNKw0QytAADq1uDwoMA964.jpg
       (2)检查配置文件并重新加载配置文件
[iyunv@localhost~]# named-checkzone xuding.win /var/named/xuding.win.zone
[iyunv@localhost~]# rndc reload
wKiom1aSgCzzAlZEAADNXshxadA270.jpg

   4.配置一个从区域:OnSlave(从服务器:172.16.49.3)
       (1)定义从区域:放置/salve/*下
zone"ZONE_NAME"  IN {
type  slave;
file  "slaves/ZONE_NAME.zone";
masters  { MASTER_IP; };
};
              ======================在/etc/named.rfc1912.zones中追加===========================
zone"xuding.win" IN {
typeslave;
file  "slaves/xuding.win.zone";
masters{ 172.16.49.2; };
};
  ==================================================================================
wKioL1aSgFrCmz9WAAA6BgyktOQ555.jpg
  注意:该目录的权限和属主属组,所以专用于从服务器需要动态同步主服务器上的数据文件信息使用
wKiom1aSgC6CmssvAAF_NVnov5c725.jpg
       (2)配置文件语法检查&&重载配置
               #  named-checkconf
                #   rndc  reload;或者systemctl  reload  named.service
                   此时会传输同步主服务器上的资源区域信息,
wKiom1aSgAujGjluAAWUCPl8jeE048.jpg

       (3)指定本机为DNS服务器解析做测试
           [iyunv@localhost etc]# dig -t A  www.xuding.win  @172.16.49.3
wKiom1aSgA6gEXycAALvORtFHNQ027.jpg
注意:分布式系统一定要做时间要同步


四、BIND安全设置
   1.acl:访问控制列表
                把一个或多个地址归并一个命名的集合,随后通过此名称即可对此集全内的所有主机实现统一调用;
   2.定义格式
在/etc/named.conf中先定义才能使用,且放在options之前
acl  acl_name {
ip;
net/prelen;
};

示例:
acl  mynet {
172.16.0.0/16;
127.0.0.0/8;
};
   3.bind有四个内置的acl
  none:没有一个主机;
  any:任意主机;
  local:本机;
  localnet:本机所在的IP所属的网络;
   4.访问控制指令:zone中配置
allow-query  {}; 允许查询的主机;白名单;
allow-transfer{};  允许向哪些主机做区域传送;默认为向所有主机;应该配置仅允许从服务器;
allow-recursion{}; 允许哪此主机向当前DNS服务器发起递归查询请求;
allow-update{}; DDNS,允许动态更新区域数据库文件中内容;





主-从DNS服务器配置思路总结:
1.安装配置主配置程序/etc/named.conf,使其能够监听本地的网卡
注释访问控制选项allow-query,此处默认只能本地通信
2.建立主从服务器之间的联系:
    (1)主服务器:
1)/etc/named.rfs1912.zones中按标准格式设定本机为主
2)在/var/named/*.zone定义的文件增加两条记录,NS和A
    (2)从服务器:
1)/etc/named.rfs1912.zones中按标准语法格式设定本机为从服务器,此处设置思路是IP间通信连接
本机类型为slave、file文件在哪里(默认要在/var/named/slave/*.zone)、master IP
2)/var/named/slave/*.zone为实际听不存放位置,动态可读写
3.运行过程需要注意的细节问题
     (1)注意var/named/*.zone文件的属主、属组、权限
     (2)named-checkconf、named-checkzone检查语法
     (3)rndc reload;或者systemctl  reload named.service做重新加载配置

配置该文件关系总结:/etc/named.conf --->/etc/named.rfs1912.zones  --->/var/named/*.zone
        --->  /var/named/slave/*.zone


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-162772-1-1.html 上篇帖子: dns服务bind使用 下篇帖子: CentOS安装partprobe命令 服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表