Fedora8中DNS的配置

←手機掃碼閱讀     火星人 @ 2014-03-22 , reply:0

網路中為了區別各個主機,必須為每台主機分配一個惟一的地址,這個地址即稱為「IP地址」。但這些數字難以記憶,所以就採用「域名」的方式來取代這些數字了。 當某台主機要與其他主機通信時,就可以利用主機名稱向dns伺服器查詢該主機的IP地址。整個dns域名系統由以下4個部分組成
1.dns域名空間
2.資源記錄
3.dns伺服器
4.dns客戶端
Linux下架設dns伺服器通常是使用Bind程序來實現的。Bind是Berkeley Internet Name Domain Service的簡寫,它是一款實現dns伺服器的開放源碼軟體。Bind原本是美國DARPA資助伯克里大學(Berkeley)開設的一個研究生課題,後來經過多年的變化發展,已經成為世界上使用最為廣泛的dns伺服器軟體,目前Internet上絕大多數的dns伺服器有都是用Bind來架設的
dns伺服器種類:
1.Master Server 主伺服器
2.Slave Server 輔助伺服器/從伺服器
3.caching only Server 緩存伺服器
4.Forwarder Server 轉發伺服器
5.Stealth Server 秘密伺服器
***********************************************************
dns BIND區域類型:
***************
類型 描述
master 主dns區域
slave 從dns區域,由主dns區域控制
stub 與從區域類似,但只保存dns伺服器的名字
forward 將任何詢問請求轉發給其他伺服器
hint 根dnsInternet伺服器集
**********************************************************
常見的BIND配置語句和選項:
*********************
語句 描述
/*註釋*/ C語言風格的BIND註釋
//註釋 C++語法風格的BIND註釋
#註釋 Unix shell和Perl系統風格的BIND註釋
Acl 定義IP地址匹配列表
Include 包含一個文件
Key 指明用於識別和授權的密鑰信息
Logging 指名伺服器日誌記錄的內容和日誌信息的來源
Options 全局伺服器的配置選項和其他語句的默認值
Control 聲明ndc軟體工具使用的控制通道
Server 設置某個伺服器的配置參數
trusted-keys 定義預先配置到伺服器中,並且信任的dnsSEC密鑰
zone 定義一個區域
type 指明一個區域類型
file 指明一個區域文件
directory 指明區域文件目錄
forwarders 列出主機請求將要被轉發的dns伺服器
masters 列出做為從伺服器使用的dns主伺服器主機
allow-transfer 指明允許那台主機接受區域傳送的請求
allow-query 指明允許那台主機提出詢問
motify 當主區域數據允許改變和更新時,允許主伺服器通知從伺服器
*********************************************************
資源記錄類型:
**************
類型 描述
A 主機地址,映射主機名字到IP
NS 本域授權名字伺服器
CNAME 規範的名字,用來註釋主機的別名
SOA 授權開始,在域文件中開始dns條目,為域和其他特徵(像點和序號)指定名字伺服器
WKS 已知的服務描述
PTR 指針記錄,執行逆向域名訪問,映射IP地址到主機名
RP 文本字元串,包含有關主機的接點信息
HINFO 主機信息
MINFO 電子信箱或郵件列表信息
MX 郵件交換器,傳送到域郵件伺服器的遠程站點
TXT 文本字元串,通常是主機信息
*********************************************************
一、 安裝
[root@localhost ~]# rpm -q bind
[root@localhost /]# cd /media/Fedora\ 8\ i386\ DVD/Packages/
[root@localhost Packages]# find . -name "bind*"
bind-9.5.0-16.a6.fc8.i386.rpm
bind-chroot-9.5.0-16.a6.fc8.i386.rpm
bind-libs-9.5.0-16.a6.fc8.i386.rpm
bind-utils-9.5.0-16.a6.fc8.i386.rpm
BIND程序的虛擬目錄是/var/named/chroot/
如:/etc/named.conf其實就是 /var/named/chroot/etc/named.conf
如:/var/named/其真正的路徑是/var/named/chroot/ var/named/
[root@localhost Packages]# rpm -ivh bind-libs-9.5.0-16.a6.fc8.i386.rpm
warning: bind-libs-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA sigNature: NOKEY, key ID 4f2a6fd2
Preparing... ########################################### [100%]
package bind-libs-9.5.0-16.a6.fc8 is already installed
[root@localhost Packages]# rpm -ivh util-linux-ng-2.13-3.fc8.i386.rpm
warning: util-linux-ng-2.13-3.fc8.i386.rpm: Header V3 DSA sigNature: NOKEY, key ID 4f2a6fd2
Preparing... ########################################### [100%]
package util-linux-ng-2.13-3.fc8 is already installed
[root@localhost Packages]# rpm -ivh bind-9.5.0-16.a6.fc8.i386.rpm
warning: bind-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA sigNature: NOKEY, key ID 4f2a6fd2
error: Failed dependencies:
libmysqlclient.so.15 is needed by bind-9.5.0-16.a6.fc8.i386
libmysqlclient.so.15(libmysqlclient_15) is needed by bind-9.5.0-16.a6.fc8.i386
libodbc.so.1 is needed by bind-9.5.0-16.a6.fc8.i386
libpq.so.5 is needed by bind-9.5.0-16.a6.fc8.i386
mysql is needed by bind-9.5.0-16.a6.fc8.i386
postgresql is needed by bind-9.5.0-16.a6.fc8.i386
unixODBC is needed by bind-9.5.0-16.a6.fc8.i386
[root@localhost Packages]# rpm -ivh mysql-libs-5.0.45-4.fc8.i386.rpm
warning: mysql-libs-5.0.45-4.fc8.i386.rpm: Header V3 DSA sigNature: NOKEY, key ID 4f2a6fd2
Preparing... ########################################

### [100%]
1:mysql-libs ########################################### [100%]
[root@localhost Packages]# rpm -ivh bind-9.5.0-16.a6.fc8.i386.rpm
warning: bind-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA sigNature: NOKEY, key ID 4f2a6fd2
error: Failed dependencies:
libodbc.so.1 is needed by bind-9.5.0-16.a6.fc8.i386
libpq.so.5 is needed by bind-9.5.0-16.a6.fc8.i386
mysql is needed by bind-9.5.0-16.a6.fc8.i386
postgresql is needed by bind-9.5.0-16.a6.fc8.i386
unixODBC is needed by bind-9.5.0-16.a6.fc8.i386
[root@localhost Tuxtools]# rpm -ivh unixODBC-2.2.12-5.fc8.i386.rpm
warning: unixODBC-2.2.12-5.fc8.i386.rpm: Header V3 DSA sigNature: NOKEY, key ID 4f2a6fd2
Preparing... ########################################### [100%]
1:unixODBC ########################################### [100%]
[root@localhost Packages]# rpm -ivh bind-9.5.0-16.a6.fc8.i386.rpm
warning: bind-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA sigNature: NOKEY, key ID 4f2a6fd2
error: Failed dependencies:
libpq.so.5 is needed by bind-9.5.0-16.a6.fc8.i386
mysql is needed by bind-9.5.0-16.a6.fc8.i386
postgresql is needed by bind-9.5.0-16.a6.fc8.i386
[root@localhost Tuxtools]# rpm -ivh postgresql-libs-8.2.7-1.fc8.i386.rpm
warning: postgresql-libs-8.2.7-1.fc8.i386.rpm: Header V3 DSA sigNature: NOKEY, key ID 4f2a6fd2
Preparing... ########################################### [100%]
1:postgresql-libs ########################################### [100%]
[root@localhost Packages]# rpm -ivh bind-9.5.0-16.a6.fc8.i386.rpm
warning: bind-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA sigNature: NOKEY, key ID 4f2a6fd2
error: Failed dependencies:
mysql is needed by bind-9.5.0-16.a6.fc8.i386
postgresql is needed by bind-9.5.0-16.a6.fc8.i386
[root@localhost Tuxtools]# rpm -ivh postgresql-8.2.7-1.fc8.i386.rpm
warning: postgresql-8.2.7-1.fc8.i386.rpm: Header V3 DSA sigNature: NOKEY, key ID 4f2a6fd2
Preparing... ########################################### [100%]
1:postgresql ########################################### [100%]
[root@localhost Packages]# rpm -ivh bind-9.5.0-16.a6.fc8.i386.rpm
warning: bind-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA sigNature: NOKEY, key ID 4f2a6fd2
error: Failed dependencies:
mysql is needed by bind-9.5.0-16.a6.fc8.i386
[root@localhost Packages]# rpm -ivh mysql-5.0.45-4.fc8.i386.rpm
warning: mysql-5.0.45-4.fc8.i386.rpm: Header V3 DSA sigNature: NOKEY, key ID 4f2a6fd2
Preparing... ########################################### [100%]
1:mysql ########################################### [100%]
[root@localhost Packages]# rpm -ivh bind-9.5.0-16.a6.fc8.i386.rpm
warning: bind-9.5.0-16.a6.fc8.i386.rpm: Header V3 DSA sigNature: NOKEY, key ID 4f2a6fd2
Preparing... ########################################### [100%]
1:bind ########################################### [100%]
[root@localhost ~]# rpm -q bind
bind-9.5.0-16.a6.fc8
二、 安裝完畢后啟動dns伺服器並測試迴環
[root@localhost etc]# /etc/rc.d/init.d/named start
啟動 named: [確定]
[root@localhost etc]# nslookup
> localhost
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: localhost
Address: 127.0.0.1
> 127.0.0.1
Server: 127.0.0.1
Address: 127.0.0.1#53
1.0.0.127.in-addr.arpa name = localhost.
> exit
[root@localhost etc]# /etc/rc.d/init.d/named stop
停止 named: [確定]
三、 修改網路配置腳本文件(/etc/sysconfig/network-scripts/ifcfg-eth0):
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
修改後
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:65:21:05
BROADcaST=192.168.1.255
IPADDR=192.168.1.6
NETMASK=255.255.255.0
NETWORK=192.168.1.1
ONBOOT=yes
四、 修改本機域名伺服器IP地址(/etc/resolv.conf):
domain jw.com
nameserver 192.168.1.6
演示文檔/usr/share/doc/bind-9.5.0/sample
[root@localhost etc]# cp named.conf named.conf.old
修改named.conf文件(/etc/named.conf):
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
Fedora 8中,默認僅僅在迴環地址127.0.0.1和::1(IPV6的迴環地址)上打開53埠,如果希望在所有地址上都打開53埠,則應該修改成:
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
allow-query { localhost; }


;
Fedora 8中的dns伺服器默認只允許127.0.0.1這個客戶端(即本機)發起查詢,一般我們需要允許所有人查詢,則因該修改成:
allow-query { any; };
五、 設置主區域(/etc/named.conf):
為了配置的方便和減少出錯我們從系統(127.0.0.1)迴環/etc/named.rfc1912.zones文件複製到named.conf文件並修改,將以下從named.rfc1912.zones文件複製
zone "localhost" IN {
type master; 註:type和file是兩個必選項,type項用於指明區域類型(master,slave,stub,forward,hint)
file "named.localhost"; 註:用於指明區域文件的名字
allow-update { none; }; 註:不允許區域複製,
};
zone "1.0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
allow-update { none; };
};
修改成
zone "jw.com" IN {
type master;
file "jw.com.zone";
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "1.168.192.arpa";
allow-update { none; };
};
六、 建立區域文件在(/var/named):
[root@localhost ~]# cd /var/named/
為了配置方便和減少出錯我們複製系統(127.0.0.1)迴環文件(正向區域文件/var/named/named.localhost擬向區域文件/var/named/named.loopback)
[root@localhost named]# cp named.localhost jw.com.zone
[root@localhost named]# cp named.loopback 1.168.192.arpa
jw.com.zone原文件內容
$TTL 1D
@ IN SOA @ rname.invalid. ( 註:授權開始,指定名字伺服器
0 ; serial添加修改時相應的序列號
1D ; refresh是SOA信息的刷新時間間隔
1H ; retry是與授權伺服器聯繫的頻率
1W ; expire是從伺服器保存有關區域信息,而不更新它的時間間隔
3H ) ; minimum是區域中記錄存活的時間
NS @ 註:本域授權名字伺服器
A 127.0.0.1 註:主機地址,映射主機名字到IP地址
AAAA ::1
jw.com.zone修改後的文件內容
$TTL 1D
jw.com. IN SOA dns.jw.com. admin.jw.com. (
2008041201 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
jw.com. IN NS dns.jw.com.
dns.jw.com. IN A 192.168.1.6
www.jw.com. IN A 192.168.1.6
bbs.jw.com. IN A 192.168.1.6
blog.jw.com. IN A 192.168.1.6
mail.jw.com. IN A 192.168.1.6
jw.com. IN MX 10 mail.jw.com.
aaa.jw.com IN CNAME www.jw.com.
1.168.192.arpa原文件內容
$TTL 1D
@ IN SOA @ rname.invalid. (
0; serial添加修改時相應的序列號
1D; refresh是SOA信息的刷新時間間隔
1H; retry是與授權伺服器聯繫的頻率
1W; expire是從伺服器保存有關區域信息,


而不更新它的時間間隔
3H ); minimum是區域中記錄存活的時間
NS @
PTR localhost. 註:指針記錄,執行逆向域名訪問,映射IP地址到主機名
1.168.192.arpa修改後的文件內容
$TTL 1D
1.168.192.in-addr.arpa. IN SOA dns.jw.com. admin.jw.com. (
2008041201 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
1.168.192.in-addr.arpa. IN NS dns.jw.com.
6 IN PTR dns.jw.com.
6 IN PTR www.jw.com.
6 IN PTR bbs.jw.com.
6 IN PTR blog.jw.com.
6 IN PTR mail.jw.com.
七、 修改文件所屬組:
[root@localhost named]# chgrp named jw.com.zone
[root@localhost named]# chgrp named 1.168.192.arpa
[root@localhost ~]# /etc/rc.d/init.d/named start
啟動 named: [確定]
八、 測試
[root@localhost ~]# nslookup
> localhost
Server: 192.168.1.6
Address: 192.168.1.6#53
Name: localhost
Address: 127.0.0.1
> 127.0.0.1
Server: 192.168.1.6
Address: 192.168.1.6#53
1.0.0.127.in-addr.arpa name = localhost.
> www.jw.com 註:測試主機地址A資源記錄
Server: 192.168.1.6
Address: 192.168.1.6#53
Name: www.jw.com
Address: 192.168.1.6
> dns.jw.com
Server: 192.168.1.6
Address: 192.168.1.6#53
Name: dns.jw.com
Address: 192.168.1.6
> 192.168.1.6 註:測試反向解析指針PTR資源記錄
Server: 192.168.1.6
Address: 192.168.1.6#53
6.1.168.192.in-addr.arpa name = www.jw.com.
6.1.168.192.in-addr.arpa name = bbs.jw.com.
6.1.168.192.in-addr.arpa name = blog.jw.com.
6.1.168.192.in-addr.arpa name = dns.jw.com.
> set type=ns 註:測試名稱伺服器NS資源記錄
> jw.com
Server: 192.168.1.6
Address: 192.168.1.6#53
jw.com nameserver = dns.jw.com.
> set type=mx 註:測試郵件交換器MX資源記錄
> jw.com
Server: 192.168.1.6
Address: 192.168.1.6#53
jw.com mail exchanger = 10 mail.jw.com.
> set type=soa 註:測試起始授權機構SOA資源記錄
> jw.com
Server: 192.168.1.6
Address: 192.168.1.6#53
jw.com
origin = dns.jw.com
mail addr = admin.jw.com
serial = 2008041201
refresh = 86400
retry = 3600
expire = 604800
minimum = 10800
> set type=cname 註:測試別名CNAME資源記錄
> aaa.jw.com
Server: 192.168.1.6
Address: 192.168.1.6#53
aaa.jw.com.jw.com canonical name = www.jw.com.
> exit
九、 關閉服務
[root@localhost ~]# /etc/rc.d/init.d/named stop
停止 named: [確定]




[火星人 ] Fedora8中DNS的配置已經有518次圍觀

http://coctec.com/docs/linux/show-post-101429.html