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

[经验分享] Freebsd DNS 主从配置(master+slave)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-20 10:00:05 | 显示全部楼层 |阅读模式
环境:
1、master: 192.168.1.13, freebsd 10
2、slave: 192.168.1.153, freesbsd 10
实验目标:
1、配置主从,实现多台dns服务器自动同步
2、找出排除故障工具
3、在不重启named服务时,如何触发dns记录更新。
步骤一:
    在主从服务器上都安装bind软件。我的是bind99. 具体操作略。提示,通过ports安装或通过pkg install bind99安装。并确保两台服务器之间网络连通性,并关闭防火墙。本机的dns服务器IP地址设置为本地IP。
步骤二:配置master
    配置内容如下:
    $ cat /usr/local/etc/namedb/named.conf
options {        directory       "/usr/local/etc/namedb/working";      
pid-file        "/var/run/named/pid";        
dump-file       "/var/dump/named_dump.db";        
statistics-file "/var/stats/named.stats";        
allow-query     { any; };        
notify yes;                                                            
allow-transfer  { any; };                                
listen-on       { 192.168.1.13; };        
also-notify { 192.168.1.153; };                     
        forwarders {
                114.114.114.114;
        };
};
logging {                              
        channel error_log {
                file "/var/log/named/error.log" versions 10 size 32m;
                severity info;
                print-time yes;
                print-severity yes;
                print-category yes;
                };
        channel query_log {
                file "/var/log/named/query.log" versions 10 size 32m;
                severity info;
                print-time yes;
                print-severity yes;
                print-category yes;
                };
        channel update_debug {
                file "/var/log/named/update-debug.log" versions 10 size 32m;
                severity  debug 3;
                print-category yes;
                print-severity yes;
                print-time     yes;
                };
        channel security_info {
                file "/var/log/named/named-auth.log" versions 10 size 32m;
                severity  info;
                print-category yes;
                print-severity yes;
                print-time     yes;
                };
        channel notify_log {
                file "/var/log/named/notify.log" versions 10 size 32m;
                severity  info;
                print-category yes;
                print-severity yes;
                print-time     yes;
                };
        channel xfer-out_log    {
                file "/var/log/named/xfer-out.log" versions 10 size 32m;
                severity  info;
                print-category yes;
                print-severity yes;
                print-time     yes;
                };
        category update { update_debug; };
        category security { security_info; };
        category default { error_log; };
        category queries { query_log; };
        category notify { notify_log; };
        category xfer-out { xfer-out_log; };
};
zone "umg.com.cn" {
        type master;
        file "/usr/local/etc/namedb/master/umg.com.cn";
};
备注:把不需要的内容删除吧。
随便添加几个记录吧,已测试同步过程。
$ cat /usr/local/etc/namedb/master/umg.com.cn
$TTL    1h ; 1 hours
@       IN      SOA ns1.umg.com.cn.        hostmaster.umg.com.cn. (
                              2015031907 ; serial
                              3H ; refresh
                              15 ; retry
                              1w ; expire
                              600 ; minimum
                             )
        IN  NS     ns1.umg.com.cn.
ns1     IN  A      192.168.1.13
file    IN  A      192.168.1.13
TESTSER IN  A      192.168.1.11
umg-dc-vcenter IN A  192.168.1.31
zhaoxw1 IN  A      192.168.0.221
liangsc IN  A      192.168.0.222
chenqh  IN  A      192.168.0.223
shenp   IN  A      192.168.0.224
liyong  IN  A      192.168.0.225
步骤三,配置slave
# cat /usr/local/etc/namedb/named.conf
options {
        directory       "/usr/local/etc/namedb/working";
        pid-file        "/var/run/named/pid";
        dump-file       "/var/dump/named_dump.db";
        statistics-file "/var/stats/named.stats";
listen-on       { 192.168.1.153; };
forwarders {
                114.114.114.114;
        };
};

logging {
        channel error_log {
                file "/var/log/named/error.log" versions 10 size 32m;
                severity info;
                print-time yes;
                print-severity yes;
                print-category yes;
                };
        channel query_log {
                file "/var/log/named/query.log" versions 10 size 32m;
                severity info;
                print-time yes;
                print-severity yes;
                print-category yes;
                };
        channel update_debug {
                file "/var/log/named/update-debug.log" versions 10 size 32m;
                severity  debug 3;
                print-category yes;
                print-severity yes;
                print-time     yes;
                };
        channel security_info {
                file "/var/log/named/named-auth.log" versions 10 size 32m;
                severity  info;
                print-category yes;
                print-severity yes;
                print-time     yes;
                };
        channel notify_log {
                file "/var/log/named/notify.log" versions 10 size 32m;
                severity  info;
                print-category yes;
                print-severity yes;
                print-time     yes;
                };
        channel xfer-out_log    {
                file "/var/log/named/xfer-out.log" versions 10 size 32m;
                severity  info;
                print-category yes;
                print-severity yes;
                print-time     yes;
                };
        category update { update_debug; };
        category security { security_info; };
        category default { error_log; };
        category queries { query_log; };
        category notify { notify_log; };
        category xfer-out { xfer-out_log; };
};
zone "umg.com.cn" {
        type slave;
        file "/usr/local/etc/namedb/slave/umg.com.cn.slave";
        masters {
                192.168.1.13;   
        };
        notify no;
};
步骤四,准备启动named服务进行测试。
    master和slave服务器的rc.conf文件中,都添加如下内容:
    named_enable="YES"
    在两台服务器上创建目录,并赋权限:
    mkdir /var/log/named
    chmod 777 /var/log/named
    在两台服务器上都启动named服务:
    service named start
    在master上测试dns记录。
    $ dig file.umg.com.cn

; <<>> DiG 9.9.6-P1 <<>> file.umg.com.cn
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4032
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;file.umg.com.cn.               IN      A

;; ANSWER SECTION:
file.umg.com.cn.        3600    IN      A       192.168.1.13

;; AUTHORITY SECTION:
umg.com.cn.             3600    IN      NS      ns1.umg.com.cn.

;; ADDITIONAL SECTION:
ns1.umg.com.cn.         3600    IN      A       192.168.1.13

;; Query time: 0 msec
;; SERVER: 192.168.1.13#53(192.168.1.13)
;; WHEN: Tue May 19 08:36:53 CST 2015
;; MSG SIZE  rcvd: 94      
在slave服务器上,查看是否已经同步dns记录了。
# ls -l /usr/local/etc/namedb/slave/
total 5
-rw-r--r--  1 bind  bind  577 May 19 07:18 umg.com.cn.slave
可以发现,slave已经同步dns记录到本地了。能使用cat命令查看umg.com.cn.slave文件吗?
# file /usr/local/etc/namedb/slave/umg.com.cn.slave
/usr/local/etc/namedb/slave/umg.com.cn.slave: data
原来该文件是个data类型的文件。无法使用cat命令查看。那如何查看呢?其实方法和上面一样。使用dig命令查看。
#  dig zhaoxw1.umg.com.cn
; <<>> DiG 9.9.7 <<>> zhaoxw1.umg.com.cn
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6142
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;zhaoxw1.umg.com.cn.            IN      A

;; ANSWER SECTION:
zhaoxw1.umg.com.cn.     3600    IN      A       192.168.0.221

;; AUTHORITY SECTION:
umg.com.cn.             3600    IN      NS      ns1.umg.com.cn.

;; ADDITIONAL SECTION:
ns1.umg.com.cn.         3600    IN      A       192.168.1.13

;; Query time: 0 msec
;; SERVER: 192.168.1.153#53(192.168.1.153)
;; WHEN: Tue May 19 09:36:18 CST 2015
;; MSG SIZE  rcvd: 97

使用本地的DNS可以解析A记录。
步骤五,故障排除
我们经常会遇到这种情况,master端修改了记录,可客户端并没有同步记录。为啥?
一般有几个原因。
1、修改记录后,要把master中的serial number数字增大,一般以日期进行编号,比如第一次是2015031901,修改后的编号名称可以为2015031902或2015031903等等。编辑好后,重启named服务或者执行rndc reload. 触发dns同步。
2、修改记录时,格式有错误,比如把IP地址写成218.4.2.3,1. 其中一个实心圆点写成了逗号。
3、修改serialnumber时,把后面的封号删除了。
如果上述问题都没有发生,还是无法同步。测试,我们必须要通过log来查看到底问题出现在什么地方。其实上面的配置中,已经启用了log功能。可以清晰的看到同步过程。根据上面的配置,log都放在了/var/log/named目录下。
我们在master上查看同步记录:
$ cat /var/log/named/notify.log
18-May-2015 16:52:43.193 notify: info: zone umg.com.cn/IN: sending notifies (serial 2015031905)
18-May-2015 16:53:48.598 notify: info: zone umg.com.cn/IN: sending notifies (serial 2015031906)
18-May-2015 17:12:23.703 notify: info: zone umg.com.cn/IN: sending notifies (serial 2015031907)
其中可以清楚的看到同步时间和serial 2015031907。
在slave上查看:
# cat /var/log/named/notify.log
18-May-2015 17:47:46.902 notify: info: client 192.168.1.13#54628: received notify for zone 'umg.com.cn'
18-May-2015 17:48:52.305 notify: info: client 192.168.1.13#53931: received notify for zone 'umg.com.cn'
18-May-2015 18:07:27.395 notify: info: client 192.168.1.13#58539: received notify for zone 'umg.com.cn
也可以看到同步记录,但这里没有serial。
我们还可以查看error日志,看看问题在哪里:
$ tail /var/log/named/error.log



运维网声明 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-68786-1-1.html 上篇帖子: linux下时间同步 下篇帖子: 模拟MBR扇区故障 master
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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