• DNS之三-----实现DNS的TCP/UDP功能及子域委派


    验证TCP和UDP的53端口作用:

    将从服务器B的/var/named/slaves/目录下的文件删掉:

    [root@centos7_1 slaves]# rm -rf /var/named/slaves/baidu.com.zone.slave   删除slaves目录下的文件
    [root@centos7_1 slaves]# systemctl restart named  重启DNS服务
    [root@centos7_1 slaves]# ls  还可以复制主服务器的文件
    baidu.com.zone.slave
    [root@ansible~]#iptables -A INPUT -p tcp --dport 53 -j REJECT  将目标tcp的53端口拒绝。
    [root@centos7_1 slaves]# systemctl restart named 重启服务
    [root@centos7_1 slaves]# ls  此时不能复制主服务器的文件

    在客户端C上dig可以查询到当前的53信息内容,此时的内容是来自于UDP的53端口

    [root@centos6network-scripts]#dig www.baidu.com
    
    ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6 <<>> www.baidu.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3449
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
    
    ;; QUESTION SECTION:
    ;www.baidu.com.			IN	A
    
    ;; ANSWER SECTION:
    www.baidu.com.		86400	IN	CNAME	webs.baidu.com.
    webs.baidu.com.		86400	IN	A	66.66.66.66
    
    ;; AUTHORITY SECTION:
    baidu.com.		86400	IN	NS	dns1.baidu.com.
    baidu.com.		86400	IN	NS	dns2.baidu.com.
    
    ;; ADDITIONAL SECTION:
    dns1.baidu.com.		86400	IN	A	192.168.34.101
    dns2.baidu.com.		86400	IN	A	192.168.34.103
    
    ;; Query time: 10 msec
    ;; SERVER: 192.168.34.101#53(192.168.34.101)
    ;; WHEN: Thu Nov  7 11:14:25 2019
    ;; MSG SIZE  rcvd: 136
    

    总结:TCP 的53端口影响了主从复制、UDP的53端口是供查询

    实现子域委派:子域和父域在同一台主机上(可以忽略不看)

    (1)创建子域,在主服务器A(主域)上将beijing.baidu.com域写入到/etc/named.rfc1912.zones配置文件内:

    [root@ansiblenamed]#vim /etc/named.rfc1912.zones 
    zone  "baidu.com" {
            type master;
            file "baidu.com.zone";
    };
    
    zone  "beijing.baidu.com" {
            type master;
            file "beijing.baidu.com.zone";
    };

    创建一个beijing.baidu.com区域库文件,配置完之后启动DNS,systemctl start named:

    [root@ansible~]#cd /var/named
    [root@ansiblenamed]#ls
    192.168.34.zone  beijing.baidu.com.zone  dynamic   named.empty      named.loopback
    baidu.com.zone   data                    named.ca  named.localhost  slaves
    [root@ansiblenamed]#vim beijing.baidu.com.zone 
    
    $TTL 1D
    @       IN SOA  dns1  admin (
                                            1       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      dns1
    dns1    A   192.168.34.101  # 当前的IP地址指向顶级域的IP地址
    www    CNAME    webs
    webs   A      88.88.88.88
    
    [root@ansiblenamed]# chgrp named beijing.baidu.com.zone  # 修改属组为named,保持权限一致
    [root@ansiblenamed]#  chmod  640   beijing.baidu.com.zone  # 文件修改权限为640,防止文件内容被泄露

    (2)在客户端C上dig查询配置好后的子域信息:

    [root@centos6network-scripts]#dig www.baidu.com  查看主服务器的baidu.com域
    
    ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6 <<>> www.baidu.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41274
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
    
    ;; QUESTION SECTION:
    ;www.baidu.com.			IN	A
    
    ;; ANSWER SECTION:
    www.baidu.com.		86400	IN	CNAME	webs.baidu.com.
    webs.baidu.com.		86400	IN	A	66.66.66.66
    
    ;; AUTHORITY SECTION:
    baidu.com.		86400	IN	NS	dns2.baidu.com.
    baidu.com.		86400	IN	NS	dns1.baidu.com.
    
    ;; ADDITIONAL SECTION:
    dns1.baidu.com.		86400	IN	A	192.168.34.101
    dns2.baidu.com.		86400	IN	A	192.168.34.103
    
    ;; Query time: 0 msec
    ;; SERVER: 192.168.34.103#53(192.168.34.103)
    ;; WHEN: Thu Nov  7 11:57:45 2019
    ;; MSG SIZE  rcvd: 136
    
    [root@centos6network-scripts]#dig www.beijing.baidu.com  查看当前的子域内容
    
    ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6 <<>> www.beijing.baidu.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59333
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1
    
    ;; QUESTION SECTION:
    ;www.beijing.baidu.com.		IN	A
    
    ;; ANSWER SECTION:
    www.beijing.baidu.com.	86400	IN	CNAME	webs.beijing.baidu.com.
    webs.beijing.baidu.com.	86400	IN	A	88.88.88.88
    
    ;; AUTHORITY SECTION:
    beijing.baidu.com.	86400	IN	NS	dns1.beijing.baidu.com.
    
    ;; ADDITIONAL SECTION:
    dns1.beijing.baidu.com.	86400	IN	A	192.168.34.101
    
    ;; Query time: 4 msec
    ;; SERVER: 192.168.34.101#53(192.168.34.101)
    ;; WHEN: Thu Nov  7 11:57:54 2019
    ;; MSG SIZE  rcvd: 109

    实现子域委派:父域和子域在不同主机上

    父域与子域委派架构图:

    1、在主DNS服务器上配置一个shenzhen子域

    (1)将主服务器A的配置文件/var/named/baidu.com.zone进行修改,添加一个shenzhen域:

    [root@ansiblenamed]#vim /var/named/baidu.com.zone 
    
    $TTL 1D
    @       IN SOA  dns1  admin.baidu.com. (
                                            1       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      dns1
            NS      dns2
    shenzhen NS     dns3        # 添加一个shenzhen域
    dns1    A   192.168.34.101
    dns2    A   192.168.34.103
    dhs3    A   192.168.34.102   # 将shenzhen域委派给192.168.7.102主机
    
    www    CNAME    webs
    webs   A      66.66.66.66
    

    (2)重启主服务器A的DNS服务:

    [root@ansiblenamed]#rndc reload
    server reload successful
    

    注意:检查配置文件是否书写错误

    # named-checkconf 查看配置文件是否有误
    # named-checkzone  baidu.com  /var/named/baidu.com.zone  检查域文件是否有误

    2、在子域DNS服务器上创建子域

    在子域DNS服务器上安装DNS服务,并DNS配置相关文件

    yum  install bind
    
    [root@centos102 ~]# vim /etc/named.conf
    options {
    //      listen-on port 53 { 127.0.0.1; };
            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; };

    (4)修改子域DNS服务器的/etc/named.rfc1912.zones配置文件:

    [root@centos102 ~]# vim /etc/named.rfc1912.zones 
    zone "shenzhen.baidu.com" {
            type master;
            file "shenzhen.baidu.com.zone";
    };

    (5)在子域DNS服务器上远程复制主服务器A的区域库文件,并将所属组属性进行修改:

    [root@centos102 ~]# scp -p 192.168.34.103:/var/named/baidu.com.zone  /var/named/shenzhen.baidu.com.zone
    [root@centos102 named]# ll
    total 32
    drwxrwx--- 2 named named 4096 Mar 23  2017 data
    drwxrwx--- 2 named named 4096 Mar 23  2017 dynamic
    -rw-r----- 1 root  named 3171 Jan 11  2016 named.ca
    -rw-r----- 1 root  named  152 Dec 15  2009 named.empty
    -rw-r----- 1 root  named  152 Jun 21  2007 named.localhost
    -rw-r----- 1 root  named  168 Dec 15  2009 named.loopback
    -rw-r----- 1 root  root   296 Nov  7 12:11 shenzhen.baidu.com.zone  此时的文件所属组属性有问题
    drwxrwx--- 2 named named 4096 Mar 23  2017 slaves
    [root@centos102 named]# chgrp named shenzhen.baidu.com.zone   修改当前的shenzhen.baidu.com.zone所属组属性
    

    (6)修改子域DNS服务器当前的shenzhen.baidu.com.zone配置文件:

    [root@centos7-2 named]# vim shenzhen.baidu.com.zone 
    $TTL 1D
    @       IN SOA  dns1  admin (
                                            1       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      dns1
    dns1    A   192.168.34.102
    
    www    CNAME    webs
    webs   A      7.7.7.7

    注意:需要检查配置文件和域文件是否有误。

    named-checkconf 查看配置文件是否有误
    named-checkzone  baidu.com  /var/named/baidu.com.zone  检查域文件是否有误

    (7)启动(子域)DNS服务:

    [root@centos7-2 named]# systemctl start named

    3、在客户端上验证效果

    此时,我们的客户端并没有配置执行shenzhen.baidu.com.zone子域的DNS  IP地址,

       在客户端执行dig查看当前的shenzhen.baidu.com.zone子域情况:

    [root@centos6~]#cat /etc/resolv.conf  # 查看当前的DNS指向的IP地址
    # Generated by NetworkManager
    search 10.localdomain
    nameserver 192.168.34.101
    nameserver 192.168.34.103
    [root@centos6~]#dig www.shenzhen.baidu.com   # 此时已经实现了迭代查询功能
    
    ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6 <<>> www.shenzhen.baidu.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15796
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1
    
    ;; QUESTION SECTION:
    ;www.shenzhen.baidu.com.		IN	A
    
    ;; ANSWER SECTION:
    www.shenzhen.baidu.com.	86266	IN	CNAME	webs.shenzhen.baidu.com.
    webs.shenzhen.baidu.com. 86266	IN	A	7.7.7.7
    
    ;; AUTHORITY SECTION:
    shenzhen.baidu.com.	86266	IN	NS	dns1.shenzhen.baidu.com.
    
    ;; ADDITIONAL SECTION:
    dns1.shenzhen.baidu.com. 86266	IN	A	192.168.34.102
    
    ;; Query time: 4 msec
    ;; SERVER: 192.168.34.101#53(192.168.34.101)
    ;; WHEN: Thu Nov  7 16:35:25 2019
    ;; MSG SIZE  rcvd: 110
  • 相关阅读:
    C#-黑客-数据库访问-字符串的攻击和防御
    C#-数据库访问技术 ado.net——创建 数据库连接类 与 数据库操作方法 以及简单的数据的添加、删除、修改、查看
    C#把datetime类型的日期转化成年月日或其他格式方法总结
    C#—类库、委托、is和as运算符、泛型集合
    C#-面向对象的三大特性——多态(虚方法与重写、抽象类、接口)
    C#-面向对象的三大特性——继承
    C#-面向对象——如何调用使用类 普通方法、静态方法的使用
    C#-面向对象的三大特性——封装(封装成员变量、封装成员方法)
    面向对象的封装、继承、多态
    如何在HTMl网页中插入百度地图
  • 原文地址:https://www.cnblogs.com/struggle-1216/p/12582252.html
Copyright © 2020-2023  润新知