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
<a href="http://blog.51cto.com/attachment/201210/131046658.png" target="_blank"></a>
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
<a href="http://blog.51cto.com/attachment/201210/131057424.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201210/131105886.png" target="_blank"></a>
(www和dns伺服器是在一台主機上。www服務已配好,怎樣配置不在這講)
3.編輯主配置檔案增加紅框裡的内容:
<a href="http://blog.51cto.com/attachment/201210/131121150.png" target="_blank"></a>
4.配置防火牆,這裡用帶有兩塊網卡的linux(内網vm1 eth0 192.168.2.254 外網vm2 eth1 61.130.130.1)來實作。。。
<a href="http://blog.51cto.com/attachment/201210/131306400.png" target="_blank"></a>
5.在内網測試
<a href="http://blog.51cto.com/attachment/201210/131135406.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201210/131324126.png" target="_blank"></a>
可以解析
6.在外網測試
<a href="http://blog.51cto.com/attachment/201210/131333132.png" target="_blank"></a>
不能解析,,這時需要在防火牆上配置規則
[root@localhost ~]# iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to 192.168.2.2
<a href="http://blog.51cto.com/attachment/201210/131341269.png" target="_blank"></a>
解析為不同的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檢視
<a href="http://blog.51cto.com/attachment/201210/131357316.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201210/131413321.png" target="_blank"></a>
③ 修改/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檔案,增加如下内容
<a href="http://blog.51cto.com/attachment/201210/131423929.png" target="_blank"></a>
紅框是指定使用fuzhutransfer中所定義的密鑰的輔助區域才可以完成區域傳輸。
⑤ 。兩個區域檔案内容如下:
<a href="http://blog.51cto.com/attachment/201210/131436921.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201210/131445200.png" target="_blank"></a>
⑥ 重新開機named服務。
2. 輔助區域配置
1) 修改區域全局配置檔案,增加如下内容:
key fuzhutransfer{
algorithm hmac-md5;
secret OoKlnmTHoyf3tiLZ8reIdg==;
server 192.168.2.2 {
keys { fuzhutransfer; };
2) 輔助區域主配置檔案,增加如下内容:
<a href="http://blog.51cto.com/attachment/201210/131502648.png" target="_blank"></a>
3) 重新開機named服務,可以看到主要區域DNS 的日志如下:
<a href="http://blog.51cto.com/attachment/201210/131513741.png" target="_blank"></a>
已經傳給了指定的輔助DNS
<a href="http://blog.51cto.com/attachment/201210/131523866.png" target="_blank"></a>
如果不是指定輔助DNS'會用如下結果:
<a href="http://blog.51cto.com/attachment/201210/131532743.png" target="_blank"></a>
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檢視
<a href="http://blog.51cto.com/attachment/201210/131550410.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201210/131559725.png" target="_blank"></a>
c. 修改/var/named/chroot/etc/named.conf 增加如下内容:
key wsmddns {
algorithm hmac-md5; 指定加密算法
secret bW0CeuUrGDbysq2WVVLjzg==; 指定密碼字元串
d. 修改修改/var/named/chroot/etc/named.rfc1912.zones檔案,增加如下内容
<a href="http://blog.51cto.com/attachment/201210/131610581.png" target="_blank"></a>
使用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;
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檔案,
<a href="http://blog.51cto.com/attachment/201210/131721969.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201210/131728628.png" target="_blank"></a>
當用戶端完成DDNS注冊後,過一段時間(一般為15分鐘)或重新開機named服務後,在區域配置檔案中會生成對應的記錄。。。。
<a href="http://blog.51cto.com/attachment/201210/131745693.png" target="_blank"></a>
本文轉自 abc16810 51CTO部落格,原文連結:http://blog.51cto.com/abc16810/1032972