您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何理解Fedora DNS服務器客戶端,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
DNS有很多值得學習的地方,這里我們主要介紹DNS服務器,包括介紹DNS服務器啟動等方面。Fedora Core Linux計劃整合成新的Fedora Project。網絡中為了區別各個主機,必須為每臺主機分配一個惟一的地址,這個地址即稱為“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 定義預先配置到服務器中,并且信任的DNS SEC密鑰
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.arpaname = www.jw.com.
6.1.168.192.in-addr.arpaname = bbs.jw.com.
6.1.168.192.in-addr.arpaname = blog.jw.com.
6.1.168.192.in-addr.arpaname = 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
關閉DNS服務器服務
[root@localhost ~]# /etc/rc.d/init.d/named stop 停止 named:
關于如何理解Fedora DNS服務器客戶端就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。