DNS解析——下

泛域名解析

当用户输入错误的URL,使用泛域名解析,定向到一个友好错误页面。

URL重定向:当访问到一个不存在(错误)的页面的时候,重定向到一个固定的提示页面

DNS主从复制

dig命令深解

递归查询

dig +recurse -t A www.baidu.com @172.25.254.111

使用+trace,请求递归查询

解析分布过程查询

dig +trace -t A www.baidu.com @172.25.254.111*

使用+trace,可以看到DNS解析记录:"."-->".com"-->"baidu.com"-->"www.baidu.com"

为了让dns服务器进行递归查询,编辑配置文件,vim /etc/named.conf

options {

    directory       "/var/named";

// recursion no; //拒绝开启递归功能

// recursion yes; //开启递归功能,这种方式没有过滤,会帮助任何人进行递归

    allow-recursion { 172.25.254.0/24; };//规定只给某一网段请求递归

};

完全区域传送

理论上不能让其他主机进行区域传送(从机可以),编辑配置文件规定权限

zone "qpy.com" IN{

    type master;
    file "qpy.com.zone";
    allow-transfer { 172.25.254.2; };   //添加只允许该IP进行区域传送

};//定义完成重器named

如此定义之后,只能由172.25.254.2使用以下命令获取区域内的所有(或者部分)数据

dig -t axfr qpy.com

得到区域内的所有数据

[root@localhost named]# dig -t axfr qpy.com

; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> -t axfr qpy.com;; global options: +cmdqpy.com. 600 IN SOA www.qpy.com. root.localhost.qpy.com. 2018032701 3600 300 172800 21600qpy.com. 600 IN NS www.qpy.com.qpy.com. 600 IN MX 10 mail.qpy.com.*.qpy.com. 600 IN A 172.25.254.2ftp.qpy.com. 600 IN A 172.25.254.2ftp.qpy.com. 600 IN A 172.25.254.111mail.qpy.com. 600 IN A 172.25.254.2www.qpy.com. 600 IN A 172.25.254.111www.qpy.com. 600 IN A 172.25.254.2qpy.com. 600 IN SOA www.qpy.com. root.localhost.qpy.com. 2018032701 3600 300 172800 21600;; Query time: 0 msec;; SERVER: 172.25.254.111#53(172.25.254.111);; WHEN: Wed Mar 28 15:45:44 CST 2018;; XFR size: 10 records (messages 1, bytes 253)

增量区域传送

从服务器建立

dns服务,两个服务器可以互为主从

从服务配置DNS服务

安装bind包

yum install bind bind-libs.x86_64 bind-utils.x86_64

修改从服务器配置文件

options {

    directory       "/var/named";
    allow-recursion { 172.25.254.0/24; };
    notify yes;     //启动通知功能

};

logging {

    channel default_debug {
            file "data/named.run";
            severity dynamic;
    };

};

zone "." IN {

    type hint;
    file "named.ca";

};

zone "localhost" IN{

    type master;
    file "named.localhost";

};

zone "0.25.172.in-addr.arpa" IN{

    type master;
    file "named.loopback";

};

zone "qpy.com" IN{

    type slave;     //表明自己是从服务器
    file "slaves/qpy.com.zone";     //存放在slaves目录下
    masters { 172.25.254.111; };    //指定主服务器是谁
    allow-transfer { 172.25.254.2; };

};

zone "254.25.172.in-addr.arpa" IN{

    type slave;
    file "slaves/172.25.254.zone";
    masters { 172.25.254.111; };

};

修改主服务器区域数据文件

qpy.com. IN NS back

back IN A 172.25.254.2

//添加从服务器的NS记录和A记录,保证主服务可以找到从服务器,并且同步数据

//每当添加一个从服务器,都要在主服务器上添加NS记录

修改完配置文件后重器服务。

测试

在主服务器上尝试增加DNS记录,重新reload或者等待TTL,可以实现同步。

主服务修改区域数据文件:

hello IN A 172.25.254.6

//添加了一条记录

reload主服务器,可以查看主服务器日志:

Mar 28 16:28:26 localhost named[17094]: zone qpy.com/IN: sending notifies (serial 2018032702)Mar 28 16:28:26 localhost named[17094]: runningMar 28 16:28:26 localhost named[17094]: client 172.25.254.2#40532 (qpy.com): transfer of 'qpy.com/IN': AXFR-style IXFR startedMar 28 16:28:26 localhost named[17094]: client 172.25.254.2#40532 (qpy.com): transfer of 'qpy.com/IN': AXFR-style IXFR endedMar 28 16:28:26 localhost systemd: Reloaded Berkeley Internet Name Domain (DNS).

从服务查看同步情况

在从服务器的/var/named/salves/下,会同步主服务器的修改cat /var/named/slaves/qpy.com.zone

$ORIGIN .$TTL 600 ; 10 minutesqpy.com IN SOA www.qpy.com. root.localhost.qpy.com. (

                            2018032702 ; serial
                            3600       ; refresh (1 hour)
                            300        ; retry (5 minutes)
                            172800     ; expire (2 days)
                            21600      ; minimum (6 hours)
                            )
                    NS      www.qpy.com.
                    NS      back.qpy.com.
                    MX      10 mail.qpy.com.

$ORIGIN qpy.com.

  • A 172.25.254.2back A 172.25.254.2fsx A 172.25.254.23ftp A 172.25.254.2

                      A       172.25.254.111

    hello A 172.25.254.6 ;此处是同步前没有,同步后出现的记录mail A 172.25.254.2www A 172.25.254.111

                      A       172.25.254.2

查看从服务器日志:

Mar 28 04:28:27 fsx named[2872]: client 172.25.254.111#36041: received notify for zone 'qpy.com'Mar 28 04:28:27 fsx named[2872]: zone qpy.com/IN: Transfer started.Mar 28 04:28:27 fsx named[2872]: transfer of 'qpy.com/IN' from 172.25.254.111#53: connected using 172.25.254.2#40532Mar 28 04:28:27 fsx named[2872]: zone qpy.com/IN: transferred serial 2018032702Mar 28 04:28:27 fsx named[2872]: transfer of 'qpy.com/IN' from 172.25.254.111#53: Transfer completed: 1 messages, 14 records, 330 bytes, 0.001 secs (330000 bytes/sec)Mar 28 04:28:27 fsx named[2872]: zone qpy.com/IN: sending notifies (serial 2018032702)

RNDC控制DNS服务器

RNDC子命令

使用rndc -h查看rndc远程控制的子命令

status #显示bind服务器的工作状态

reload #重新加载配置文件和区域文件

reload zone_name #重新加载指定区域

reconfig #重读配置文件并加载新增的区域

querylog #关闭或开启查询日志

dumpdb #将高速缓存转储到转储文件 (named_dump.db)

freeze #暂停更新所有动态zone

freeze zone [class [view]]#暂停更新一个动态zone

flush [view] #刷新服务器的所有高速缓存

flushname name #为某一视图刷新服务器的高速缓存

stats #将服务器统计信息写入统计文件中

stop #将暂挂更新保存到主文件并停止服务器

halt #停止服务器,但不保存暂挂更新

trace #打开debug, debug有级别的概念,每执行一次提升一次级别

trace LEVEL #指定 debug 的级别, trace 0 表示关闭debug

notrace #将调试级别设置为 0

restart #重新启动服务器(尚未实现)

addzone zone [class [view]] { zone-options }

#增加一个zone

delzone zone [class [view]]#删除一个zone

tsig-delete keyname [view]#删除一个TSIG key

tsig-list#查询当前有效的TSIG列表

validation newstate [view]#开启/关闭dnsse

rndc实现远程控制

  • 首先服务端得生成一个KEY来控制访问权限,即作为远程申请访问得凭证

    rndc-confgen > /etc/rndc.conf

    生成内容:

    第一部分:

    //Start of rndc.conf

    key "rndc-key" {

        algorithm hmac-md5;
        secret "sZ/zHvPdRoJqvp0ixvWDOg==";

    };

    options {

        default-key "rndc-key";
        default-server 127.0.0.1; //如果发送给远程端口,此处IP是指向服务器端IP
        default-port 953;       //控制服务器端端口

    };

    /End of rndc.conf

    //上述是发给远程端口,用于申请远程控制得凭证

    第二部分:

    //Use with the following in named.conf, adjusting the allow list as needed:

    //key "rndc-key" {

    //algorithm hmac-md5;

    //secret "sZ/zHvPdRoJqvp0ixvWDOg==";

    //};

    //controls {

    //inet 127.0.0.1 port 953 //本机IP,即监听953端口的IP

    //allow { 127.0.0.1; } keys { "rndc-key"; }; //允许监控的远程端IP

    //};

    //End of named.conf

    //上述文件存放在服务器端,用于认证申请控制得远程端口

分别编辑,将第二部分编辑到一个文件中命名为rndc.conf.key,并发送给远程端,具体内容:

key "rndc-key" {

  algorithm hmac-md5;   secret "sZ/zHvPdRoJqvp0ixvWDOg==";};

options {

  default-key "rndc-key";   default-server 172.25.254.111; //DNS服务器IP   default-port 953; };

将第二部分编辑追加到DNS主配置文件中,/etc/named.conf,具体追加如下:

key "rndc-key" {

    algorithm hmac-md5;
    secret "CT4tB5Uu0eqLcPzi90v+9g==";

};

controls {

    inet 172.25.254.111 port 953    //本机(dns服务器)IP
            allow { 172.25.254.2; } keys { "rndc-key"; };   //允许远端IP为172.25.254.2

};

完成后需要重器服务

测试

在远端(172.25.254.2)上,执行rndc相关命令(此处用status做测试):

rndc -c rndc.conf status注意存放rndc.conf的位置

[root@fsx ~]# rndc -c rndc.conf statusversion: 9.9.4-RedHat-9.9.4-14.el7 id:8f9657aaCPUs found: 4worker threads: 4UDP listeners per interface: 4number of zones: 102debug level: 0xfers running: 0xfers deferred: 0soa queries in progress: 0query logging is OFFrecursive clients: 0/0/1000tcp clients: 0/100server is up and running

注意问题
  • 远端和服务器端需要时间同步

  • 默认服务器端由配置文件/etc/rndc.key ,需要删除

  • rndc开启属于比较危险的操作,一般不要使用

子域授权

为了方便管理,将主服务器的DNS服务,分配给不同子服务器,从而完成分布式DNS数据库的手段。

www.qpy.com-->www.a.qpy.com和www.b.qpy.com

子域必须得到授权才有效

正向区域:

.com

qpy.com. IN NS a.qpy.com.

a.qpy.com. IN A 172.25.254.3

  • 在主DNS服务器的区域数据/var/named/中添加待添加的子域的NS记录和A记录

vim /var/named/qpy.com.zone//这块是追加新的记录

a IN NS ns1.a

//a.qpy.com. IN NS ns1.a.qpy.com.

ns1.a IN A 172.25.254.3

  • 同时在子域服务器上要声明,允许父域添加

修改配置文件(追加,这里只显示追加内容):vim /etc/named.conf

options{

forward first;

forwarders { 172.25.254.111; };

};

  • 重器服务器

  • 测试

dig -t A www.a.qpy.com @172.25.254.2

;; QUESTION SECTION:;www.a.qpy.com. IN A

;; ANSWER SECTION:www.a.qpy.com. 600 IN A 172.25.254.2

;; AUTHORITY SECTION:a.qpy.com. 600 IN NS ns1.a.qpy.com.

;; ADDITIONAL SECTION:ns1.a.qpy.com. 600 IN A 172.25.254.111


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值