Linux下使用Bind搭建網域名稱伺服器

來源:互聯網
上載者:User

學校的DNS伺服器是Linux作業系統,綁定DNS的時候發現總有點問題,常常用戶端電腦無法得到正確的解析。於是我就自己研究了下Linux下的綁定網域名稱設定bind軟體。

我本地用的是Ubuntu 10.04,  使用前更新了下bind軟體至最新bind9

bind 使用連接埠號碼53來進行通訊,包括與其它DNS伺服器交換解析資訊,所以此商品不能被其它程式佔用。
bind8 與bind9 的區別(自己翻譯的,提供原文)
除了使用了多線程、程式碼重構,從而提供了更好的穩定性和安全性,還有其它一些區別:

Apart from being multi-threaded, and a complete code rewrite - which should provide better stability and security in the long term, there are other differences

如果在named.conf檔案中有語法錯誤,BIND9會將它寫到記錄檔中並且不再重啟網域名稱伺服器,BIND8會記錄日誌然後服務死掉。

If there is a syntax error in named.conf, BIND9 will log errors and not reload the named server. BIND8 will log errors and the daemon will die!

取得控制權的TSIGs(shared keys)擴充支援,比如“update-policy"可以取得控制從而動態更新資料。

Extensive support of TSIGs (shared keys) for access control, for example, “update-policy” can be used for fine grained access control of dynamic updates.

啟動/停止/重啟 工具等,rndc與bind8的ndc不同-不同的通訊、授權和特性。

The tool for starting/stopping/reloading etc., rndc is different from the v8 ndc - different communications, authentication and features.

地區設定檔的文法更加嚴格(比如TTL行必須存在)

Syntax in zone files is more rigorously checked (e.g. a TTL line must exist)

有關named.conf檔案的設定

bind8的"check-names"和"statistics-interval"這兩項設定沒有被移植到bind9中

v8 options ‘check-names’ and ‘statistics-interval’ are not yet implemented in V9.

"auth-nxdomain" 的預設值是"no",如果你沒有手動設定這一項,bind9會在啟動時產生相應的一條日誌訊息

the default for the option ‘auth-nxdomain’ is now ‘no’, if you don’t set this manually, BIND 9 logs a corresponding message on startup.

根網域名稱伺服器列表,在bind8中的named.root 或 root.hints不需要在BIND9中設定,因為它已經被伺服器預設包含了。

The root server list, often called named.root or root.hints in BIND8 is not necessary in BIND 9, as it is included within the server.

在Ubuntu中安裝bind

sudo apt-get install bind9 dnsutils

配置bind

sudo vi /etc/bind/named.conf.local

修改這個檔案,在裡面添加下面這些內容:

zone "myqdc.com" {
type master;
file "/etc/bind/zones/myqdc.com.db";
};
zone "100.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zones/rev.100.168.192.in-addr.arpa";
};
zone "myqdc.com" {type master;file "/etc/bind/zones/myqdc.com.db";};

zone "100.168.192.in-addr.arpa" {type master;file "/etc/bind/zones/rev.100.168.192.in-addr.arpa";};

其中,myqdc.com改為相應的網域名稱,我本地IP地址是192.168.100.100接著當然需要建立兩個檔案, myqdc.com.db(用來配置解析記錄,比如A,CNAME等), rev.100.168.192.in-addr.arpa(反向解析設定檔)

myqdc.com.db需要放到/etc/bind/zones檔案夾下,內容如下:

myqdc.com. IN SOA ns1.myqdc.com. admin.myqdc.com. (
2007031001

28800

3600

604800

38400

)

myqdc.com. IN NS ns1.myqdc.com.

www IN A 221.215.217.101

* IN A 221.215.217.101

其中,括弧中的內容不要修改。相應的網域名稱和IP地址可以根據實際情況更改。其中最後一行
* IN A 221.215.217.101
配置了一條泛網域名稱解析,經測試沒問題。
接下下:rev.100.168.192.in-addr.arpa 這個檔案,同樣放到zones檔案夾下,內容如下:
@ IN SOA ns1.myqdc.com. admin.myqdc.com. (
2007031001;
28800;
604800;
604800;
86400
)
IN NS ns1.myqdc.com.
100 IN PTR myqdc.com.
最後一行,由於我的IP地址是:192.168.100.100,所以取IP的最後8位:100
接下來試下重啟服務:
service bind9 restart
如果出現connection refuced 的fail資訊,那麼就繼續進行下面步驟:
重建rndc.conf
rndc-confgen > /etc/bind/rndc.conf
然後將rndc.conf下面注釋部分copy到/etc/bind/rndc.key檔案中,把#去掉。
接著在/etc/bind/named.conf檔案最後加入一行:
include "/etc/bind/rndc.key";
接著試下運行named -g  看下有沒有出錯資訊,如果有的話,按照提示修改下設定檔。
最後一步,可以進行測試了:
修改/etc/resolv.conf 檔案,在所有的nameserver 開頭的行之前加入一行:
nameserver 192.168.100.100
IP地址當然就是你搭建的DNS伺服器的地址。
然後再重啟服務:
service bind9 restart
nslookup 一下:
root@www.linuxidc.com-laptop:/etc/bind/zones# nslookup www.linuxidc.com
Server: 192.168.100.100
Address: 192.168.100.100#53
Name: www.linuxidc.com
Address: 221.215.217.101
由於配置的泛解析,所以:
root@www.linuxidc.com-laptop:/etc/bind/zones

# nslookup www.linuxidc.net
Server: 192.168.100.100
Address: 192.168.100.100#53
Name: www.linuxidc.net
Address: 221.215.217.101
用dig 命令查看更詳細的DNS查詢資訊:
root@www.linuxidc.com-laptop:/etc/bind/zones# dig www.linuxidc.com
; <<>> DiG 9.7.0-P1 <<>> www.linuxidc.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40293
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;www.linuxidc.com. IN A
;; ANSWER SECTION:
www.linuxidc.com. 38400 IN A 221.215.217.101
;; AUTHORITY SECTION:
myqdc.com. 38400 IN NS ns1.myqdc.com.
;; ADDITIONAL SECTION:
ns1.myqdc.com. 38400 IN A 221.215.217.101
;; Query time: 0 msec
;; SERVER: 192.168.100.100#53(192.168.100.100)
;; WHEN: Mon Apr  4 11:34:21 2011
;; MSG SIZE  rcvd: 81
好了,到此為止,DNS服務就架設成功了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.