entos5.5 bind快速安裝總結。
一.、Bind 簡介。
Bind是一款開放源碼的DNS服務器軟件,Bind由美國加州大學Berkeley分校開發和維護的,全名爲Berkeley Internet Name Domain它是目前世界上使用最爲廣泛的DNS服務器軟件,支持各種unix平臺和windows平臺。本文將介紹它在Centos5.5中最基本的安 裝和配置。
二.、軟件的相關資源。
官方網站:http://www.bind.com/
源碼軟件包:Bind 是開源的軟件,可以去其官方網站下載
http://www.isc.org/index.pl/sw/bind/幫助文檔:
http://www.isc.org/index.pl/sw/bind/ 有該軟件比較全面的幫助文檔。
FAQ:http://www.isc.org/index.pl/sw/bind/ 回答了該軟件的常見問題。
配置文件樣例:http://www.bind.com/bind.html 一些比較標準的配置文件樣例。
DNS 是計算機域名 (Domain Name System) 的縮寫,它是由解析器和域名服務器組成的。域名服務器是指保存有該網絡中所有主機的域名和對應IP地址,並具有將域名轉換爲IP地址功能的服務器。其中域 名必須對應一個IP地址,而IP地址不一定有域名。域名系統採用類似目錄樹的等級結構。域名服務器爲客戶機/服務器模式中的服務器方,它主要有兩種形式: 主服務器和轉發服務器。將域名映射爲IP地址的過程就稱爲“域名解析”。在Internet上域名與IP地址之間是一對一(或者多對一)的,域名雖然便於 人們記憶,但機器之間只能互相認識IP地址,它們之間的轉換工作稱爲域名解析,域名解析需要由專門的域名解析服務器來完成,DNS就是進行域名解析的服務 器。
DNS 命名用於 Internet 等 TCP/IP 網絡中,通過用戶友好的名稱查找計算機和服務。當用戶在應用程序中輸入 DNS 名稱時,DNS 服務可以將此名稱解析爲與之相關的其他信息,如 IP 地址。因爲,你在上網時輸入的網址,是通過域名解析系統解析找到了相對應的IP地址,這樣才能上網。其實,域名的最終指向是IP。 在IPV4中IP是由32位二進制數組成的,將這32位二進制數分成4組每組8個二進制數,將這8個二進制數轉化成十進制數,就是我們看到的IP地 址,其範圍是在0~255之間。因爲,8個二進制數轉化爲十進制數的最大範圍就是0~255。現在已開始試運行、將來必將代替IPv4的IPV6中,將以 128位二進制數表示一個IP地址。
大家都知道,當我們在上網的時候,通常輸入的是網址,其實這就是一個域名,而我們計算機網絡上的計算機彼此之間只能用IP地址才能相互識別。再如,我們去 一WEB服務器中請求一WEB頁面,我們可以在瀏覽器中輸入網址或者是相應的IP地址,例如我們要上新浪網,我們可以在IE的地址欄中輸入網址,也可輸入 IP地址,但是這樣子的IP地址我們記不住或說是很難記住,所以有了域名的說法,這樣的域名會讓我們容易的記住。 DNS:Domain Name System 域名管理系統 域名是由圓點分開一串單詞或縮寫組成的,每一個域名都對應一個惟一的IP地址,這一命名的方法或這樣管理域名的系統叫做域名管理系統。 申請了DNS後,客戶可以自己爲域名作解析,或增設子域名。客戶申請DNS時,建議客戶一次性申請兩個。
DNS服務器在域名解析過程中的查詢順序爲:本地緩存記錄、區域記錄、轉發域名服務器、根域名服務器。
1.[root@localhost /]# yum -y install bind //如果出問題可以安裝bind-chroot和bind-devel兩個包。
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package bind.i386 30:9.3.6-16.P1.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
bind i386 30:9.3.6-16.P1.el5 base 980 k
Transaction Summary
================================================================================
Install 1 Package(s)
Upgrade 0 Package(s)
Total download size: 980 k
Downloading Packages:
bind-9.3.6-16.P1.el5.i386.rpm | 980 kB 00:04
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : bind 1/1
Installed:
bind.i386 30:9.3.6-16.P1.el5
Complete!
[root@localhost /]# /etc/rc.d/init.d/named start
Locating //etc/named.conf failed:
配置文件必須得按照以下的模板來修改
以前版本里在/etc/下有個named.conf ,AS5裏沒有,換成named.caching-nameserver.conf
和named.rfc1912.zones 這兩個文件了.錯誤找不到/etc/named.conf文件,因爲centos和rhce都是裝好沒有這個文件,接下來怎麼解決這個問題只要安裝一下 named.caching-nameserver.conf是DNS緩衝的配置文件就可以了。
2.[root@localhost /]# yum -y install caching-nameserver//安裝dns緩存服務器文件
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package caching-nameserver.i386 30:9.3.6-16.P1.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
caching-nameserver i386 30:9.3.6-16.P1.el5 base 62 k
Transaction Summary
================================================================================
Install 1 Package(s)
Upgrade 0 Package(s)
Total download size: 62 k
Downloading Packages:
caching-nameserver-9.3.6-16.P1.el5.i386.rpm | 62 kB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : caching-nameserver 1/1
Installed:
caching-nameserver.i386 30:9.3.6-16.P1.el5
Complete!
3.[root@localhost /]# service named start//啓動dns服務
Starting named: [ OK ]
4.拷貝named.conf文件到/etc目錄下內容如下:可以自行修改,也可以用現成的named.caching-nameserver.conf 內容如下:
//caching-nameserver.conf
options {
listen-on port 53 { 192.168.10.134; }; //這個地方要修改可以修改爲any所有
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
forwarders {202.101.172.46;};
// Those options should be used carefully because they disable port
// randomization
query-source port 53;
query-source-v6 port 53;
allow-query { localhost; };//修改爲0.0.0.0允許所有ip訪問
allow-query-cache { localhost; };//0.0.0.0
};
logging {
channel default_debug {http://www.linuxso.com/linuxrumen/2693.html
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { localhost; };//any
match-destinations { localhost; };//修改爲any
recursion yes;
// named.rfc1912.zones:
zone "." IN {
type hint;
file "named.ca";
};
zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.ip6.local";
allow-update { none; };
};
zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};
zone "zh888.com" IN {
type master;
file "zh888.com";
allow-update { none; };
};
zone "10.168.192.in-addr.arpa" IN {
type master;
file "zh888.rev";
allow-update { none; };
};
這個部分是named.conf的文件例子:
// named.conf for Red Hat caching-nameserver
//options設置通用的服務器配置,以及其他選項的默認值
options {
directory "/var/named"; //資源記錄/var/named目錄下,也就是說,bind服務器中的所有dns記錄日誌都集中在此。
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
forwarders { 202.101.172.46; };
forward only;
recursion yes;
};
// a caching only nameserver config
//這部分爲controls類型記錄,其中inet表示利用tcp/ip socket來訪問internet資源,它由指定的ip_addr(ip地址)和ip_port所產生,而此表示可允許本機(localhost)利用rndckey進行訪問。
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
//這部分是zone類型記錄,它是用來定義一個dns區域,以及dns服務器管理區域信息的方法。其中.點表示此區域定義爲(root)根網域的內容,而它是屬於IN(internet)的區域類別(class),同時此區域類型爲hint.
在建立一個區域類型的時候,要注意bind的類型有5種,master,slave,hint,stub和forward等。
master:dns的主要區域,它擁有來自區域信息的正本,可提供授權的的響應。
slave:是次要的區域是一份來自主要區域的複本
stub:區域與次要的很類似,但它只會複製主要區域中的ns記錄,而非所有區域信息。
forward:所謂轉送區域是一種以網域爲基礎來設置的的方法。
hint:爲root域名服務器利用hint區域來指定,在服務器啓動時,它會利用此區域提供的信息來找出root域名服務器,並得到最新的root域名 服務器列表。最後file來指定的區域記錄日誌爲named.ca,其中ca表示緩存的意思,啓動系統文件加入緩存啓動訪問速度。
named.ca文件在/var/named目錄下,也可以到ftp://rs.internic.net/domain/named.root下載最新文件,建議不要自行修改。
zone "." IN {
type hint;
file "named.ca";
};
zone "zh888.com" IN {
type master;
file "zh888.com";
allow-update { none; };
};
zone "10.168.192.in-addr.arpa" IN {
type master;
file "zh888.rev";
allow-update { none; };
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.ip6.local";
allow-update { none; };
};
zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};
include "/etc/rndc.key";
拷貝以上named.conf文件到/etc目錄下,然後重新啓動named服務
[root@zh888 ~]# /etc/rc.d/init.d/named restart
Stopping named: [ OK ]
Starting named: [ OK ]
5查看一下bind狀態:
[root@zh888 ~]# /etc/rc.d/init.d/named status
number of zones: 6
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 0/1000
tcp clients: 0/100
server is up and running
named (pid 3284) is running...
查看一下bind的連接測試
[root@zh888 ~]# telnet localhost 53
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is \'^]\'.
6.讓系統啓動服務chkconfig named on
[root@zh888 named]# chkconfig --list named
named 0:off 1:off 2:on 3:on 4:on 5:on 6:off
7.在/var/named目錄下要建立一個zh888.com的正解文件,內容如下
[root@zh888 named]#vi /var/named/zh888.com
@ IN SOA zh888.com. root.zh888.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns1.zh888.com.
localhost IN A 127.0.0.1
dns IN A 192.168.10.134
proxy IN A 192.168.10.134
zh888 IN A 192.168.10.134
www IN CNAME zh888
ftp IN CNAME zh888
mail IN MX 10 mail.zh888.com
8.建立一個反解區域文件到/var/named目錄下內容如下:
[root@zh888 named]#vi /var/named/zh888.rev
$TTL 86400
@ IN SOA zh888.com. root.zh888.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
@ IN NS zh888.com.
134 IN PTR mail.zh888.com. //這個格式要清楚主機ip地址[ttl時間] IN PTR 主機名稱134 IN PTR ns1.zh888.com就可以了134是我的ip如果 寫錯的話就會提示:** server can\'t find 134.10.168.192.in-addr.arpa.: NXDOMAINhttp://www.linuxso.com/linuxrumen/2693.html
這個問題就搞了我一天時間呢?互聯網上查詢都沒找到答案,我修改了/etc/hosts, /etc/resolv.conf search 參數都沒用。134 IN PTR dns.zh888.com.
134 IN PTR proxy.zh888.com.
9.修改一下權限
chmod 777 and chown named.named zh888.com zh888.rev
10.vi /etc/resolv中設置一下ip地址
vi /etc/resolv.conf
nameserver 192.168.10.134
search zh888.com
11.修改一下hostname
vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=zh888.com
12.修改一下/etc/hosts文件添加以下文件。
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.10.134 zh888.com zh888
13:reboot系統,然後測試一下nslookup
正向解析:
[root@zh888 named]# nslookup -sil
> proxy.zh888.com
Server: 192.168.10.134
Address: 192.168.10.134#53
Name: proxy.zh888.com
Address: 192.168.10.134
>
CNAME資源記錄:
> www.zh888.com
Server: 192.168.10.134
Address: 192.168.10.134#53
www.zh888.com canonical name = zh888.zh888.com.
Name: zh888.zh888.com
Address: 192.168.10.134
>
反向解析:
> 192.168.10.134
Server: 192.168.10.134
Address: 192.168.10.134#53
134.10.168.192.in-addr.arpa name = mail.zh888.com.
134.10.168.192.in-addr.arpa name = proxy.zh888.com.
134.10.168.192.in-addr.arpa name = dns.zh888.com.
>
修改解析器:
> set type=MX
> mail.zh888.com
Server: 192.168.10.134
Address: 192.168.10.134#53
mail.zh888.com mail exchanger = 10 mail.zh888.com.zh888.com.
>
> set type=NS
> zh888.com
Server: 192.168.10.134
Address: 192.168.10.134#53
zh888.com nameserver = zh888.com.
>
> set type=SOA
> zh888.com
Server: 192.168.10.134
Address: 192.168.10.134#53
zh888.com
origin = zh888.com
mail addr = root.zh888.com
serial = 1997022700
refresh = 28800
retry = 14400
expire = 3600000
minimum = 86400
>
總結完了因爲本人花了不少時間在** server can\'t find 134.10.168.192.in-addr.arpa.: NXDOMAIN
這個問題上,還有就是每個字段的解釋,其它zh888.com和zh888.rev兩個字段沒多解釋,其實互聯網上都有詳細的解釋,只要把每段的意思理解了就很容易排錯了。