您的位置:首页 > 其它

DNS服务之反向解析&子域&区域转发

2016-09-18 18:45 330 查看
测试环境说明主DNS服务器:CentOS 6.8 192.168.1.6/24 10.1.154.97/16 zmingbo.com从DNS服务器:CentOS 6.8 192.168.1.8/24 10.1.154.94/16子域:CentOS 6.8 10.1.110.54/16 tech.zmingbo.comDNS检测命令dig命令: dig [-t type ] [ -x addr ] [name] [@server] +trace :跟踪解析过程
]#dig -t A www.zmingbo.com @192.168.1.6
host命令 host [-t type] {name} [server]
]#host -t A www.zmingbo.com
nslookup命令: server DNS_Server_IP:指定DNS服务器IP set q=Type

反向解析基本配置1、配置主配置文件

2、配置区域配置文件。 可以拷贝zmingbo.com.zone配置文件来参考配置。注意权限要保留。
]#cp -p zmingbo.com.zone 192.168.1.zone


3、检测服务配置文件是否有错误
]#service named configtest


4、重新加载服务配置,查看服务日志文件
]#service named reload


5、检测配置
]#dig -x 192.168.1.100


]#host -t PTR 192.168.1.120


反向解析区域数据文件:区域名称以逆向的网络地址,并以.in-addr.arpa为后缀 第一天必须是SOA 应该具有NS记录,但不能出现MX和A记录 较常见的即为PTR记录 名称为逆向的主机地址使用dig可以手动模拟区域传送 dig -t axfr 区域名称 @server
]#dig -t axfr zmingbo.com @192.168.1.6


]#dig -t axfr 1.168.192.in-addr.arpa @192.168.1.6


区域传送常见于主从同步场景。如何完成主从同步: 主DNS服务器和从DNS服务器不一定要在同一网段中,单彼此之间要能正常通讯。 主DNS服务器的bind版本可以低于从DNS服务器的bind版本,但不能高于,最好一致。 客户端在配置DNS时,在前面的nameserver优先被使用,只有当前面的namesever无法给予响应时,才会往下查找。 客户端配置DNS: vim /etc/resolve.conf nameserver Master_DNS_IP nameserver Slave_DNS_IP 为了避免配置的从DNS服务器被闲置,客户端在配置时应分别使用主、从DNS服务器。在区域中添加从DNS服务器的关键步骤: 1、在上级获得授权 2、在区域数据文件中为服务器添加一条NS记录和一条对应的A记录正向解析同步:主服务器的配置步骤:1、编辑/etc/named.conf
zone "zmingbo.com." IN {
type master;
file "zmingbo.com.zone";
allow-transfer {192.168.1.8;};
};


2、编辑/var/named/zmingbo.com.zone,新增NS和对应的A记录。注意,修改区域配置文件之后,序列号要+1。
]#vim /var/named/zmingbo.com.zone


3、从新加载named服务配置文件。从服务器的配置步骤: 1、准备新机器,确保bind版本不能高于主服务器,最好一致;确保主从之间网络畅通 2、安装bind 3、安装完成之后,编辑主配置文件。可以在原有配置上修改,也可以备份源配置文件,之后手动编写一个。这里选择在原配置文件上修改,修改如下:



4、编辑/etc/named.rfc1912.zones配置文件,添加新zone注意:若zone名称与主DNS服务器不一致,则同步失败
]# vim /etc/named.rfc1912.zoneszone
"zmingbo.com" IN {
type slave;
masters {192.168.1.6;};
file "slaves/zmingbo.com.zone";
};


5、启动服务,并查看启动日志。

6、查看/var/named/slaves下是否生成配置文件。
ll -d /var/named/slaves/zmingbo.com.zone
反向解析同步:主服务器配置:编辑/etc/named.conf文件

编辑/var/named/192.168.1.zone配置文件,新增NS和对应的A记录。且序列号相应+1。
]#vim /var/named/192.168.1.zone


从服务器配置修改/etc/named.rfc1912.zones文件
]# vim /etc/named.rfc1912.zoneszone
"1.168.192.in-addr.arpa." IN {
type slave;
masters {192.168.1.6;};
file "slaves/192.168.1.zone";
};
配置完成之后。在主服务器上重新加载named配置。查看/var/log/messages,检查同步是否成功。注:为了安全,在注服务器上应该只允许已知的从服务器同步。在从服务器上,拒绝所有同步。使用allow-transfer { IP; };来进行控制。 RNDC(Remote Name Domain Controller)远程管理BIND的工具 rndc密钥: rndc:持有一半密钥,保存于rndc的配置文件中。 bind:持有一半密钥,保存于主配置文件中。 rndc配置文件:/etc/rndc.conf rndc密钥文件:/etc/rndc.key rndc常见用法: rndc reload reload zone status reconfig:重读配置文件并加载新增的区域 querylog:开启或关闭查询日志。若开启,则客户端每次请求,都会写一次日志。在繁忙的服务器上建议不要启用此功能。 flush:清空服务器上的缓存 flushname name:清空知道名称相关的缓存 addzone:添加区域到view delzone:删除view中的区域 trace:开启调试模式(debug),debug有级别概念,每执行一次提升一次级别。级别越高,信息越详细。 tracle Level:指定debug级别。 注:debug使用完成之后,因其产生的数据量较大,应该关闭。 如果rndc无法正常工作,可尝试使用rndc-confgen生成/etc/rndc.conf配置文件,并将配置文件中的后半部分复制到BIND的注配置文件中,并按指示启用。 rndc-confgen -r /dev/urandom > /etc/rndc.conf

BIND子域授权的实现: 在父域的配置文件中添加如下项: 授权的子区域名称 子区域的名称服务器 子区域的名称服务器的IP地址例:zmingbo.com域下有主机mail、www、http 也有tech.zmingbo.com子域。现在为tech.zmingbo.com子域授权。配置步骤:1、在父域上配置: 注:只能在父域的主服务器上作修改 1)编辑区域授权文件:
vim /etc/named.conf


2)检查配置文件是否有错误
]#named-checkzone "zmingbo.com" zmingbo.com.zone
3)通知系统重新加载配置文件
]#rndc reload
4)查看named的运行状态
]#rndc status
5)检查tech.zmingbo.com是否有响应。需要子域配置完成之后才会有响应
dig -t NS tech.zmingbo.com @192.168.1.6


2、在子域上配置: 1)、安装bind 2)、编辑/etc/named.conf文件



3)编辑/etc/named.rfc1912.zones文件
]# vim /etc/named.rfc1912.zoneszone
"tech.zmingbo.com" IN {
type master;
file "tech.zmingbo.com.zone";
};
4)编辑/var/named/ tech.zmingbo.com.zone

5)启动服务
]# service named start
6)检查是否能正常解析

能正常解析,并且对自己管理的做出权威应答(aa,authority answer)

解析测试:在父域上能解析到子域的域名,但不是aa(authority answer权威应答)

在子域上如果要解析父域管理的域名,因为子域不负责管理,所以其会直接问根域查询。此时若是做测试使用的域名,并未向根域申请授权,所以根域无法返回解析。为了能让从子域上解析父域管理的域名,需要粗腰转发的功能。

配置区域转发(转发域): 解析某本机不负责的区域内的名称时不转发给根,而是转给指定的主机 zone "Zone_Name" IN { type forward; forwarders { DNS_Server; }; forward only|first; #only仅转发,first先转发。不响应,想跟查询。 };转发通常是递归转发。允许使用转发的前提:本机要在对方的允许的递归主机列表中。配置转发的方式: 转发非本机负责解析的所有区域
]# vim /etc/named.conf
options {
type forward;
forwarders { DNS_Server;};
forward only|first;   #only仅转发;first先转发,若指向name server不响应,想跟查询。
};
转发某特定区域:
]# vim /etc/named.rfc1912.zones
zone "特定区域" IN {
type forward;
forwarders { DNS_Server;};
forward only|first;
};
例:在子域tech.zmingbo.com上配置转发zmingbo.com的请求至父域1、编辑/etc/named.rfc1912.zones]# vim /etc/named.rfc1912.zones
zone "zmingbo.com" IN {
type forward;
forward only;
forwarders {10.1.154.97;};
};
2、检查配置文件是否有误:named-checkconf3、重启named服务:service named restart4、测试解析是否成功

例:子域不能连接internet,但子域nameserver要提高解析互联网域名的功能,已知,父域可以解析。且父域有主、从两台服务器。主为10.1.154.97,从为10.1.154.94。 1)、在子域上配置/etc/named.conf。添加如下两行配置
]# vim /etc/named.conf
forward first;       #指向的nameserver不应答,则向根查询。
forwarders {10.1.154.97;10.1.154.94;};


2)、检查配置并重启named服务。 3)、检查是否能正常解析。

安全控制选项 allow-transfer { }; #通常都需要启用。但需要做限定。 allow-query { }; #通常仅用于服务器是缓存名称服务器时,只开放查询功能给本地客户端。 allow-recursion { }; #定义递归白名单。可以使用网段的形式192.168.1.0/24 allow-update { none; }; #定义运行ddns更新区域数据文件的白名单。建议禁用。 ddns(dynamic dns)BIND的ACL:BIND支持使用访问控制列表。 acl Acl_Name { 192.168.21.0/24; 172.16.100.1/16 }定义好acl之后,可以通过Acl_Name引用。如:allow-query { Acl_Name; };acl只有定义后才能被使用。通常acl要定义在named.conf的最上方。BIND内置的acl: any:任何主机 none local localnet
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  DNS 子域 反向解析
相关文章推荐