DNS互联网架构的实现

一、分析目标及各主机作用

1.目标

客户端访问www.muzigan.com时
本地DNS服务器向根DNS转发;
com域实现主从域的搭建

2.各主机作用及IP地址

作用

这里写图片描述

对应ip地址

这里写图片描述

二、不同层级DNS服务器的实现

前提:关掉所有主机的防火墙

iptables -F

1.客户端

#让客户端的DNS时本地DNS服务器
#dns1=172.17.16.100
vim  /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    BOOTPROTO=none
    ONBOOT=yes
    HWADDR=00:0c:29:d6:62:c3
    IPADDR=172.17.253.46
    NETMASK=255.255.0.0
    DNS1=172.17.16.100

2.www主机的httpd服务

vim /var/www/html/index.html
     welcome to www.muzigan.com
systemcl start httpd  

3.muzigan域配置

#全局配置文件修改
vim /etc/named.conf
     //listen-on port 53 { 127.0.0.1; };
     //allow-query     { localhost; };
     dnssec-enable no;
     dnssec-validation no;
#域配置文件添加
vim /etc/named.rfc1912.zones
    zone "muzigan.com" IN {
            type master;
            file "muzigan.com.zone"

    };
#域数据库文件
要保证named可以对 /var/named/muzigan.com.zone 有读权限
cp /var/named/named.localhost /var/named/muzigan.com.zone  -p
vim muzigan.com.zone
    $TTL 1D
    @       IN SOA  dns1  mail.muzigan.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
    @       NS      dns1
    dns1    A       172.17.16.104
    www     CNAME   websrv
    websrv  A       172.17.16.105

#检查配置文件
    named-checkconf 
    named-checkzone muzigan.com.zone  /var/named/muzigan.com.zone 
#开启named服务
    systemctl start named 
测试
dig www.muzigan.com @172.17.16.104

这里写图片描述

4.com主域配置

#全局配置文件修改
vim /etc/named.conf
     //listen-on port 53 { 127.0.0.1; };
     //allow-query     { localhost; };
     dnssec-enable no;
     dnssec-validation no;
#域配置文件添加
#allow-transfer { 172.17.16.103;}; 
        #只允许172.17.16.103可以获取com域的数据
#如果是在/etc/named.conf中加这一句
        #只允许172.17.16.103可以进行获取该主机所有域的数据

vim /etc/named.rfc1912.zones
    zone "com" IN {
        type master;
        file "com.zone";
        allow-transfer { 172.17.16.103;};
    };
#com域的数据库文件
cp -p  /var/named/named.localhost  /var/named/com.zone
vim /var/named/com.zone
    $TTL 1D
    @       IN SOA  dns1 mail.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
    @       NS      dns1
    @       NS      dns2
    dns1    A       172.17.16.102
    dns2    A       172.17.16.103
    muzigan NS      dns3
    dns3    A       172.17.16.104
#检查配置文件
    named-checkconf 
    named-checkzone com.zone /var/named/com.zone
#开启named服务
    systemctl start named 
测试
    dig www.muzigan.com @172.17.16.102

这里写图片描述

5.com从域配置

在主域服务器

数据库文件/var/named/com.zone中加上
@       NS      dns2
dns2    A       172.17.16.103

在从域服务器

#全局配置文件修改
vim /etc/named.conf
     //listen-on port 53 { 127.0.0.1; };
     //allow-query     { localhost; };
     dnssec-enable no;
     dnssec-validation no;
#域配置文件添加
vim /etc/named.rfc1912.zones
    zone "com" IN {
            type slave;
            masters { 172.17.16.102;};
            file "slaves/com.zone.slave";
            allow-transfer { none;};
    };
#com从域的数据库文件
    在服务开启后会自动复制主域的
注意:
    在修改完主域的数据库文件后,应手动把序列号变大
    主从复制借助序列号判断

这里写图片描述

测试
    dig www.muzigan.com @172.17.16.103

这里写图片描述

6.根域配置

#全局配置文件修改
vim /etc/named.conf
    //listen-on port 53 { 127.0.0.1; };
    //allow-query     { localhost; };

    dnssec-enable no;
    dnssec-validation no;

    zone "." IN {
        type master;
        file "name.zone";
    };
#根域的数据库文件
vim  /var/named/name.zone
    $TTL 1D
    @       IN SOA  dns1 rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
    @       NS      dns1
    com     NS      dns2
    dns1    A       172.17.16.101
    dns2    A       172.17.16.102
#检查配置文件
    named-checkconf 
    named-checkzone name.zone /var/named/name.zone
#开启named服务
    systemctl start named 
测试
    dig www.muzigan.com @172.17.16.101

这里写图片描述

7.本地DNS服务器

#全局配置文件修改
vim /etc/name.conf
    //listen-on port 53 { 127.0.0.1; };
    //allow-query     { localhost; };
    dnssec-enable no;
    dnssec-validation no;
#本地域指向根域的库文件
cp /var/named/named.ca /var/named/named.ca.bak 
vim /var/named/named.ca
    ; <<>> DiG 9.9.2-P1-RedHat-9.9.2-6.P1.fc18 <<>> +bufsize=1200 +norec @a.root-servers.net
    ; (2 servers found)
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25828
    ;; flags: qr aa; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 23

    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 512
    ;; QUESTION SECTION:
    ;.                              IN      NS

    ;; ANSWER SECTION:
.                       518400  IN      NS      a.root-servers.net.

a.root-servers.net.     3600000 IN      A       172.17.16.101

这里写图片描述

三、最终测试

这里写图片描述

四、注意

1.主从域配置时

主域需要加上从域的NS和A记录
从域需要写明 
    type slave
    masters 主域的IP
    file  在slave目录下的文件名
从域的数据库文件会自动生成
安全:防止DNS解析数据泄露
    在主域中声明传输限制;
        只能由从域IP可以获取本域数据
            在 /etc/named.rfc1912.zones 的单独域处声明
                allow-transfer { 从域的IP;}; 
        只能由从域IP可以获取本服务器的数据
            在 /etc/named.conf 中声明
                allow-transfer { 从域的IP;};   
    在从域的/etc/named.conf或/etc/named.rfc1912.zones 的单独域处声明
        allow-transfer { none;};    

2.子域配置时

子域配置文件不需要修改
只需要在父域中添加子域的NS和A记录

3.根域配置时

全局配置文件/etc/named.conf
    zone "." IN {
            type master;
            file "name.zone";
    };
type 需要把 hint 改为 master
并且需要手工写数据库文件
    与named.localhost文件格式类似

4.本地DNS服务器配置

修改全局配置文件中的限制和策略后
修改 /var/named/named.ca
    仿照格式:
        修改对应根域的NS和A记录
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值