DNS笔记

系统架构:windows7    vmware11.0  CentOS6.5 X86_64   RedHat6.6 X86_64

DNS

Domain Name Service :占用tcp和udp的53号端口。
一级域:
组织域:.com, .org, .mil, .gov, .edu, .net
国家域:.cn, .hk, .tw, .jp, .ir, .iq, .us, .uk
反向域:.in-addr.arpa
FQDN: Full Qualified Domain Name
FQDN --> IP: 正向解析
IP --> FQDN:反向解析


查询:
递归查询:recursion
迭代查询:iteration


客户端指向的DNS服务器:一定是允许给本地主机做递归的;


资源记录:Resource Record  资源记录放在数据库文件中
资源记录有类型,用于资源的功能
SOA:Start Of Authority, 起始授权
NS:Name Server, 域名服务器
MX:Mail eXchanger: 邮件交换器
A:Address, FQDN-->IP
PTR: PoiTeR, IP --> FQDN
AAAA: Address, FQDN --> IPv6
CNAME: Canonical Name,别名记录(原译:正式名称)
DNS: FQDN-->IP

DNS的数据库文件(区域数据文件,区域自身有名字):文本文件,只能包含资源记录或宏定义
传统上:正反向解析技术不同,不应该存放于同一个数据库文件中进行,但是关系数据库就可以;


常用资源记录的类型和格式:
name [ttl] IN RRtype Value
例如:


www 600 IN A 1.2.3.4
www.My-Linux.com. 600   IN   A   1.2.3.4

(1)SOA: 只能有一个,name: 区域名称, 通常可以简写为@,例如:magedu.com.   value: 主DNS服务器的FQDN
注意:SOA必须是区域数据库文件第一条记录
例如:
@   600 IN  SOA  ns.magedu.com.  dnsadmin.magedu.com.  (
serial number ;序列号,十进制数字,不能超过10位,通常使用日期,例如2014031001
refresh time  ;刷新时间,即每隔多久到主服务器检查一次
retry time    ;重试时间,应该小于refresh time
expire time   ;过期时间
negative answer ttl  ;否定答案的ttl



(2)NS:可以有多条,name: 区域名称,通常可以简写为@    value: DNS服务器的FQDN(可以使用相对名称)


例如:@     600 IN  NS  ns


(3)A: 只能定义在正向区域数据库文件中,name: FQDN(可以使用相对名称)    value: IP
例如:
  www 600 IN A 1.2.3.4
(4)MX: 可以有多个,name: 区域名称,用于标识smtp服务器,value: 包含优先级和FQDN  优先级:0-99, 数字越小,级别越高;


例子:
@ 600 IN MX   10   mail
@ 600 IN MX   20   mail2


(5)CNAME: 
name: FQDN
value: FQDN
例如:
ftp IN CNAME  www
mail   IN  CNAME  www


(6)PTR: IP-->FQDN, 只能定义在反向区域数据文件中,反向区域名称为逆向网络地址加.in-addr.arpa.后缀组成
 name: IP, 逆向的主机地址,例如172.16.100.7的name为7.100,完全格式为7.100.16.172.in-addr.arpa.
 value: FQDN
例如:
4.3.2 600   IN   PTR   www.magedu.com.



DNS, BIND, named( 协议名,软件名,进程名)
所以,方便理解上述内容,来搭建一个DNS服务,案例:
My-Linu.com 192.168.136
mail, 192.168.136.28 (此主机不存在也可以)
www , 192.168.136.38  (此主机不存在也可以)
pop --->mail
ftp --->www
dns , 192.168.136.128
两种文件:
主配置文件:定义区域, /etc/named.conf(注意权限:必须是named,通常是640),至少有三个区域:根、localhost、127.0.0.1
options {
// 全局选项
}


zone "ZONE name" {
// 定义区域
}


logging {
// 定义日志系统
}


此外type类型有:type {hint|master|slave|forward}


区域数据文件:/var/named/


[root@bogon ~]# yum install -y bind
#备份系统原来的配置文件,重命名为/etc/named.conf.origin,注意源文件的属主属组,
#然后创建自己的DNS服务配置文件,vim /etc/named.conf,与源文件的属主属组一致。
[root@bogon ~]# vim /etc/named.conf
options {
#固定工作路径,注意此文件中的语法格式,分号,花括号,空格。
        directory "/var/named";
};


zone "." IN {
#对于根,线索域或者提示域。
        type hint;
#每一个区,都有一个区域文件,这里是相对路径,相对directory而言。
        file "named.ca";
};


zone "localhost." IN {
        type master;
        file "named.localhost";
};


zone "1.0.0.127.in-addr.arpa." IN {
        type master;
        file "named.loopback";
};


#定义区域,我们的区域文件;
zone "My-Linux.com." IN {
        type master;
#此文件没有,需要自己去创建这个文件;
        file "My-Linux.com.zone";
};
#修改named.conf文件权限
[root@bogon ~]# chmod --reference=/etc/named.conf.origin /etc/named.conf
#检查语法,没有错误后直接启动;
[root@bogon ~]# service named configtest
zone localhost/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
#服务启动也可以使用named -u named命令,此服务启动需要等个两三分钟;
[root@bogon ~]# service named start
Generating /etc/rndc.key:                                  [  OK  ]
Starting named:                                            [  OK  ]
#切换至/etc/named目录下,编辑 My-Linux.com.zone文件;
[root@bogon named]# vim My-Linux.com.zone
$TTL 600
@       IN      SOA     dns.My-Linux.com.       admin.My-Linux.com. (
                        2016080301
                        2H
                        10M
                        7D
                        1D)
@       IN      NS      dns
@       IN      MX 10   mail
dns     IN      A       192.168.136.128
mail    IN      A       192.168.136.28
www     IN      A       192.168.136.38
pop     IN      CNAME   mail
ftp     IN      CNAME   www
#修改文件权限
[root@bogon named]# chown root:named My-Linux.com.zone
[root@bogon named]# chmod 640 My-Linux.com.zone
#检查区文件语法的命令
[root@bogon named]# named-checkzone "My-Linux.com" /var/named/My-Linux.com.zone 
zone My-Linux.com/IN: loaded serial 2016080301
OK
#检查所有文件语法的命令
[root@bogon named]# service named configtest
zone localhost/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone My-Linux.com/IN: loaded serial 2016080301
#此命令,与source命令类似,不用重启即可重读配置文件;
[root@bogon named]# killall -1 named
[root@bogon named]# service named start
Starting named:       [  OK  ]
#指定到192.168.136.128这台主机查询,而不是/etc/resolv.conf下的地址;当然,我们可以去修改这个配置文件来指定解析主机地址;                     
[root@bogon named]# dig -t A www.My-Linux.com @192.168.136.128


; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -t A www.My-Linux.com @192.168.136.128
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60332
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1


;; QUESTION SECTION:
;www.My-Linux.com. IN A


;; ANSWER SECTION:
www.My-Linux.com. 600 IN A 192.168.136.38


;; AUTHORITY SECTION:
My-Linux.com. 600 IN NS dns.My-Linux.com.


;; ADDITIONAL SECTION:
dns.My-Linux.com. 600 IN A 192.168.136.128


;; Query time: 0 msec
;; SERVER: 192.168.136.128#53(192.168.136.128)
;; WHEN: Wed Aug  3 02:36:09 2016
;; MSG SIZE  rcvd: 84






上述的方式,我们自己定义修改配置文件,其实,我们可以在源文件进行修改即可,接下来,用另一种方式操作;
先创建正向,再反向的文件;
[root@bogon ~]# 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; };
        recursion yes;


//      dnssec-enable yes;
//      dnssec-validation yes;
//      dnssec-lookaside auto;


        /* Path to ISC DLV key */
//      bindkeys-file "/etc/named.iscdlv.key";


//      managed-keys-directory "/var/named/dynamic";
};


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


zone "." IN {
        type hint;
        file "named.ca";
};


include "/etc/named.rfc1912.zones";
//include "/etc/named.root.key";


[root@bogon ~]# vim /etc/named.rfc1912.zones
#添加如下代码,保存退出。
zone "My-Linux.com" IN {
        type master;
        file "My-Linux.com.zone";


};


[root@bogon named]# vim My-Linux.com.zone
$TTL 600
@       IN      SOA     dns.My-Linux.com.       dnsadmin.My-Linux.com. (
                        2016080401
                        1H
                        5M
                        3D
                        12H)
        IN      NS      dns
        IN      MX   10 mail
dns     IN      A       192.168.136.128
www     IN      A       192.168.136.28
mail    IN      A       192.168.136.38
ftp     IN      CNAME   www
pop     IN      CNAME   mail


[root@bogon named]# chown root:named My-Linux.com.zone
[root@bogon named]# chmod 640 My-Linux.com.zone
[root@bogon named]# named-checkconf 
[root@bogon named]# named-checkzone "My-Linux.com"  My-Linux.com.zone 
zone My-Linux.com/IN: loaded serial 2016080401
OK
[root@bogon named]# service named reload
Reloading named:                                           [  OK  ]
[root@bogon named]# tail /var/log/messages
Aug  4 02:42:50 bogon named[1922]: loading configuration from '/etc/named.conf'
Aug  4 02:42:50 bogon named[1922]: using default UDP/IPv4 port range: [1024, 65535]
Aug  4 02:42:50 bogon named[1922]: using default UDP/IPv6 port range: [1024, 65535]
Aug  4 02:42:50 bogon named[1922]: listening on IPv4 interface eth0, 192.168.136.128#53
Aug  4 02:42:50 bogon named[1922]: no longer listening on ::1#53
Aug  4 02:42:50 bogon named[1922]: sizing zone task pool based on 7 zones
Aug  4 02:42:50 bogon named[1922]: Warning: 'empty-zones-enable/disable-empty-zone' not set: disabling RFC 1918 empty zones
Aug  4 02:42:50 bogon named[1922]: reloading configuration succeeded
Aug  4 02:42:50 bogon named[1922]: zone My-Linux.com/IN: loaded serial 2016080401
Aug  4 02:42:50 bogon named[1922]: reloading zones succeeded
[root@bogon named]# vim /etc/resolv.conf 
[root@bogon named]# dig -t A www.My-Linux.com @192.168.136.128


; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -t A www.My-Linux.com @192.168.136.128
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19902
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1


;; QUESTION SECTION:
;www.My-Linux.com. IN A


;; ANSWER SECTION:
www.My-Linux.com. 600 IN A 192.168.136.28


;; AUTHORITY SECTION:
My-Linux.com. 600 IN NS dns.My-Linux.com.


;; ADDITIONAL SECTION:
dns.My-Linux.com. 600 IN A 192.168.136.128


;; Query time: 0 msec
;; SERVER: 192.168.136.128#53(192.168.136.128)
;; WHEN: Thu Aug  4 02:44:49 2016
;; MSG SIZE  rcvd: 84


补充3个专门用来测试的命令:
dig命令:
# dig [-t type] [-x addr] [name] [@server]
 +[no]trace
 +[no]recurse
 +[no]tcp
host命令:
# host [-t type] {name} [server]
交互式命令:nslookup
server DNS_SERVER_IP
set q=TYPE
{name}
[root@bogon ~]# nslookup 
> set q=A
> www.My-Linux.com
Server: 192.168.136.2
Address: 192.168.136.2#53


Non-authoritative answer:
www.My-Linux.com canonical name = news.serverhome.com.
news.serverhome.com canonical name = thie5ku9.dsgeneration.com.
Name: thie5ku9.dsgeneration.com
Address: 141.8.230.20
> server 192.168.136.128
Default server: 192.168.136.128
Address: 192.168.136.128#53
> set q=A
> www.My-Linux.com
Server: 192.168.136.128
Address: 192.168.136.128#53


Name: www.My-Linux.com
Address: 192.168.136.38
> set q=MX
> My-Linux.com
Server: 192.168.136.128
Address: 192.168.136.128#53


My-Linux.com mail exchanger = 10 mail.My-Linux.com.
> exit

添加反向解析功能:
[root@bogon named]# vim /etc/named.rfc1912.zones
#添加如下代码,反向解析文件。
zone "136.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.100.zone";
};
[root@bogon named]# vim 192.168.136.zone
$TTL 600
@       IN      SOA     dns.My-Linux.com.       dnsadmin.My-Linux.com. (
                        2016080401
                        1H
                        5M
                        3D
                        12H)
        IN      NS      dns
128     IN      PTR     dns.My-Linux.com
28      IN      PTR     www.My-Linux.com
38      IN      PTR     mail.My-Linux.com
[root@bogon named]# service named configtest
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
zone My-Linux.com/IN: loaded serial 2016080401
zone 136.168.192.in-addr.arpa/IN: loaded serial 2016080401
[root@bogon named]# service named reload
Reloading named:                                           [  OK  ]
[root@bogon named]# service named restart
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]
[root@bogon named]# host -t PTR 192.168.136.128
128.136.168.192.in-addr.arpa domain name pointer dns.My-Linux.com.


小结:
反向解析区域数据库文件:区域名称以逆向的网络地址,并以.in-addr.arpa为后缀;
第一条必须SOA
应该具有NS记录,但不能出现MX和A记录
较常见的即为PTR记录
名称为逆向的主机地址


例子:
$TTL 600
@ IN SOA dns.magelinux.com. dnsadmin.magelinux.com. (
2014031001
1H
5M
3D
12H )
IN NS dns.magelinux.com.
128 IN PTR dns.magelinux.com.
28 IN PTR www.magelinux.com.
38 IN PTR mail.magelinux.com.
手动模拟区域传送:
用dig模拟完全区域传送
 # dig -t axfr 区域名称 @server
[root@bogon named]# dig -t axfr My-Linux.com @192.168.136.128
[root@bogon named]# dig -t axfr 136.168.192.in-addr.arpa @192.168.136.128


主从服务器:
主服务器bind版本可以低于从服务器的 bind版本;主从服务器不一定在同一个网段中;
对于一个公司内部来说如果有一千个人,500用主,500用从,一定要平均分配;
向区域中添加从服务器的关键两步:
在上级获得授权(在此操作中,忽略上级授权。)
在区域数据文件中为从服务器添加一条NS记录和对应的A或PTR记录;
#其IP为192.168.136.128(主)
[root@bogon named]# rpm -q bind
bind-9.8.2-0.17.rc1.el6_4.6.x86_64
#其IP为192.168.136.129(从)
[root@My-Linux ~]# rpm -q bind  
bind-9.8.2-0.30.rc1.el6.x86_64
下面,我们先添加正向解析,然后添加反向解析;
[root@bogon named]# vim My-Linux.com.zone
$TTL 600
@       IN      SOA     dns.My-Linux.com.       dnsadmin.My-Linux.com. (
                        2016080402     #此处尾数从1变成2,因为添加了一条记录;
                        1H
                        5M
                        3D
                        12H)
        IN      NS      dns #添加一条NS记录
        IN      NS      ns2
        IN      MX   10 mail
dns     IN      A       192.168.136.128
ns2     IN      A       192.168.136.129  #对应的A记录
www     IN      A       192.168.136.28
mail    IN      A       192.168.136.38
ftp     IN      CNAME   www
pop     IN      CNAME   mail
~                                        
[root@My-Linux ~]# vim /etc/named.conf 


//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//


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; };
        recursion yes;


//      dnssec-enable yes;
//      dnssec-validation yes;
//      dnssec-lookaside auto;


        /* Path to ISC DLV key */
//      bindkeys-file "/etc/named.iscdlv.key";


//      managed-keys-directory "/var/named/dynamic";
};


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


zone "." IN {
        type hint;
        file "named.ca";
};
include "/etc/named.rfc1912.zones";
//include "/etc/named.root.key";


[root@My-Linux ~]#vim /etc/named.rfc1912.zones
#添加如下代码,保存退出。
zone "My-Linux.com" IN {
        type slave;
        masters { 192.168.136.128; };
#此文件不需创建,因为是从服务器;
        file "slaves/My-Linux.com.zone";
};
[root@bogon named]# service named reload
Reloading named:                                           [  OK  ]
[root@bogon named]# service named restart
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]


[root@My-Linux ~]# service named restart
Stopping named: .                                          [  OK  ]
Starting named:                                            [  OK  ]
[root@My-Linux ~]# dig -t NS My-Linux.com @192.168.136.129


; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 <<>> -t NS My-Linux.com @192.168.136.129
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11656
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 2


;; QUESTION SECTION:
;My-Linux.com. IN NS


;; ANSWER SECTION:
My-Linux.com. 600 IN NS dns.My-Linux.com.
My-Linux.com. 600 IN NS ns2.My-Linux.com.


;; ADDITIONAL SECTION:
dns.My-Linux.com. 600 IN A 192.168.136.128
ns2.My-Linux.com. 600 IN A 192.168.136.129


;; Query time: 18 msec
;; SERVER: 192.168.136.129#53(192.168.136.129)
;; WHEN: Sun Jul 31 17:50:48 2016
;; MSG SIZE  rcvd: 98


添加反向解析:

[root@bogon named]# vim 192.168.136.zone
$TTL 600
@       IN      SOA     dns.My-Linux.com.       dnsadmin.My-Linux.com. (
                        2016080403
                        1H
                        5M
                        3D
                        12H)
        IN      NS      dns.My-Linux.com.
        IN      NS      ns2.My-Linux.com. #添加一条NS记录
128     IN      PTR     dns.My-Linux.com.
28      IN      PTR     www.My-Linux.com.
38      IN      PTR     mail.My-Linux.com.
8       IN      PTR     ns2.My-Linux.com. #添加反向解析地址


[root@bogon named]# service named restart
Stopping named: .                                          [  OK  ]
Starting named:                                            [  OK  ]


[root@My-Linux ~]# cat /var/named/slaves/My-Linux.com.zone 
$ORIGIN .
$TTL 600 ; 10 minutes
136.168.192.in-addr.arpa IN SOA dns.My-Linux.com. dnsadmin.My-Linux.com. (
2016080403 ; serial
3600       ; refresh (1 hour)
300        ; retry (5 minutes)
259200     ; expire (3 days)
43200      ; minimum (12 hours)
)
NS dns.My-Linux.com.
NS ns2.My-Linux.com.
$ORIGIN 136.168.192.in-addr.arpa.
128 PTR dns.My-Linux.com.
28 PTR www.My-Linux.com.
38 PTR mail.My-Linux.com.
8 PTR ns2.My-Linux.com.


在实际生产环境中,区域传送安全控制:
allow-transfer { IP; };
一定要做限制主服务器的数据谁来传送;主的配置文件中正反向区域都要做添加这一行代码,括号内的IP地址用分号隔开
从的服务器配置文件中,则正反向区域都要做添加allow-transfer { none; };,因为通常从服务器不再做其他服务器的主服务器;


rdnc:Remote Name Domain Controller  
它是远程管理BIND的工具 是一个命令,装上bind软件包就有的命令;
/usr/sbin/rndc
/usr/sbin/rndc-confgen
 
这个命令的权限非常大,所有为避免风险,它有类似公要加密机制的一对密钥,
一半放在服务端bind(主配置文件),一半放客户端rndc(rndc的配置文件)。
rndc的配置文件:/etc/rndc.conf(目前已经没有这个文件了),而是密钥文件:/etc/rndc.key
通常情况下,我们不需要任何操作的;rndc在yum install -y bind 后并启用服务就可以使用rndc命令;部分参数如下:
rndc
reload
reload zone
reconfig: 重读配置文件并加载新增的区域
querylog: 关闭或开启查询日志。执行rndc querylog 然后rndc status 可以看到它会开启,
 再执行一次就会关闭;通常我们不会开启此功能,它会占用大量IO资源;
flush: 清空服务器的缓存
flushname name: 清空指定名称相关的缓存
trace: 打开debug,debug有级别的概念,每执行一次提升一次级别
trace LEVEL: 指定debug的级别
如果rndc无法正常工作,可尝试使用rndc-confgen 生成/etc/rndc.conf配置文件,
并将配置文件中的后半部分复制到BIND的主配置文件中并按指示启用即可。
# rndc-confgen [-r /dev/urandom] > /etc/rndc.conf



子域授权tech.My-Linux.com:
第一步:在主服务器中的/var/named/My-Linux.com.zone中最下面添加两行:
tech IN NS dns.tech
dns.tech IN A 192.168.200.20 #这个地址必须要有一个对应的服务器,配置好相应的地址;
此外,还有201608XXX尾数加1,例如XXXXXX03尾数是03,就改成04。
第二步:在这个地址为192.168.200.20服务器上,yum install -y bind并编辑/etc/named.conf(参考之前的文件格式),启动服务;
然后,再去vim  /etc/named.rfc1912.zones 添加如下代码,保存退出。
zone "tech.My-Linux.com" IN {
        type master;
        file "tech.My-Linux.com.zone";
};
接着,我们切换到/var/named/目录下,给出这个这个数据文件:
#vim tech.My-Linux.com.zone
$TTL 600
@       IN      SOA     dns.tech.My-Linux.com.       dnsadmin.tech.My-Linux.com. (
2016080401
1H
5M
3D
12H)
IN      NS      dns.tech.My-Linux.com.
IN MX 10 mail
dns IN A 192.168.200.20
www IN A 192.168.200.1
mail IN A 192.168.200.2
保存退出,更改属主属组,改权限,验证配置文件的语法,重读配置文件或者重启服务,然后dig测试子域和父域;这几步与之前所述基本一样;
这里需要强调的是,子域响应父域的解析,如果没有子域192.168.200.20这个服务器,父域根本无法解析tech.My-Linux.com;由此,子域给出的
才是权威的解析;
但是,当子域无法解析自己所管辖的区域时候(比如是父域My-linux.com),我们知道他会转发给根,然后,迭代的去查找;这样显然很麻烦,
与其这样,我们不如直接把它转发给指定主机(父域)来解析;所以,来看下,区域配置转发,即转发域:
vim 192.168.200.20这个服务器的/etc/named.rfc1912.zones文件,添加:
zone "My-Linux.com" IN {
type forward;
forwarders { 192.168.136.128;192.168.136.129; };
forward only;
};


或者编辑vim /etc/named.conf在option{}中添加如下两行:
forward first;
forwarders {192.168.136.128;192.168.136.129;};
但是这种转发是总转发,只要不是本地的域就转发给父域;


如果在原有的主配置文件/etc/named.conf中操作以上操作不成功的话,可以自己手动创建一个这样的文件然后重试此操作。




安全控制选项:
allow-transfer {}; 
通常都需要启用;没有从服务器是none
allow-query {};
此项通常仅用于服务器是缓存名称服务器时,只开放查询功能给本地客户端;
allow-recursion {  };
定义递归白名单;可以写网络地址
allow-update { none; };
定义允许动态更新区域数据文件的主机白名单;防止客户端被钓鱼,


ACL: BIND支持使用访问控制列表
acl ACL_NAME {
172.16.0.0/16;
192.168.0.0/24
127.0.0.0/8;
};


访问控制列表只有定义后才能使用;通常acl要定义在named.conf的最上方;


BIND有四个内置的acl:
any: 任何主机
none: 无一主机
local: 本机
localnet: 本机的所在的网络;




view视图
当添加视图的时候,注意记得把区域区域文件都要包含到view视图中,
包括/etc/named.conf文件的根区域:
zone "." IN {
        type hint;
        file "named.ca";
};
将其四行代码剪切到view视图中:
view视图通常在/etc/named.rfc1912.zones文件中编辑;
此外,这里的区域文件是按照从上到下的顺序查找解析的;













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值