DNS服务器配置:正反解析,主从服务器,子域授权,
控制列表,bind view
配置前的设置:在172.16.59.1服务器上
安装bind: 配置好yum源后,用 # yum install bind 安装
启用named服务: # 起systemctl start named.service,系统重启后可能需手动启动一次
防火墙设置:
~]# iptables -L -n 查看防火墙是启用还是关闭
centos7:
关闭防火墙 # systemctl stop firewalld.service
禁止防火墙开机启动 # systemctl disable firewalld.service ---- enable为允许
centos6:
~]# service iptables stop 关闭防火墙
~]# chkconfig iptables off 禁止开机启动 ,----on为允许开机启动
# getenforce 查看SElinux状态,disabled为关闭,此时不关闭也没影响
在主配置文件中:/etc/named.conf
1、在53号端口监听能与外部主机通信的地址,而不是127.0.0.1,修改为如下:
listen-on port 53 { 172.16.59.1; }; ----即本机ip,即默认用本机ip做dns服务器
listen-on port 53;这种写法或许也行
2、使用不熟练时,建议关闭dnssec;在
dnssec-enable no;
dnssec-validation no;
dnssec-lookaside no;---若没有这一行就手动加上
3、必须关闭仅允许本地查询,注销掉这一行,否则只允许自己查询,而不允许其他主机查询。方式如下:
//allow-query { localhost; };
4、在/etc/resolv.conf文件中修改:重启系统后文件内容会恢复默认,可能需要重新配置
nameserver 172.16.59.1 ----改成自己的主机ip,也是意味着默认用自己主机的ip做dns服务器
如果此文件不修改也可以,只是解析时要指定解析服务器例如dig -t A web.magedu.com @172.16.59.1
修改完一定要检测:# named-checkconf
配置解析一个正向区域:
如果未安装bind先安装bind,用yum install bind安装;
分为三个步骤:定义区域、建立区域数据文件、重载配置文件
注意:区域名字即为域名
(1) 定义区域
在主配置文件中或主配置文件的辅助配置文件中实现:
主配置文件/etc/named.conf
在/etc/named.rfc1912.zones中加入:
zone "ZONE_NAME" IN {
type {master|slave|hint|forward};主,从,根,转发服务器
file "ZONE_NAME.zone"; 相对路径则在/var/named目录下
};
以magedu.com为例新增一个区域:
zone “magedu.com” IN {
type master;
file “magedu.com.zone”;
};
(2) 建立区域数据文件(主要记录为A或AAAA记录)
在/var/named目录下建立区域数据文件;
文件为:/var/named/magedu.com.zone
文件内容如下:
$TTL 3600 --------宏定义,3600秒,下面未定义TTL时都默认引用这个
$ORIGIN magedu.com.
@ IN SOA ns1.magedu.com. dnsadmin.magedu.com. (
2017010801 -----序列号
1H -------刷新时间间隔
10M ----------重试时间间隔
3D -----------过期时间
1D ) -------------否定回答的TTL值
IN NS ns1 ----- --IN前面没写,说明和上面一行的一样;NS后面没写全,会自动 --------补全$ORIGIN后的内容,注意ns1后无点
IN MX 10 mx1 ------邮件服务器,10为优先级,数字越小优先级越高
IN MX 20 mx2 -----如果有两个服务器就可以解析两个,没有的话不用写这一行
ns1 IN A 172.16.59.1 -------每一个NS和MX后的主机名都要有一个A记录,
-------此为用本机ip 172.16.59.1 做默认DNS服务器
mx1 IN A 172.16.59.4
mx2 IN A 172.16.59.5
www IN A 172.16.59.1 -----web服务器,可看出这个ip扮演了两个角色
web IN CNAME www -------web是www的别名
bbs IN A 172.16.59.6 -----一个域名对应两台主机,别人访问时随机分配这两台
------主机,降低每台服务器压力
bbs IN A 172.16.59.7
@ IN SOA ns1.magedu.com. dnsadmin.magedu.com. (
语法:name [TTL] IN RR_TYPE value
name用@替代,
TTL可以不写,从上面继承;
SOA后是一个区域名,可以用@,也可用区域名magedu.com. ,也用当前区域主DNS服务器的名称ns1.magedu.com.;
dnsadmin.magedu.com.:区域负责人的邮件地址,不能用@,要用点"."
检查语法错误:
[root@yph7s ~]# named-checkconf 检查主配置文件是否语法错误
[root@yph7s ~]# named-checkzone magedu.com /var/named/magedu.com.zone
zone magedu.com/IN: loaded serial 2017010901
OK---------------------------结果看到OK就没问题
权限及属组修改:
[root@yph7s ~]# chgrp named /var/named/magedu.com.zone
[root@yph7s ~]# chmod o= /var/named/magedu.com.zone
[root@yph7s ~]# ll /var/named/magedu.com.zone
-rw-r-----. 1 root named 343 Jan 9 08:45 /var/named/magedu.com.zone
(3) 让服务器重载配置文件和区域数据文件
#rndc status 查看一下当前状态
如果为禁用状态用 # systemctl start named.service开启服务
# rndc reload 或 # systemctl reload named.service 重新加载配置文件或区域数据文件
再rndc status查看一下,看有什么变化
解析看一下配置后的效果
dig -t A www.magedu.com [@172.16.59.1]通过@后这个服务器解析,可省略不写,因为上面已经定义过了
[root@yph7 ~]# dig -t A www.magedu.com ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.1 <<>> -t A www.magedu.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50669 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2-----aa表示权威答案 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ------自己提交问题 ; A ;; ANSWER SECTION: ------反馈回的答案 3600 IN A 172.16.59.1 ;; AUTHORITY SECTION: ------权威解答,自己定义的ns1.magedu.com竟然成为权威了 magedu.com.3600 IN NS ns1.magedu.com. ;; ADDITIONAL SECTION: ------自己定义的DNS服务器的ip地址 ns1.magedu.com. 3600 IN A 172.16.59.1 ;; Query time: 28 msec ----查询时长 ;; SERVER: 172.16.59.1#53(172.16.59.1) ----帮你解析的服务器是哪个 ;; WHEN: 日 1月 10 20:09:29 CST 2016 ;; MSG SIZE rcvd: 93
上面结果如果flags有aa则是服务器自己解析的权威答案;否则无aa是通过转发或迭代得到的,就不是权威
[root@yph7 ~]# dig -t A www.magedu.com @172.16.0.1 ---不用我们自己配置好的默认的DNS服务器解析,而是自己指定其他的服务器,看到结果并不是我们配置的,而是我们用@指定的服务器从根服务器迭代获得的
;; ANSWER SECTION:
www.magedu.com.102INA101.200.188.230
;; AUTHORITY SECTION:
magedu.com.164901INNSv2s1.xundns.com.
magedu.com.164901INNSv2s2.xundns.com.
[root@yph7 ~]# dig -t A web.magedu.com
;; ANSWER SECTION: -----查询结果
web.magedu.com.3600INCNAMEwww.magedu.com.----web只是www的一个别名
www.magedu.com.3600INA172.16.59.1
dig -t A bbs.magedu.com这个多试几次,会看到解析到的主机顺序一致在变,因为是在那两个主机中随机选的,防止某个服务器压力过大。
host -t A bbs.magedu.com 也可以查看
dig -t NS magedu.com 查看定义的默认DNS服务器是哪个,看到是我们定义的ns1
dig -t MX magedu.com 查看邮件服务器有哪些,看到有两个MX
host -t MX magedu.com 也可以查看,两个地址大致是轮循的
配置解析一个反向区域
(1) 定义区域
在主配置文件中或主配置文件辅助配置文件中实现;格式同于正向解析
示例,区域名称为59.16.172.in-addr.arpa;
zone “59.16.172.in-addr.arpa” IN {
type master;
file “172.16.59.zone”;
};
注意:反写的网段地址
59.16.172.in-addr.arpa 正常172网段是两段的,写三位也没错
(2) 定义区域解析库文件(主要记录为PTR)
新建文件 /var/named/172.16.59.zone
内容如下:
$TTL 3600
$ORIGIN 59.16.172.in-addr.arpa.
@ IN SOA ns1.magedu.com. dnsadmin.magedu.com. (
2017010801
1H
10M
3D
12H )
IN NS ns1.magedu.com. ----不能省,因为补的不是这个
1 IN PTR ns1.magedu.com. ----会自动补全为1.59.16.172
4 IN PTR mx1.magedu.com.
5 IN PTR mx2.magedu.com.
6 IN PTR bbs.magedu.com.
7 IN PTR bbs.magedu.com.
1 IN PTR www.magedu.com.
检查语法错误:
[root@yph7s ~]# named-checkconf 先检查主配置文件
[root@yph7s ~]# named-checkzone 59.16.172.in-addr.arpa /var/named/172.16.59.zone
zone 59.16.172.in-addr.arpa/IN: loaded serial 2017010901 ----再检查区域文件
OK
权限及属组修改:
[root@yph7s ~]# chgrp named /var/named/172.16.59.zone
[root@yph7s ~]# chmod o= /var/named/172.16.59.zone
[root@yph7s ~]# ll /var/named/172.16.59.zone
-rw-r-----. 1 root named 356 Jan 9 10:05 /var/named/172.16.59.zone
(3) 让服务器重载配置文件和区域数据文件
# rndc reload 或 # systemctl reload named.service
测试下配置后的结果:
[root@yph7 named]# dig -x 172.16.59.1--看主机名是什么,结果有两个ns1和www
;; ANSWER SECTION:
1.59.16.172.in-addr.arpa. 3600INPTRns1.magedu.com.
1.59.16.172.in-addr.arpa. 3600INPTRweb.magedu.com.
主从DNS服务器配置:
一台主机上某一个区域的从服务器上,只有这个区域的复本 ,不包括其他区域的内容,所以,从服务器是区域级别的概念;从服务器的区域数据文件无需手动编写,只需从主服务器同步过来。也可以给从服务器在再配一个从服务器。
比如A,B两台服务器,A是正向的主服务器,B是正向的从服务器;反过来B是反向的主服务器,A是反向的从服务器。
如果一个请求不是自己主机负责的域,如果你的主机帮它去根服务器请求,叫做递归,但相当消耗资源,一般只允许为本地客户端提供递归服务。
对于本地客户端的请求,把本地客户端群分为两半,一半请求时以主服务器为主响应,另一半则用从服务器响应。
对于网络客户端的请求,你要告诉上级你有两台服务器,上级把请求分给你时,轮循分给主和从服务器。
named程序是以named用户身份运行的,/var/named目录属主为root,属组无写权限,所以不能在/var/nemad下建文件;而/var/named/slaves目录属主为named,所以文件放在此目录下。
配置一个从区域On Slave:
安装前配置:在172.16.59.3从服务器上
安装bind,启用named服务,修改/etc/resolv.conf,修改主配置文件。
这些配置与文章首部的安装前配置几乎完全一致。除了主配置文件/etc/named.conf中对53号端口的监听略有区别;因为要能监听在外部地址上,加一个新地址172.16.59.3,如下:
listen-on port 53 { 127.0.0.1; 172.16.59.3;};
主从服务器要间要同步,
同步时间命令:ntpdate命令
注意:本次配置172.16.59.1为主服务器,172.16.59.3为从服务器
(1) 在从服务器上定义一个从区域,172.16.59.3
zone "ZONE_NAME" IN {
type slave; ---------------------指明这是从服务器
file "slaves/ZONE_NAME.zone"; 文件名,此为相对路径,在/var/named/下
masters { MASTER_IP; }; ------指明谁是主区域
};
在/etc/named.rfc1912.zones 中添加如下内容:
zone "magedu.com" IN {
type slave;
file "slaves/magedu.com.zone";
masters { 172.16.59.1; };
};
配置文件语法检查:
[root@yph7s named]# named-checkconf
重载配置
# rndc reload
# systemctl reload named.service
(2)On Master:172.16.59.1
确保区域数据文件中为每个从服务配置NS记录,并且在正向区域文件需要每个从服务器的NS记录的主机名配置一个A记录,且此A后面的地址为真正的从服务器的IP地址;
[root@yph7s named]# vim /var/named/magedu.com.zone
添加下面两行
IN NS ns2
ns2 IN A 172.16.59.3 ------新增解析指向从服务器的ip地址
检测文件语法错误:
[root@yph7 named]# named-checkzone magedu.com /var/named/magedu.com.zone
zone magedu.com/IN: loaded serial 2017011001
OK
重新加载:
[root@yph7 named]# rndc reload
server reload successful
on slave:172.16.59.3
从服务器重载配置文件,并查看状态
[root@yph7s named]# systemctl reload named.service
[root@yph7s named]# systemctl status named.service
.............. running
................Reloaded Berkeley Internet Name Domain (DNS).
................zone magedu.com/IN: Transfer started. ---------------------从服务器开始同步数据
................transfer of 'magedu.com/IN' from 172.16.59.1#53: connected using 172.16.59.3#51981
............... zone magedu.com/IN: transferred serial 2017011001 ---------------------序列号
............... transfer of 'magedu.com/IN' from 172.16.59.1#53: Transfer completed: 1 messages, 1...es/sec) ----------------------------------------------------------------同步数据完成
............... zone magedu.com/IN: sending notifies (serial 2017011001)
Hint: Some lines were ellipsized, use -l to show in full.
[root@yph7s named]# ls /var/named/slaves
magedu.com.zone ---------------------已经自动新建了文件,说明已经把数据同步过来了
测试一下:看来已经成功了
[root@yph7s named]# dig -t A www.magedu.com @172.16.59.3 ----@自己,为了方便观察
;; ANSWER SECTION:
www.magedu.com.3600INA172.16.59.1
;; AUTHORITY SECTION:
magedu.com.3600INNSns2.magedu.com.
magedu.com.3600INNSns1.magedu.com.
;; ADDITIONAL SECTION:
ns1.magedu.com.3600INA172.16.59.1
ns2.magedu.com.3600INA172.16.59.3
(3)on master:172.16.59.1
[root@yph7 named]# vim magedu.com.zone
新增一个解析
pop3 IN A 172.16.59.8
并且一定要把序列号加1
[root@yph7 named]# named-checkconf -----检测语法错误
[root@yph7 named]# rndc reload -------重载
server reload successful
[root@yph7 named]# systemctl status named.service -----查看状态
.........reloading zones succeeded --重载成功
........ zone magedu.com/IN: loaded serial 2017011002 ----发现了序列号增1
.........zone magedu.com/IN: sending notifies (serial 2017011002) --向slave发送更新信号
........ all zones loaded
........ running
on slave:172.16.59.3
不用重载,直接查看状态,测试
第一次测试时有时候能自动同步有时不能,后来关闭防火墙,dnssec手动添加第三项,还不行,就重启系统。重启后修改resolve.conf 和named.service用start开启,就能自动同步了。
[root@yph7s ~]# systemctl status named.service
......... Started Berkeley Internet Name Domain (DNS).
...........zone magedu.com/IN: Transfer started. ----------传送开始
......... zone magedu.com/IN: transferred serial 2017011003 ----序列号
.......... transfer of 'magedu.com/IN' from 172.16.59.1#53: Transfer completed: 1 messages, 1...es/sec) -------------传送完成
....... zone magedu.com/IN: sending notifies (serial 2017011003) -----发送传送结束信号
测试:
[root@yph7s ~]# dig -t A world.magedu.com @172.16.59.3 ---@本机测试一下
;world.magedu.com. IN A
;; ANSWER SECTION: -------回答 world只是www的一个别名
world.magedu.com.3600 IN CNAME www.magedu.com.
www.magedu.com.3600 IN A 172.16.59.1
;; AUTHORITY SECTION: ----权威DNS解析服务器
magedu.com.3600INNSns2.magedu.com.
magedu.com.3600INNSns1.magedu.com.
增量传送:
主服务器:
[root@yph7 named]# dig -t axfr magedu.com @172.16.59.1
从服务器:@主服务器
[root@yph7s ~]# dig -t A axfr magedu.com @172.16.59.1
[root@yph7s ~]# dig -t A axfr 59.16.172.in-addr.arpa @172.16.59.1
反向解析:
从服务器;172.16.59.3
[root@yph7s ~]# vim /etc/named.rfc1912.zones ---新增一个反向解析域
zone “59.16.172.in-addr.arpa” IN {
type slave;
file “slaves/172.1.59.zone”;
masters { 172.16.59.67; };
};
检测语法
[root@yph7s ~]# named-checkconf
主服务器:172.16.59.1新增两行指向从服务器的反解析记录,并立即把序列号加1;如下:
[root@yph7 named]# vim /var/named/172.16.59.zone
IN NS ns2.magedu.com.
3 IN PTR ns2.magedu.com.
然后序列号加1
检测语法:
[root@yph7 named]# named-checkzone 59.16.172.in-addr.arpa /var/named/172.16.59.zone
主服务器先重载,从服务器再重载
然后从服务器下已经同步过来文件了,如下:
[root@yph7s slaves]# ls
172.16.59.zone magedu.com.zone
测试:
[root@yph7s slaves]# dig -x 172.16.59.1 @172.16.59.3
;; ANSWER SECTION:
1.59.16.172.in-addr.arpa. 3600INPTRns1.magedu.com.
1.59.16.172.in-addr.arpa. 3600INPTRweb.magedu.com.
;; AUTHORITY SECTION:
59.16.172.in-addr.arpa.3600INNSns2.magedu.com.
59.16.172.in-addr.arpa.3600INNSns1.magedu.com.
;; ADDITIONAL SECTION:
ns1.magedu.com.3600INA172.16.59.1
ns2.magedu.com.3600INA172.16.59.3
类似于正向解析在主服务器上新增解析记录,序列号加1,检测,重载;然后用重服务器测试,仍能成功。
子域授权:
子服务器:172.16.59.2
用centos6主机172.16.59.2做子域服务器
文件配置方式与文章开头几乎一致,只是下面的这点不同:
listen-on port 53 { 127.0.0.1; 172.16.59.2; };
[root@yph6 yum.repos.d]# netstat -tunlp | grep named ------53端口已经被named监听 tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 2337/named tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 2337/named tcp 0 0 ::1:53 :::* LISTEN 2337/named tcp 0 0 ::1:953 :::* LISTEN 2337/named udp 0 0 127.0.0.1:53 0.0.0.0:* 2337/named
[root@yph7 named]# ss -tunl ----53端口已经被172.16.59.2监听,若没有则重启服务 Netid State Recv-Q Send- Local Address:Port Peer Address:Port tcp UNCONN 0 0 172.16.59.2:53
假如公司运维部子域ops.magedu.com,此为三级域名为之配置子服务器
父服务器:172.16.59.1
正向解析区域授权子域的方法:
ops.magedu.com. IN NS ns1.ops.magedu.com.
ns1.ops.magedu.com. IN A IP.AD.DR.ESS
父配置文件添加指向子服务器的解析,序列号加1
[root@yph7 named]# vim /var/named/magedu.com.zone
ops IN NS ns1.ops
ns1.ops IN A 172.16.59.2
子服务器:
[root@yph6 yum.repos.d]# vim /etc/named.rfc1912.zones ----添加域
zone "ops.magedu.com" IN {
type master;
file "ops.magedu.com.zone";
[root@yph6 named]# vim /var/named/ops.magedu.com.zone ----创建区域配置文件
$TTL 3600
$ORIGIN ops.magedu.com.
@ IN SOA ns1.ops.magedu.com nsadmin.ops.magedu.com (
2017011101
1H
10M
1D
2H)
IN NS ns1
ns1 IN A 172.16.59.2
[root@yph6 yum.repos.d]# named-checkconf ---检测文件语法错误
[root@yph6 named]# named-checkzone ops.magedu.com /var/named/ops.magedu.com.zone
zone ops.magedu.com/IN: loaded serial 2017011101
OK
修改文件权限
[root@yph6 named]# chgrp named ops.magedu.com.zone
[root@yph6 named]# chmod o= ops.magedu.com.zone
[root@yph6 named]# ll ops.magedu.com.zone
-rw-r----- 1 root named 175 Jan 11 22:10 ops.magedu.com.zone
[root@yph6 named]# rndc reload ----重新加载
server reload successful
在从服务器上测试:
[root@yph6 named]# dig -t A www.ops.magedu.com @172.16.59.2
;; ANSWER SECTION:
www.ops.magedu.com.3600INA172.16.59.2
;; AUTHORITY SECTION:
ops.magedu.com.3600INNSns1.ops.magedu.com.
;; ADDITIONAL SECTION:
ns1.ops.magedu.com.3600INA172.16.59.2
[root@yph6 named]# dig -t A world.magedu.com @172.16.59.2--通过自己解析父服务器上的服务
;; ANSWER SECTION:
world.magedu.com.3600INCNAMEwww.magedu.com.
www.magedu.com.3600INA172.16.59.1
;; AUTHORITY SECTION:
magedu.com.3600INNSns2.magedu.com.
magedu.com.3600INNSns1.magedu.com.
定义转发:
:
注意:被转发的服务器必须允许为当前服务做递归;
区域转发:仅转发对某特定区域的解析请求;
子服务器上:
zone "ZONE_NAME" IN { ---------父域名字
type forward; ----------类型为转发
forward {first|only};
forwarders { SERVER_IP; }; ------转发器
};
first:首先转发;转发器不响应时,自行去迭代查询;
only:只转发;
[root@yph6 named]# vim /etc/named.rfc1912.zones ---添加如下内容
zone "magedu.com" IN {
type forward;
forward only;
forwarders { 172.16.59.1; 172.16.59.3; };
};
[root@yph6 named]# named-checkconf ----检查语法错误
[root@yph6 named]# rndc reload -----重载
server reload successful
小技巧:如果自己不能访问互联网,而172.16.100.67可以上互联网,用它解析接可以让它帮你找根,前提是它没有禁止帮你做迭代
全局转发:
在zone中定义的就按zone的标准,对于zone没有定义的就按全局标准
options {
... ...
forward {only|first};
forwarders { SERVER_IP; };
.. ...
};
在/etec/named.conf主配置文件中,被注销掉的行 //allow-query { localhost; };上方添加两行:
forward only;
forwarders { 172.16.59.1; };-----表示zone中没定义的都通过这个ip解析
下面解析中,@的是自己,但自己并没有答案中的解析;答案是全局定义中的172.16.59.1转发的。
[root@yph6 named]# dig -t A www.baidu.com @172.16.59.2
;; ANSWER SECTION:
www.baidu.com.1200INCNAMEwww.a.shifen.com.
www.a.shifen.com.300INA61.135.169.121
www.a.shifen.com.300INA61.135.169.125
bind中的安全相关的配置:
acl:访问控制列表;
把一个或多个地址归并一个命名的集合,随后通过此名称即可对此集全内的所有主机实现统一调用;
acl acl_name {
ip;
net/prelen;
};
示例:
acl mynet {
172.16.0.0/16;
127.0.0.0/8;
};
bind有四个内置的acl
none:所有主机都不允许;
any:任意主机;
local:本机;
localnet:本机所在的IP所属的网络;
访问控制指令:
allow-query {}; 仅允许查询的主机;白名单;就是我们文章首部注销掉的那个
allow-transfer {}; 允许为哪些主机做区域传送;默认为向所有主机;应该配置仅允许从服务器;
在主服务器上:
只为指定主机提供递归迭代服务:
[root@yph7 named]# vim /etc/named.rfc1912.zones
在zone "magedu.com" IN 下面添加一行
allow-transfer { slaves; };
再在主配置文件/etc/named.cong第一个options上方添加:
acl slaves {
172.16.59.3;
172.16.59.2;
};
172.16.59.2虽不是从服务器,但只要添加到这里面就把你加入白名单,给你做递归服务,否则不给。
在从服务器或子服务器dig -x axfr magedu.com @172.16.59.1
为自己传送:
如果添加了127.0.0.1,使用主服务器才可以传送否则不能为自己传送,但必须
dig -x axfr magedu.com @127.0.0.1,并且下面的listen on port行加上127.0.0.1;
allow-recursion {}; 允许哪此主机向当前DNS服务器发起递归查询请求;
主配置文件/etc/named.conf中的recursion yes;表明为所有主机递归,这样不合理
在第一个options上添加
acl mynet {
172.16.0.0/16
127.0.0.0/8
};
把recursion yes;改为
allow-recursion { mynet; };
allow-update {}; DDNS,允许动态更新区域数据库文件中内容;
一般都是none,参见系统定义的/etc/named.rfc1912.zones 中zone域的定义
这样服务器才安全。
bind view:
例如一个主机有内网ip和外网ip,内网的主机进行解析时解析成一个地址,外网的主机解析时解析成另一个地址,来自联通的用户解析到联通上,来自电信的解析到电信上
视图:
view VIEW_NAME {
zone
zone
zone
};
view internal { ----面向内网
match-clients { 172.16.0.0/8; }; ----这个网段的用户解析到内网
zone "magedu.com" IN {
type master;
file "magedu.com/internal";
};
};
view external { --------外网的用户
match-clients { any; }; ----这些用户解析到外网
zone "magecdu.com" IN {
type master;
file magedu.com/external";
};
};