ubuntu搭建dns伺服器
阿新 • • 發佈:2019-02-02
因為工作需要,需在區域網內搭建一臺dns伺服器。確實遇到一些問題,也有一些好的文章,作為記錄。
1.安裝:
sudo apt-get update
sudo apt-get install bind9 bind9utils bind9-doc
2.修改/etc/bind/named.conf.local檔案
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
//domain -> ip
zone "test.com" in {
type master;
file "/var/cache/bind/db.test.com";
};
//ip -> domain
zone "0.168.192.in-addr.arpa" in {
type master;
file "/var/cache/bind/db.0.168.192";
};
這裡是配置一個 主dns 伺服器,所以配置為master,如果需要配置備份伺服器,配置為slave。
⚠️配置檔案中的兩個檔案,一個域名到ip的解析,一個是ip到域名的解析。
3.配置域名到IP解析檔案:/var/cache/bind/db.test.com
;
;BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA test.com. root.test.com. (
2 ;Serial
604800 ;Refresh
86400 ;Retry
2419200 ;Expire
604800 ) ;Negative Cache TTL
;
@ IN NS ns.test.com.
@ IN A 192.168.0.191
ns IN A 192.168.0.191
test01 IN A 192.168.0.191
test02 IN A 192.168.0.192
test10 IN A 192.168.1.100
test10 IN A 192.168.1.101
test10 IN A 192.168.1.102
⚠️ 除了“root.test.com.”前後是空格之外,其它均為tab⚠️
上圖中配置了一個域名對應多個ip 的情況,cname的配置不詳述
4.修改IP到域名解析的檔案:/var/cache/bind/db.0.168.192
$TTL 604800
@ IN SOA test.com. root.test.com. (
2 ;Serial Number
604800 ;Refresh
86400 ;Retry
2419200 ;Expire
86400 ); ;Minimum
@ IN NS test.com.
191 IN PTR ns.test.com.
191 IN PTR test.test.com.
191 IN PTR test01.test.com.
192 IN PTR test02.test.com.
⚠️ 注意域名後面的”.”⚠️
5.在 /etc/bind/named.conf.option中做些檔案日誌位置指向
//dump-file "/var/cache/bind/cache_dump.db";
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
dump-file "/var/cache/bind/cache_dump.db";
statistics-file "/var/cache/bind/named.stats";
managed-keys-directory "/etc/bind";
// forwarders {
// 0.0.0.0;
// };
allow-query { any; };
⚠️這一步是參考別的文件填寫的,具體用處暫時說不上來,哈哈
6.確認本機dns nameserver 已經設定
檔案路徑:/etc/resolv.conf
我的機子好像預設有nameserver 127.0.0.1
如果沒有配置的話,解析域名會失敗,關注。
7.重啟bind9服務
sudo service bind9 restart
8.測試 使用host 或者nslookup
$ host test01.test.com
$ nslookup
>test01.test.com
Server: 192.168.0.191
Address: 192.168.0.191#53
Name: test01.test.com
Address: 192.168.0.191
yeah!測試通過!
如果出現問題,建議多看日誌,在搭建的時候第一次重啟,服務沒有啟動,看日誌解決的,後來又一次,修改了db.test.com,重啟之後,發包使用wireshark 抓包,發現“server failure”再檢視日誌,發現原來IP 地址的格式有問題,超過了255汗。。。總之出現問題多看日誌。
tail -20 /var/log/syslog