DNS主从实验和智能DNS

实验环境:

CentOS7 IP:192.168.30.138作为主服务器,解析li-zw.com
Centos6 IP:192.168.30.128 作为从服务器,从主同步数据

一,配置主服务器的配置

options {
        listen-on port 53 { 127.0.0.1;192.168.30.138 };  //设置监听IP
        //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     { localhost; };  把只允许本地查询关闭

二,新建一个区域

zone "li-zw.com" IN {   //新建一个区域
        type master;  //类型配置为主服务器
        file "li-zw.com.zone"; 
        allow-update { none; };
};

三,配置区域数据文件

$TTL 3H
@       IN      SOA     ns1.li-zw.com.  root.li-zw.com. (
                        201805
                        3H
                        30M
                        1W
                        1H      )
@       IN      NS      ns1.li-zw.com.
ns1     IN      A       192.168.30.138
www     IN      A       192.168.30.111

检查配置文件
[root@test2 named]# chmod 640 li-zw.com.zone //修改权限
[root@test2 named]# chgrp named li-zw.com.zone //修改属组
[root@test2 named]# named-checkzone li-zw.com /var/named/li-zw.com.zone 
zone li-zw.com/IN: loaded serial 201805
OK
[root@test2 named]# dig -t A www.li-zw.com @192.168.30.138
; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> -t A www.li-zw.com @192.168.30.138
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51039
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.li-zw.com.         IN  A

;; ANSWER SECTION:
www.li-zw.com.      10800   IN  A   192.168.30.111

;; AUTHORITY SECTION:
li-zw.com.      10800   IN  NS  ns1.li-zw.com.

;; ADDITIONAL SECTION:
ns1.li-zw.com.      10800   IN  A   192.168.30.138

;; Query time: 0 msec
;; SERVER: 192.168.30.138#53(192.168.30.138)
;; WHEN: 四 5月 10 15:25:08 CST 2018
;; MSG SIZE  rcvd: 92

成功解析:
上面结果中:
QUESTION SECTION:代表当前问题
ANSWER SECTION:代表问题的答案
AUTHORITY SECTION:代表是权威服务器给出的答案
ADDITIONAL SECTION:额外的回复,把ns服务器也解析出来了

四、部署从服务器

从服务器主要是在区域数据文件把li-zw.com修改为slave,并指明masterIP。

zone "li-zw.com" IN {
        type slave;
        masters { 192.168.30.138; };
        file "slaves/li-zw.com";
};

[root@test1 named]# rndc reload 
server reload successful

[root@test1 named]# ls slaves/
li-zw.com

成功获取到li-zw.com

一些安全配置

在主服务器中,应该只允许从服务器获取区域配置文件,而且上面的配置,每次更新都只会执行完全区域更新,不会执行增量更新,并且就算区域数据有更新,主服务器也不会通知从服务器进行数据更新,因为主服务器并不知道有从服务器的存在,所以在区域数据配置文件中,应该指定从服务器。
指定从服务器

$TTL 3H
@       IN      SOA     ns1.li-zw.com.  root.li-zw.com. (
                        201805
                        3H
                        30M
                        1W
                        1H      )
@       IN      NS      ns1.li-zw.com.
@       IN      NS      ns2.li-zw.com.  //在ns记录中加入从服务器
ns1     IN      A       192.168.30.138
ns2     IN      A       192.168.30.128 //并且指定IP
www     IN      A       192.168.30.111
~  
发送notify

配置成功后,主服务器有更新的时候会主动发送Notify通知从服务器进行数据更新


增量更新

设置只允许从服务器更新区域数据
在主服务器的/etc/named.conf配置文件的options选项下

options {
        listen-on port 53 { 127.0.0.1;192.168.30.128; };
        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     { localhost; };
        recursion yes;
        allow-transfer { 192.168.30.128; };  //只允许特定主机进行区域传送
        dnssec-enable no;
        dnssec-validation no;

智能DNS

就bind来说,其视图特性提供的就是智能dns的功能。使用view可以实现根据客户端来源为不同来源的客户端展现同一个区域的不同配置,不同来源的客户端解析同一个区域也可能得到不同的结果。例如,公司两台web服务器web1和web2(它们是完全相同的内容),使用电信网的客户端对web的请求让其访问到web1上,使用联通网的客户端对web的请求让其访问到web2上。通过判断网络来源,让其选择合适的线路访问可以加快访问速度,这是常用的功能。

要使用view功能,最好配合acl来制定什么客户端解析到哪去。acl指令是仅有的几个不能定义在view中的指令之一。

注意
所有的zone都必须要定义在view中,尽管默认的named.conf根本没有定义view,但是其实所有的zone都定义在了一个隐含的默认的视图中
(2). view中match-clients指令的匹配方式是从前向后匹配的,如果在第一个view中匹配了,则后面定义的view将不会生效,所以定义的view的先后顺序是很重要的。
(3).绝大多数named.conf中的指令都能写在view中,只有很少量的指令不允许,例如acl指令。对于本该封装在options中的指令,如果想定义在view中,则不应该在view中使用options,因为options定义的是全局默认值,配置文件中只能出现一次,所以可以直接在view中写指令,这样会覆盖全局options。
(4).不同的view中定义的相同的zone,它们使用的区域文件一般不同(并非必须不同),否则就没有自定义view的必要。

以192.168.30.10作为电信客户
以192.168.30.20作为联通客户
以192.168.30.30作为其他客户

在主服务器上配置:

[root@test2 li-zw.com]# cat /etc/named.conf
...
acl "telecom" {
192.168.30.10;
};
acl "unicom" {
192.168.30.20;
};


options {
...
};

logging {
   ...
        };
};

view telecom {
    match-clients { telecom; };
    zone "." IN {
        type hint;
        file "named.ca";
    };
    zone "li-zw.com" {
        type master;
        file "li-zw.com/telecom.zone";
        allow-update { none; };
    };
    include "/etc/named.rfc1912.zones";
        include "/etc/named.root.key";

};

view unicom {
    match-clients { unicom; };
    zone "." IN {
        type hint;
        file "named.ca";
    };
    zone "li-zw.com" {
        type master;
        file "li-zw.com/unicom.zone";
        allow-update { none; };
    };
    include "/etc/named.rfc1912.zones";
    include "/etc/named.root.key";
    
};
#include "/etc/named.rfc1912.zones";
#include "/etc/named.root.key";
view  other {
    match-clients { any; };
    zone "." IN {
        type hint;
        file "named.ca";
    };
    zone "li-zw.com" IN {
        type master;
        file "li-zw.com.zone";
        allow-update { none; };
    };
    include "/etc/named.rfc1912.zones";
        include "/etc/named.root.key";

};

telecom区域配置:
[root@test2 named]# cat li-zw.com/telecom.zone 
$TTL 3H
@   IN  SOA ns1.li-zw.com.  root.li-zw.com. (
            201809
            3H
            30M
            1W
            1H  )
@   IN  NS  ns1.li-zw.com.
@   IN  NS  ns2.li-zw.com.
ns1 IN  A   192.168.30.138
ns2 IN  A   192.168.30.128
www IN  A   192.168.30.111
bbs IN  A   192.123.12.111
admin   IN  A   192.168.30.111

unicom区域配置
$TTL 3H
@       IN      SOA     ns1.li-zw.com.  root.li-zw.com. (
                        201809
                        3H
                        30M
                        1W
                        1H      )
@       IN      NS      ns1.li-zw.com.
@       IN      NS      ns2.li-zw.com.
ns1     IN      A       192.168.30.138
ns2     IN      A       192.168.30.128
www     IN      A       192.168.30.222
bbs     IN      A       192.123.12.222
admin   IN      A       192.168.30.222

other配置
$TTL 3H
@       IN      SOA     ns1.li-zw.com.  root.li-zw.com. (
                        201809
                        3H
                        30M
                        1W
                        1H      )
@       IN      NS      ns1.li-zw.com.
@       IN      NS      ns2.li-zw.com.
ns1     IN      A       192.168.30.138
ns2     IN      A       192.168.30.128
www     IN      A       192.168.30.333
bbs     IN      A       192.123.12.333
admin   IN      A       192.168.30.333


测试:
telecom:192.168.30.10


telecom测试

unicom:192.168.30.20


unicom测试

other:192.168.30.128


other测试
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,258评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,335评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,225评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,126评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,140评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,098评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,018评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,857评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,298评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,518评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,400评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,993评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,638评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,661评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,651评论 18 139
  • 1. 概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的...
    ghbsunny阅读 2,886评论 0 7
  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架,建立于...
    Hsinwong阅读 22,392评论 1 92
  • 1、第八章 Samba服务器2、第八章 NFS服务器3、第十章 Linux下DNS服务器配站点,域名解析概念命令:...
    哈熝少主阅读 3,731评论 0 10
  • 我终于能够学着品尝 你身上的朴素: 无甜之香 无醇之甘 从前 这朴素 穿在你身上是洁净 而在我身上 则是简陋和不上...
    陈果_周绿阅读 195评论 0 1