6.提高域名服务器的安全
为了提高域名服务器的安全性,必须要控制区文件的传输.在配置named.conf时,可以采取几方面的控制来加强安全.
options {
allow-transfer {202.103.166.100;};
};
这句指令指定只有授权的辅服务器才能从本主服务器上获得区数据信息
options {
allow-query {192.168.1/24;127.0.0/8;};
};
这句指令指定只有授权的客户才能从本服务器上获得区数据信息.
options {
forwarders {202.103.166.194;202.105.177.100;};
forward-only;
};
这句指令指定只有指定的服务器才能被本缓存服务器访问.
7.应用实例
假设有一个网络,网络由proxy分成internet和intranet两部分:为了保护mail server的安全,将它安置在intranet上.内部用户通过内部mail server收发信件.
proxy server主机上同时建有proxy server ,dns server 和smtp server.
eth0 ip address:192.168.1.1
eth1 ip address:172.16.0.1
mail server主机上同时建有smtp server,pop3 server.
ip address:172.16.0.2
用户的网关 为172.16.0.1
dns server 为172.16.0.1
smtp server为mail.test.com
pop3 server为mail.test.com
我们还是用”test.com”作为例子,我们需要六个基本配置文件:
/etc/named.conf
/var/named/named.ca
/var/named/named.local
/var/named/named.test.com
/var/named/named.172.16.0
/var/named/named.192.168.1
7.1 创建或修改/etc/named.conf:
// generated by named-bootconf.pl
options {
directory “/var/named”;
/*
* if there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. previous versions of bind always asked
* questions using port 53, but bind 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a pm nameserver config
//
zone “.” {
type hint;
file “named.ca”;
};
zone “0.0.127.in-addr.arpa” {
type master;
file “named.local”;
};
//there are our primary zone files
zone “test.com” {
type master;
file “named.test.com”;
};
zone “0.16.172.in-addr.arpa” {
type master;
file “named.172.16.0”;
};
zone “1.168.192.in-addr.arpa” {
type master;
file “named.192.168.1”;
};
文件中的zone “test.com”段是声明这是用于test.com域的主服务器,用于该域的数据从/var/named/named.test.com文件中装载.文件中的zone “0.16.172.in-addr.arpa”段是指向映射ip地址172.16.0.* 到主机名的文件.
用于该域的数据从/var/named/named.172.16.0文件中装载.文件中的zone “1.168.192.in-addr.arpa”段是指向映射ip地址192.168.1.* 到主机名的文件.用于该域的数据从/var/named/named.192.168.1文件中装载.
7.2 创建或修改/var/named/named.local
@ in soa ns.test.com. root.ns.test.com. (
2000051500 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expire
86400 ) ; minimum
in ns ns.test.com.
1 in ptr localhost.
注意:在修改named.*文件时每次存盘时要注意增加serial值.如使用绝对域名时千万别忘了后面带的”.”
7.3 创建或修改/var/named/named.test.com
@ in soa ns.test.com. root.ns.test.com. (
2000051500 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expire
86400 ) ; minimum
in ns ns.test.com.
ns a 192.168.1.1
ns a 172.16.0.1
mx 10 ns.test.com.
www a 192.168.1.2
mail a 172.16.0.2
mx 10 mail.test.com.
mx 20 ns.test.com.
7.4 创建或修改/var/named/named.192.168.1
@ in soa ns.test.com. root.ns.test.com. (
2000051500 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expire
86400 ) ; minimum
in ns ns.test.com.
1 in ptr ns.test.com.
2 in ptr www.test.com.
7.5 创建或修改/var/named/named.172.16.0
@ in soa ns.test.com. root.ns.test.com. (
2000051500 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expire
86400 ) ; minimum
in ns ns.test.com.
1 in ptr ns.test.com.
2 in ptr mail.test.com.
假设用户发一份邮件到tom@hotmail.com时,信件先投递到mail.test.com主机,
由mail.test.com主机再传递给ns.test.com主机,再由ns.test.com主机投递给mail.hotmail.com.然后再由用tom从mail.hotmail.com主机取得邮件.
当hotmail.com上的tom想发邮件给mail.test.com上的用户时,tom机器上的解析器先获得test.com的域名信息,然后邮件客户端根据邮件投递路由首先发给mail.test.com主机,由于mail.test.com主机为内部主机,internet用户无法访问.然后邮件客户端根据邮件投递路由发给ns.test.com主机.由于ns.test.com主机为于internet上,ns.test.com主机收到邮件后再转发到同一网段的mail.test.com主机上,然后再由用户从mail.test.com主机取得邮件.
8.与microsoft dns 的集成
microsoft dns 定义了一个新的类型wins的资源记录,它附属在域的根区.这个记录告诉microsoft的dns服务器如何与wins服务器取得联系,解决对没有静态dns记录的主机的名称查询问题.
示例,一个wins资源记录如下:
@ in wins 192.168.1.100
为了使dns和wins合作,在microsoft的dns服务器配置中选择相应域的properties记录,并且在wins lookup标签中启用wins解决.
由于采用了非标准的资源记录,大多数其他dns并不支持这种资源记录,如非microsoft dns的计算机企图从有dns-wins资源记录的microsoft的dns服务器中进行区传送时,那么,该计算机就很可能出错.
9.dns故障诊断
大多数dns故障的原因是配置文件的语法错误,或者是对错误的计算机分配了错误的地址.当进行dns故障诊断时,参照下面的指导方针.
9.1 对全部记录,检查和确认主机名称的拼写.记住绝对地址是以”.”结尾.
9.2 如果在区文件中作了任何修改,务必修改soa记录中的序列号.这将保证服务器正确地重新上载文件.
9.3 确定输入到主区的名称和ip地址匹配反向指针文件中的反向指针信息.
9.4 microsoft的dns服务器采用了非标准的资源记录,可能会导致问题.