各种DNS服务器的配置与解析
首先介绍几个全局配置文件中块及块中的选项:
options块:指定BIND的服务参数
listen-on port:指定BIND监听的DNS查询请求本机IP地址以及端口号,若本机有多块网卡多个IP地址,就可使用此项指定监听的某个IP地址或某几个IP地址和端口号;
allow-quert:指定接受DNS查询请求的客户端;
allow-recursion:指定允许提交递归查询的主机,一般DNS服务器只为本区域的主机进行递归查询,因此在这里就可以对本地客户端以IP地址来分类,划分;
allow-transfer:允许区域传输的辅助服务器的IP地址,在显示网络中,一定要进行此项的设置,因为DNS域内的信息是不能随便跟其他DNS服务器进行区域传输的,由此极有可能将域内的拓扑暴漏出去,这是十分危险的;
view块:指定主配置文件存放路径和名称,用于做DNS的视图分割
match-clients:指定提交DNS客户端的源IP地址;
match-recursive-only yes|no:指定是否只允许递归查询;
include:指定主配置文件
acl块:用于定义一些IP控制列表,但是该块一定要写在options块上面;
如: acl ACL_NAME { 172.16.4.0/24; };
DNS服务器角色:
1.主DNS服务器(master):拥有该区域的数据文件,并对此区域提供管理数据。
2.辅助DNS服务器(slave):拥有主要区域数据文件的完整只读副本,辅助区域从主要区域同步所有区域数据,同步过程被成为区域传输。区域传输分为两类:first、only
1.first:找不到去找根
2.only:找不到就返回找不到,不在进行解析
3.转发服务器(forward):用于转发DNS客户端的递归查询。
具体实战配置:
●主区域的配置:
规划:为"cz.com"这个区域建立DNS服务器,服务器名为dns.cz.com,服务器IP地址为:172.16.4.48;该域的管理者的邮箱地址为[email protected];在该域内有这两台主机,其域名为:www.cz.com IP:172.16.4.254;ftp.cz.com IP:172.16.4.253;邮件服务器IP地址:172.16.4.252;
◆首先,编辑/etc/named.conf,建立cz.com的正向和反向解析区域,添加
- zone "cz.com" IN {
- type master;
- file "cz.com.zone";
- };
- zone "4.16.172.in-addr.arpa" IN {
- type master;
- file "172.16.4.zone";
- };
◆其次,建立正向区域配置文件/var/named/cz.com.zone
- $TTL 600
- @ IN SOA dns.cz.com. root.cz.com. ( #这里邮箱地址中@不能写为@,因为@有其他的代表意思,所以将".”代表"@"
- 2012030801
- 1H
- 5M
- 1W
- 1D )
- IN NS dns
- dns IN A 172.16.4.48
- root IN MX 10 172.16.4.252
- www IN A 172.16.4.254
- ftp IN A 172.16.4.253
◆最后,建立反向区域配置文件/var/named/172.16.4.zone
- $TTL 600
- @ IN SOA dns.cz.com. root.cz.com. (
- 2012030801
- 1H
- 5M
- 1W
- 1D )
- IN NS dns.cz.com.
- 48 IN PTR dns.cz.com.
- 252 IN PTR root.cz.com.
- 253 IN PTR ftp.cz.com.
- 254 IN PTR www.cz.com. #在PTR记录中主机名一定要写完整
●辅助服务器:
规划:辅助服务器,域名:ns.cz.com IP地址:172.16.4.240,为"cz.com"做从服务器
◆首先,编辑全局配置文件/etc/named.conf,添加
- zone "cz.com" IN {
- type slave
- masters { 172.16.4.48; }; #指定主DNS服务器的IP地址
- file "slaves/cz.com.zone"; #定义同步的本地数据文件存放的文件,并为其命名
- };
- zone "4.16.172.in-addr.arpa" IN {
- type slave
- masters { 172.16.4.48; };
- file "slaves/172.16.4.zone";
- };
◆其次,为主DNS服务器172.16.4.48的主配置文件添加允许区域传输控制
如果只限制此域的区域传输,则在主DNS服务器的全局配置文件中的 zone "cz.com" 和 zone "4.16.172.in-addr.arpa"中添加
- allow-transfer { 172.16.4.240; };
如果限制主DNS服务器的所有域的区域传输,则在主DNS服务器的全局配置文件中的 options块中添加
- allow-transfer { 172.16.4.240; };
◆最后,由于辅助DNS服务器刚刚建立,要进行一次完全区域传输
#dig -t axfr cz.com.zone
#dig -t axfr 172.16.4.zone
注:以后在对该域"cz.zone"或"4.16.172.in-addr.arpa"中的数据进行修改时,只需每次修改区域配置文件的版本号,辅助服务器即可立即完成数据同步更新。
●转发服务器:
规划:新增加域"linux.com",每当有主机向172.16.4.48发起"linux.com"域内的解析请求时,则直接将解析请求转发到 "172.16.4.230"这台服务器上进行解析,不在向根发起解析请求,"172.16.4.230"服务器域名为"ns.linux.com",在"linux.com"中同样有这样一台主机www其IP地址分别为:172.16.4.229,对外网公布,要求:来自外网的IP地址访问www.linx.com时,将其IP地址解析为202.196.48.2,来自内网的访问则将其解析为172.16.4.229,内网网段为:172.16.4.0/24
◆首先,编辑主DNS服务器172.16.4.48上的全局配置文件/etc/named.conf,添加
- acl INIP { 172.16.4.0/24; };
- zone "linux.com" IN {
- type forward;
- forwarders { 172.16.4.230; };
- };
◆其次,编辑转发DNS服务器172.16.4.230的全局配置文件/etc/named.conf,添加
- view innet {
- match-clients { INIP; };
- allow-recursion { any; };
- zone "linux.com" IN {
- type master;
- file "linux.com.in.zone";
- };
- zone "4.16.172.in-addr.arpa" IN {
- type master;
- file "172.16.4.zone";
- };
- };
- view outnet {
- match-clients { any; };
- allow-recursion { none; };
- zone "linux.com" IN {
- type master;
- file "linux.com.out.zone";
- };
- zone "48.196.202.in-addr.arpa" IN {
- type master;
- file "202.196.48.in.zone";
- };
- };
◆最后,建立区域配置文件
/var/linux.com.in.zone
- $TTL 600
- @ IN SOA ns.linux.com. root.linux.com. (
- 2012030801
- 1H
- 5M
- 1W
- 1D )
- IN NS ns
- ns IN A 172.16.4.230
- www IN A 172.16.4.229
/var/linux.com.out.zone
- $TTL 600
- @ IN SOA ns.linux.com. root.linux.com. (
- 2012030801
- 1H
- 5M
- 1W
- 1D )
- IN NS ns
- ns IN A 172.16.4.230
- www IN A 202.196.48.2
/var/172.16.4.zone
- $TTL 600
- @ IN SOA ns.linux.com. root.linux.com. (
- 2012030801
- 1H
- 5M
- 1W
- 1D )
- IN NS ns.linux.com.
- 230 IN PTR ns.linux.com.
- 229 IN PTR www.linux.com.
/var/202.196.48.zone
- $TTL 600
- @ IN SOA ns.linux.com. root.linux.com. (
- 2012030801
- 1H
- 5M
- 1W
- 1D )
- IN NS ns.linux.com.
- 2 IN PTR www.linux.com.
●子域授权
子域授权,只需要在父域的正向区域配置文件和其反向区域配置文件中写入NS记录和对应的A记录或PTR记录
规划:为172.16.4.200授权子域"zzti.cz.com",子域服务器名为:dns.zzti.cz.com,域中有主机:client1、client2、client3,对应的IP地址分别为:172.16.4.192、172.16.4.191、172.16.4.190
◆首先,编辑主DNS服务器中域"cz.com"的正向配置文件/var/named/cz.com.zone,添加
- zzti IN NS dns.zzti
- dns.zzti IN A 172.16.4.200
◆其次,编辑子域DNS服务器的全局配置文件/etc/named.conf,添加
- zone "zzti.cz.com" IN {
- type master;
- file "cz.com.zone";
- };
- zone "4.16.172.in-addr.arpa" IN {
- type master;
- file "172.16.4.zone";
- };
◆最后,编辑相对应正向和反向区域配置文件
/var/zzti.com.zone
- $TTL 600
- @ IN SOA ns.zzti.cz.com. root.zzti.cz.com. (
- 2012030801
- 1H
- 5M
- 1W
- 1D )
- IN NS dns
- dns IN A 172.16.4.200
- client1 IN A 172.16.4.192
- client2 IN A 172.16.4.191
- client3 IN A 172.16.4.190
/var/172.16.4.zone
- $TTL 600
- @ IN SOA ns.zzti.cz.com. root.zzti.cz.com. (
- 2012030801
- 1H
- 5M
- 1W
- 1D )
- IN NS dns.zzti.cz.com.
- 200 IN PTR dns.zzti.cz.com.
- 192 IN PTR client1.zzti.cz.com.
- 191 IN PTR client2.zzti.cz.com.
- 190 IN PTR client3.zzti.cz.com.
好了,大功告成!