主从DNS 子域授权 基于域的转发和DNS视图的配置

先把软件包的安装:

yum install bind

yum install bind-utils(DNS的查询工具,dig nslookup host)

事先我已经安装好了。

主从DNS的网络拓扑图:

3AQPG2J9$T1RJY`2(1HDS7X.png

主从DNS配置:

主从DNS服务器的同步可以有:完全区域同步(AXFR)和增量区域同步(IXFR),配置过程中要注意,增量备份时,需要调整区域文件中的SOA记录的序列号,从DNS服务器的区域文件不需要自己写,从主DNS服务器中同步过来,我们的配置中要allow-transfer中要配置好,区域信息不应该给其他人用查询就知道,下面我就可以配置:

DNS的配置文件:/etc/named.conf

区域的配置文件:/etc/named.rfc1912.zones

区域的文件:/var/named/*

好了,我们先配置好主DNS的配置文件:

R{A)6J57M(4LLV7X(N}]7GV.png

T8JNNO~[KAED2~~S[FUF0UO.png

把该注释的都注释好!最重要的是options括号里的directory 参数,这是存放区域文件的目录。

然后,我们配置好区域的配置文件:

[XY94$ZM(FP45S1X]5}DTJK.png

这些才要我们配置的,前面的配置信息都已经配置好了,参数allow-transfer { 可以传输区域的地址; };

最后主DNS写好区域文件,主区域文件:

VIKR1)I(O{83_E}EPGW8C{A.png

反向区域文件:

T3XNIW9A}9_TTHAO%(`2$ZL.png

 好了主DNS都配置好了,我们需要关闭iptables的规则,然后启动服务:

8}VQ]C`FKWU_67T8%7FRL6L.png

我们开始配置从DNS服务器,这里说一下,我们向主DNS同步区域文件不能放在/var/named目录下,由于我们的/var/named这个目录的属主和属组是root named,我们的dns服务监听在53端口上,小于1024的端口服务需要root用户启动的,但是,root启动dns服务后,会切换给named用户管理运行,named用户在/var/named的目录下没有写权限,所以,它同步过来的区域文件无法写到这个目录下,但是,我们有专门的目录保存这些同步过来的区域文件,/var/named/slaves这个目录named用户有写权限,可以把同步文件同步到这里来。

(主从DNS同步区域文件是基于TCP的,而我们查询DNS是基于UDP的)

从DNS的配置文件就如上面一样,我就不放出来了,我们配置的是区域配置文件:

Z{II`WWQC7AAFOC%SSBH}0W.png

这时,我们继续关闭iptables的规则,和启动dns服务。

好了,我们看一下主DNS的日志文件:

`{NB(_Y]RLTXGD]{WVFK2(A.png这里显示已经正反向的区域文件都已经同步了,我到从DNS服务器去看看:

Z44]XZIL)BNGDN13}{VYL~M.png

这时,我要用dns的测试工具来进行测试:

先进行主DNS正向区域测试:

]CJC}CFB6RX9E~G8(T310`N.png

反向区域测试:

6~YUDZ8RT5~F494%$$Y%M$R.png

这时,我们切换到从服务器来测试正向区域:

GO[A0LQUYRI03X[$O8CP1]G.png

反向区域测试:

ZH[FAFYM}ZT40S~X9`2NSTP.png

也是ok的,主从DNS区域同步成功完成!

下面我再试一下,增量区域传送,在主DNS的区域文件修改一下序列号和增加一个记录:

[2EPH){]RR6E7Y76(`XKILC.png

然后,我再reload一下,再看看日志:

Y$[2G~UB@4%J[80{E`JHP5C.png

发现增量区域传送也可以了,我们再从DNS上验证一下:

$~SSRVKHY7SS4K7_RCSJZTB.png结果显示,可以的!

下面的实验都用这个网络拓扑图实现的:O(OU`TP_(]~DTNM([_CJBKI.png

好了,我们进行子域授权,父域的DNS是(172.16.100.1),这里只说正向区域授权,就是在父域的区域文件中给一个子域的NS记录和A记录:(子域是ops.bwei.com.)

R5{969H~}P]$%]93)TC}GYL.png

好了,我们开始配置子域的DNS:

D8E72W%9TP98R7YQ3%(L9QT.png

然后,在/var/named目录下生成ops.bwei.com.zone的区域文件:

2V6A6XE7Q3DH(YY_WPG9M_H.png

我们到父域那里测试一下:

Y7IQAOB{%6[~D~%M(PQ_3ZL.png

好了,这时,我们的子域是不能解析父域的域里的主机的,这时我们做一个基于域的转发,是父域的域名都转发到它那里去解析,下面我们配置子域的DNS:

F%AFDCU(2IU}`W_3PQ{(KI1.png

配置好了,重启一下服务,再测试一下:

QG6JE{UE$`KV6B~_2718V4O.png

DNS中的视图:

这时基于中国有两个大网络,一个是电信,一个是联通的,当我们是电信网络时,访问网页时,DNS解析的地址是电信地址,我们访问速度会快好多,所以,DNS的视图作用就是,使不同大网络的地址来访问,这时解析的是它自己大网络内的地址。

我们开始配置view的DNS:

view格式:

view viewname {

};

M$@$(WDF5O9(9AO0676}VV7.png

(ZF68R6RSDZBP47BO3UG%TN.png

VV{@DL7C58H3IYTRK~[5H`X.png

/var/named/*.int:

W[$JLQQ9HPOKZONTJG6HXW5.png

0AS]16ANHZ4`8MHKJET~_EI.png

/var/named/*.ont

6O9C[~2PPBK`]HU)76{B1]A.png

好了,我们开始测试:

172.16.100.1下测试:

4LW}`$BLZN_95(3G}1L29_F.png在192.168.1.99下测试:

80N6G`K{XA)}94)LAMFO_ZK.png好了,实验完毕!

原创文章,作者:13-广州-杨过,如若转载,请注明出处:http://www.178linux.com/7173

(0)
13-广州-杨过13-广州-杨过
上一篇 2015-08-24 21:46
下一篇 2015-08-26 09:19

相关推荐

  • Linux第三周总结

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ~]# who | cut -d ” -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息。 ~]# who|tail -1 3、取出当前系统上被用户当作其默认shell的最多的那个shell ~]# cut -d’:’…

    2017-07-16
  • 网络班22期+第二周作业练习

    常用的文件管理命令: ls,显示文件或目录 -l:显示文件或目录的包括权限、属主、属组大小创建日期等详细信息 [root@centos7 ~]# ls -l total 16 -rw-r–r–. 1 root root   64 Aug&nbsp…

    Linux干货 2016-09-05
  • RAID解说

    RAID(RedundantArrays of Inexpensive Disks,RAID),又叫独立的磁盘阵列。有“价格便宜具有冗余能力的磁盘阵列”之意。原理是利用数组方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性。磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术…

    2017-03-14
  • vim文本操作、例行性工作、脚本编程_第六周练习(01)

    vim文本操作 Q1:复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@promote /]# cp /etc/rc.d/rc.sysinit /tmp/ [root@promote /]# l…

    Linux干货 2016-12-18
  • N28-第四周:正则表达式练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。
    2、编辑/etc/group文件,添加组hadoop。
    3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。
    4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。
    5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。
    6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;
    7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;
    8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;
    9、找出/etc/passwd文件中的一位数或两位数;
    10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
    11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
    12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;
    13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

    2017-12-24

评论列表(2条)

  • stanley
    stanley 2015-08-24 21:51

    字里行间可以明显体会到作者非常认真辛苦~文章内容少量思维跨度略大,可以稍作留意

    • 杨过
      杨过 2015-08-24 21:53

      @stanley好的 以后注意