Linux(CentOS 5.4 Linux) 服務器配置之DNS服務器配置應用
域名系統(DNS)是實現名稱解釋的一種解決方案,也是目前普遍使用的名稱解析方案。在Linux中,DNS服務器是基於BIND軟件並通過配置/etc和/var/named目錄中的相關文件,使用守護進程named,爲網絡中的客戶機提供主機名與IP地址之間的解析服務。
安裝DNS服務器,首先查看是否已經安裝了DNS服務器,使用命令【rpm -qa | gerp bind】(Linux中的DNS服務器是通過BIND軟件來實現的)
BIND系統包含的軟件包括:
Ø Bind-* :DNS名稱服務器軟件。
Ø Bind-devel-* :DNS開發工具,不是必需的。
Ø Bind-utils-*: dig、host一級nslookup等DNS測試工具.
Ø Caching-nameserver-*:緩存DNS服務器的基本配置文件,包括樣本文件/etc/named.Conf和/var/named/localhost.Zone文件。
Ø Systme-config-bind-*:GUI DNS配置工具。
把CentOS 5.4安裝光盤放入光驅中,在終端輸入命令掛載光驅:mount /dev/cdrom /mnt/cdrom
進入光盤的CentOS目錄(cd /mnt/cdrom/centos),在終端安裝如下軟件包。(另外也可以使用yum安裝。)
本文使用yum安裝:yum install bind* 然後yum install caching-nameserver*.這些是必須要安裝的,如果安裝了前者沒有安裝後者,使用service named start命令,則會發生這樣的錯誤:
Locating /var/named/chroot//etc/named.conf failed:
配置主DNS服務器
配置DNS服務器可以通過修改DNS配置文件來實現,DNS服務器的配置文件主要有以下幾個:
/etc/named.conf ...............DNS服務器的全局配置文件
/etc/named.rfc1912.zones ..............DNS服務器的區域配置文件
/var/named/named.ca ............指向根域名服務器的指示文件
/var/named/named.loal ............用於本地迴環地址解析的文件
/var/named/localhost.zone ..............用於本地迴環地址解析的文件
/var/named/domainname.zone .............用戶建立的本地主機區域數據庫文件
DNS主配置文件有兩個,一個全局配置文件,一個是區域配置文件。全局配置文件爲/var/named/chroot/etc/named.caching-nameserver.conf ;區域配置文件爲/var/named/chroot/etc/named.rfc1912.zones。
如果使用yum 安裝,安裝的軟件包主要有:
bind-devel-9.3.6-4.P1.el5_4.2
ypbind-1.19-12.el5
bind-9.3.6-4.P1.el5_4.2
bind-libbind-devel-9.3.6-4.P1.el5_4.2
bind-utils-9.3.6-4.P1.el5_4.2
bind-chroot-9.3.6-4.P1.el5_4.2
bind-libs-9.3.6-4.P1.el5_4.2
bind-sdb-9.3.6-4.P1.el5_4.2
caching-nameserver-9.3.6-4.P1.el5_4.2
主配置文件named.conf的配置
首先進入/var/named/chroot/etc/目錄,主配置文件named.Conf就在這個目錄下進行配置。
由於安裝了以上的軟件包,這個目錄下就默認會生成一個named.conf文件,但這個named.conf文件只是個解釋文檔,所以我們要通過以下命令來把named.conf文件的模板拷貝一份。命令如下:
# cp -p named.caching-nameserver.conf named.conf
Named.conf文件的的修改如下(紅色爲需要修改的地方):
options {
listen-on port 53 { 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";
// Those options should be used carefully because they disable port
// randomization
// query-source port 53;
// query-source-v6 port 53;
allow-query { any; };
allow-query-cache { localhost; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { any; };
match-destinations { any; };
recursion yes;
include "/etc/named.rfc1912.zones";
};
在此目錄下區域配置文件(named.rfc1912.zones)添加如下內容(根據自身的情況):
zone "guoguang.com" {
type master;
file "guoguang.com";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "192.168.1.rev";
};
配置正反解析文件
正反解文件都在相同目錄下,由於安裝了chroot包後,所以配置正反解文件要到/var/named/chroot/var/named/目錄下,而且在此目錄下也有正反解的模板文件。正向解析文件的模板是:localdomain.zone;反向解析文件的模板是:named.local。
首先進入/var/named/chroot/var/named/目錄下,使用命令分別複製正反向的模板文件。
#cp -p localdomain.zone guoguang.com
#cp -p named.local 192.168.1.rev
使用命令是不要忘記加參數P,然後分別編輯正向解析文件(guoguang.com)和反向解析文件(192.168.1.rev),具體如下:
正向解析配置文件(guoguang.com):
$TTL 86400
@ IN SOA localhost root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS localhost
localhost IN A 127.0.0.1
www IN A 192.168.1.2
mail IN A 192.168.1.2
ftp IN CNAME www
@ IN MX 10 mail
反向解析配置文件(192.168.1.rev):
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
2 IN PTR www.guoguang.com.
2 IN PTR mail.guoguang.com.
配置DNS客戶機
如果是Linux客戶機,通過修改配置文件來設置,也可用圖形界面設置,使用命令的配置文件設置如下:打開/etc/resolv.conf文件,在文件中加入如下命令:
Nameserver 192.168.1.2
如果是windows客戶機,在【Internet協議(TCP/IP)】複選框,單擊【屬性】按鈕,在【Internet協議(TCP/IP)】屬性對話框中設置DNS服務器的地址即可。
DNS域名解析
使用命令nslookup測試。
在Linux下的測試結果:
[root@localhost ~]# nslookup
> 192.168.1.2
Server: 192.168.1.2
Address: 192.168.1.2#53
2.1.168.192.in-addr.arpa name = www.guoguang.com.
2.1.168.192.in-addr.arpa name = mail.guoguang.com.
> www.guoguang.com
Server: 192.168.1.2
Address: 192.168.1.2#53
Name: www.guoguang.com
Address: 192.168.1.2
> mail.guoguang.com
Server: 192.168.1.2
Address: 192.168.1.2#53
Name: mail.guoguang.com
Address: 192.168.1.2
Windows客戶機下測試:
另外,在Linux下還可以使用host命令測試:
[root@localhost ~]# host 192.168.1.2
2.1.168.192.in-addr.arpa domain name pointer www.guoguang.com.
2.1.168.192.in-addr.arpa domain name pointer mail.guoguang.com.
[root@localhost ~]# host www.guoguang.com
www.guoguang.com has address 192.168.1.2
[root@localhost ~]# host mail.guoguang.com
mail.guoguang.com has address 192.168.1.2
[root@localhost ~]#
如果在本機(DNS服務器)上可以測試DNS服務器正常運行,在客戶機上卻不可以,應該是服務器的防火牆沒有關閉。
附表 常見的Bind配置語句和選項
語句
|
描述
|
/*註釋*/
|
C語言風格的Bind註釋
|
//註釋
|
C++語法風格的Bind註釋
|
#註釋
|
UNIX shell和perl系統風格的Bind註釋
|
Acl
|
定義IP地址匹配的列表
|
Include
|
包含一個文件
|
Key
|
指明用於識別和授權的密鑰信息
|
Logging
|
指明服務器日誌記錄的內容和日誌信息的來源
|
Options
|
全局服務器的配置選項和其他語句的默認值
|
Control
|
聲明mdc軟件工具使用的控制通道
|
Server
|
設置某個服務器的配置參數
|
Trusted-keys
|
定義預先配置到服務器中,並且信任的DNSSEC密鑰
|
zone
|
定義一個區域
|
type
|
指明一個區域類型
|
file
|
指明一個區域文件
|
directory
|
指明區域文件的目錄
|
forwarders
|
列出主機請求將要被轉發到的DNS服務器
|
master
|
列出作爲從服務器使用DSN主服務器主機
|
Allow-transfer
|
指明允許那臺接收區域轉達的請求
|
Allow-query
|
指明允許那他主機提出詢問
|
modify
|
當主區域數據需要改變和更新時,允許主服務器通知從服務器
|
本文出自 “花開不敗” 博客,請務必保留此出處http://homechen.blog.51cto.com/1519170/303982