DNS服务器的高级配置
视图的配置
在主配置文件中,可以指定多个view,如果DNS客户端所提交的查询满足第一个view的条件时,就会使用第一个view来进行解析,否则就判断一下view,然后再进行解析。如果所有的view都不满足条件时,BIND将返回Query refuset的消息。设置多个view的作用在于可以根据不同的DNS客户端返回不同的解析结果。如下图所示。BIND在解析www.qq.com时,如果客户端属于内网端时,则返回ip地址为192.168.2.2.如果属于外网时,就返回ip地址为61.130.130.1
1.[root@localhwsm etc]# vim named.rfc1912.zones 编辑区域配置文件增加如下内容:
zone "qq.com" IN {
type master;
file "qq.com.zone1";
allow-update { none; };
};
2.在/var/named/chroot/var/named里新建qq.com.zone 和qq.com.zone1
(www和dns服务器是在一台主机上。www服务已配好,怎样配置不在这讲)
3.编辑主配置文件增加红框里的内容:
4.配置防火墙,这里用带有两块网卡的linux(内网vm1 eth0 192.168.2.254 外网vm2 eth1 61.130.130.1)来实现。。。
5.在内网测试
可以解析
6.在外网测试
不能解析,,这时需要在防火墙上配置规则
[root@localhost ~]# iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to 192.168.2.2
解析为不同的ip地址了
TSIG配置
TSIG(Transaction Signature,事务签名)使用加密验证DNS信息。TSIG是以MD5加密算法的方式、认证DNS服务器之间的数据传输。
① 首先在主要区域所在的服务器上生成加密证书。
② 传递给辅助区域所在服务器
③ 经过配置后由辅助区域所在服务器以加密方式送往主要区域所在的服务器的区域传输请求。
④ 同时提供加密的DDNS
TSIG功能确认DNS之信息是由某特定DNS服务器提供,并且大多数应用于DNS之间区域传输,确保辅助从主要区域复制得到的数据不是由其他假的DNS服务器提供或被篡改截取。
下面就将位于192.168.2.2上的主要区域zhx.com 与位于192.168.2.254上的辅助区域之间的区域传输使用TSIG,提高其安全性。
1.主要区域配置
① 使用dnssec-keygen命令创建密钥
[root@localhwsm chroot]# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST wsm
② dnssec-keygen执行完成后在当前目录下会生成密钥对文件,通过cat查看
③ 修改/var/named/chroot/etc/named.conf文件,增加如下内容
key fuzhutransfer {
algorithm hmac-md5; (指定使用的加密算法)
secret OoKlnmTHoyf3tiLZ8reIdg==; (指定密码字符串)
};
server 192.168.2.254 { (指定辅助区域所在主机ip)
keys { fuzhutransfer; }; (指定辅助区域使用fuzhutranster中所定义的密钥)
};
④ 修改/var/named/chroot/etc/named.rfc1912.zones文件,增加如下内容
红框是指定使用fuzhutransfer中所定义的密钥的辅助区域才可以完成区域传输。
⑤ 。两个区域文件内容如下:
⑥ 重启named服务。
2. 辅助区域配置
1) 修改区域全局配置文件,增加如下内容:
key fuzhutransfer{
algorithm hmac-md5;
secret OoKlnmTHoyf3tiLZ8reIdg==;
};
server 192.168.2.2 {
keys { fuzhutransfer; };
};
2) 辅助区域主配置文件,增加如下内容:
3) 重启named服务,可以看到主要区域DNS 的日志如下:
已经传给了指定的辅助DNS
如果不是指定辅助DNS'会用如下结果:
DDNS的配置
前面讲是是手动将A记录(或PRT记录)添加到DNS服务器对应的区域中,但是如果客户端的ip地址不固定(使用DHCP获得的IP地址)或客户端数量巨大,就无法准确地添加A记录(或PRT记录),这里就需要使用DDNS.
DDNS(DYnamic Domain Name Server,动态域名服务)是客户端动态ip地址映射到一个过顶的DNS服务上。DDNS需要DNS和DHCp结合来进行。
一、服务端配置
a. cd /var/named/chroot
dnssec-keygen -a HMAC-MD5 -b 128 -n USER wsmddns
-a 加密算法MD5 -b 密钥长度为128 -n 指定用户名为wsmddns
b. dnssec-keygen执行完成后在当前目录下会生成密钥对文件,通过cat查看
c. 修改/var/named/chroot/etc/named.conf 增加如下内容:
key wsmddns {
algorithm hmac-md5; 指定加密算法
secret bW0CeuUrGDbysq2WVVLjzg==; 指定密码字符串
};
d. 修改修改/var/named/chroot/etc/named.rfc1912.zones文件,增加如下内容
使用wsmddns作为密钥的客户端提交DDNS请求
e. 在/var/named/chroot/var/named/里分别建立zhx.com.zone 和2.168.192.local 如上面TSIG的配置里的内容。(至少有一条A和PRT记录)
f. 修改/var/named/chroot/var/named/的所用者和拥有组为named
[root@localhwsm var]# chown -R named.named named
g. 修改/etc/dhcpd/conf文件。内容如下:
ddns-update-style interim;
ignore client-updates;
key wsmddns {
algorithm hmac-md5;
secret bW0CeuUrGDbysq2WVVLjzg==;
}
zone zhx.com. {
primary 192.168.2.2;
key wsmddns;
}
zone 2.168.192.in-addr.arpa. {
primary 192.168.2.2;
key wsmddns;
}
subnet 192.168.2.0 netmask 255.255.255.0 {
option domain-name "zhx.com";
option domain-name-servers 192.168.2.2;
option subnet-mask 255.255.255.0;
option time-offset -18000;
range dynamic-bootp 192.168.2.10 192.168.2.100;
default-lease-time 21600;
max-lease-time 43200;
}
h. 重启 dhcpd 、named 服务
二. win客户端配置
将Windows客户端配置为DHCP客户端后,执行ipconfig /renew ,在执行ipconfig /registerdns 或单击“修复”或重启来进行DNS注册
三. Liunx客户端配置
将linux客户端配置为DHCP客户端后,在/etc目录下建立dhclient.conf 文件并加入如下内容后,可通过dhcpclient 或重启来进行DNS注册。
send fqdn.fqdn "client2";
send fqdn.encoded on;
send fqdn.server-update off;
四. 检查DDNS配置是否成功
在配置完成DDNS后,会在/named中生成两个.jnl文件,
当客户端完成DDNS注册后,过一段时间(一般为15分钟)或重启named服务后,在区域配置文件中会生成对应的记录。。。。
本文转自 abc16810 51CTO博客,原文链接:http://blog.51cto.com/abc16810/1032972