❶ Linux下常用的DNS服務軟體是什麼,常用的DNS記錄有
Linux下常用的DNS服務軟體是BIND
以下是一個配置DNS服務的實例:
………………………………………………DNS的配置步驟:……………………………………………………
一、配置靜態IP地址:
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.198.0.5
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
#/etc/init.d/network restart
#ifconfig eth0
二、使用BIND構建DNS伺服器
1、BIND伺服器安裝
RHEL4中包括了BIND服務相關的軟體包
bind-libs-9.2.4-2
提供了實現域名解析功能必備的庫文件 ,系統默認安裝
bind-utils-9.2.4-2
提供了對DNS伺服器的測試工具程序 ,系統默認安裝
bind-9.2.4-2 安裝文件位於第4張安裝光碟中
# rpm -ivh bind-9.2.4-2.i386.rpm
BIND伺服器的服務程序腳本名稱是named,默認沒有啟動,需手動設置。
#rpm -ql bind | grep init.d
/etc/rc.c/init.d/named
#chkconfig --level 35 named on
#chkconfig --list named
三、主域名伺服器的配置
1、在named.conf文件中設置域
全局配置
options {
directory "/var/named";
mp-file "/var/named/data/cache_mp.db";
statistics-file "/var/named/data/named_stats.txt";
};
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
建立正向解析域
zone "." IN { (指定根域)
type hint;
file "named.ca";
};
zone "benet.com" { (指定本地域)
type master;
file "benet.com.zone";
};
建立反向解析域
zone "0.168.192.in-addr.arpa" { (指定反向域)
type master;
file "192.168.0.rev";
};
2、建立正向區域文件 (該文件需要用vi編輯器手動建立在/var/named中,並寫其內容)
#cat /var/named/benet.com.zone
$TTL 86400 (秒)
@ IN SOA benet.com. hostmaster.benet.com. (
42 ; serial (d. adams) (序列號)
3H ; refresh (3小時更新)
15M ; retry (15分鍾重試)
1W ; expiry (1周)
1D ) ; minimum (1天)
@ IN NS ns1.benet.com.
@ IN NS ns2.benet.com.
ns1 IN A 192.168.0.5
ns2 IN A 192.168.0.6
host1 IN A 192.168.0.7
host2 IN A 192.168.0.8
mail IN CNAME host1.benet.com.
www IN CNAME host2.benet.com.
@ IN MX 5 mail.benet.com.
3、建立反向區域文件 (該文件需要用vi編輯器手動建立在/var/named中,並寫其內容)
# cat /var/named/192.168.0.rev
$TTL 86400
@ IN SOA ns1.ltest.com. hostmaster.ltest.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
@ IN NS ns1.ltest.com.
@ IN NS ns2.ltest.com.
2 IN PTR ns1.ltest.com. (PTR可用IP省略方法,1.168.192.in-addr.rapa表192.168.1.2可寫為2)
3 IN PTR ns2.ltest.com.
11 IN PTR host1.ltest.com.
12 IN PTR host2.ltest.com.
4、配置文件和區域文件的測試
A、測試named.conf主配置文件
# named-checkconf (如果不顯示任何信息表示語法正確 )
B、測試區域文件
# named-checkzone benet.com /var/named/benet.com.zone
# named-checkzone 0.168.192.in-addr.arpa /var/named/192.168.0.rev
(named-checkzone命令對正向區域文件和反向區域文件進行檢查語法是否錯誤,第一個參數指定區域名稱,第二個參數指定區域文件名稱,如果語法正確將顯示OK)
5、重啟named服務
#service named restart
四、從域名伺服器 的配置
(它做為主域名伺服器的輔助和備份伺服器,自身不建立區域文件,而是從主域名伺服器中查詢並保存,它可以與主域名伺服器提供相同的域名解析服務,它需要在與主域名伺服器不同的主機中構建)
1、在named.conf文件中設置域
建立正向解析域
zone "benet.com" {
type slave; (type設置為「slave」,表示當前DNS伺服器是該域的從域名伺服器類型 )
file "slaves/benet.com.zone" (從域名伺服器中的區域文件應設置保存在 「slaves」子目錄中,區域文件將從主 域名伺服器中獲取並保存在該目錄中,為了便於管理,盡量使用與主伺服器相 同的區域文件名稱)
masters { 192.168.0.5; }; ( 使用masters設置主域名伺服器的IP地址 )
};
建立反向解析域
zone "0.168.192.in-addr.arpa" {
type slave;
file " slaves/192.168.0.rev";
masters { 192.168.0.5; };
};
2、檢測配置文件和啟動named服務
從域名伺服器只需要檢測配置文件的語法
# named-checkconf
啟動從域名伺服器
# service named start
查看區域文件
從伺服器啟動後將從主域名伺服器中獲得區域文件並保存在指定的目錄中
# ls /var/named/slaves/
192.168.0.rev benet.com.zone
(如果/var/named/slaves/目錄中沒有發現區域文件,說明從域名伺服器和主域名伺服器之間傳輸區域文件不成功,需要排錯。)
五、緩存域名伺服器的配置
(它應保證能夠與互聯網中的其他DNS伺服器進行連接,它的主要作用是提高域名解析速度和節約出口帶寬)
1、安裝caching-nameserver軟體包
(RHEL4系統為配置緩存域名伺服器專門提供了名為「caching-nameserver」的軟體包,該軟體包保存在第1張安裝光碟中,默認沒有安裝。)
# rpm -ivh caching-nameserver-7.3-3.noarch.rpm
(caching-nameserver軟體包安裝時將對BIND伺服器的配置文件named.conf的內容進行更改,原文件中的內容保存在/etc/named.conf.rpmorig中。)
2、named.conf中的全局設置 (其中以//開頭的行是無效行)
options {
directory "/var/named"; (directory用於設置BIND伺服器的工作目錄,即域名區域文件保存的目錄 )
mp-file "/var/named/data/cache_mp.db"; (mp-file用於設置域名緩存文件的保存位置和文件名 )
statistics-file "/var/named/data/named_stats.txt";
};
3、根區域設置
named.conf中的根區域設置
zone "." IN {
type hint; (type設置為hint表示該區域的類型是根區域)
file "named.ca"; (file用於設置區域文件,根區域文件的名稱是「named.ca」 )
};
(named.ca是根區域文件,位於「/var/named/ 」目錄中,named.ca中包含全球DNS根伺服器的地址信息請不要更改)
4、localhost正向解析
(localhost區域的作用是對主機名稱「localhost」和環回地址「127.0.0.1」 進行解析,總是代表本機)
zone "localhost" IN {
type master; ( type設置為master表示區域的類型為主伺服器 )
file "localhost.zone"; (file設置區域文件名的名字 ,localhost.zone在/var/named中,是安裝caching- nameserver時自動安裝的,用cat /var/named/localhost.zone查看內容)
};
5、localhost反向解析
zone "0.0.127.in-addr.arpa" IN {
type master; ( type設置為master表示區域的類型為主伺服器 )
file "named.local"; (file設置區域文件名的名字,named.local在/var/named中,是安裝caching-nameserver時 自動安裝的,用cat /var/named/named.local查看內容)
};
6、緩存域名伺服器在安裝caching-nameserver軟體包後不需要任何其他配置就可以啟動運行,並實現域名查詢和緩存功能,但它必須能夠訪問互聯網。可以使用nslookup命令進行測試。
六、DNS伺服器的測試
1、DNS測試原理
DNS伺服器的主要測試方法
使用nslookup、dig和host等專用工具可以對DNS伺服器進行較全面的測試
nslookup命令在Linux和Windows系統中都默認安裝,是比較常用的測試工具
2、使用nslookup測試DNS伺服器
進入nslookup命令交換環境
# nslookup
>
設置使用指定的DNS伺服器
> server 192.168.0.5
測試localhost主機域名的正向解析
> localhost
測試localhost主機域名的反向解析
> 127.0.0.1
測試互聯網中的域名解析
> www.benet.com
測試benet.com域中的A記錄
> host1.benet.com
測試benet.com域中的PTR記錄
> 192.168.0.7
測試benet.com域中的CNAME記錄
> www.benet.com
測試benet.com域中的NS記錄
> set type=ns (設置域名查詢類型為NS即域名記錄)
> benet.com
測試benet.com域中的MX記錄
> set type=mx (設置域名查詢類型為MX即郵件交換記錄)
> benet.com
設置進行A記錄的測試
> set type=a (設置域名查詢類型為A即地址記錄)
>mail.benet.com
3、使用dig測試DNS伺服器 (dig只運行在liunx平台,是domain information grep的縮寫)
1)#dig --help
dig命令的格式
Usage: dig [@global-server] [domain] [q-type] [q-class] {q-opt}
{global-d-opt} host [@local-server] {local-d-opt}
[ host [@local-server] {local-d-opt} [...]]
Use "dig -h" (or "dig -h | more") for complete list of options
2)dig命令可以比nslookup命令顯示更多的DNS伺服器信息
# dig @192.168.0.5 benet.com (@後是被查詢的DNS伺服器的IP地址,benet.com域名做為命令參數)
; <<>> DiG 9.2.4 <<>> @192.168.0.5 benet.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51201
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;benet.com. IN A
;; AUTHORITY SECTION:
benet.com. 86400 IN SOA ns1.benet.com. hostmaster.benet.com. 42 10800 900 604800 86400
以上dns是以benet.com域為實例講解………………
❷ dns伺服器的主要功能是
DNS伺服器的主要功能是為客戶提供存儲、查詢和搜索其他主機域名及IP地址的服務。
DNS是進行域名和與之相對應的IP地址轉換的伺服器。DNS中保存了一張域名和與之相對應的IP地址的表,以解析消息的域名。
域名是Internet上某一台計算機或計算機組的名稱,用於在數據傳輸時標識計算機的電子方位(有時也指地理位置)。域名虧改是由一串用點分隔的名字組成的,通常包含組織名,而且始銷塵判終包括兩到三個字母的後綴,以指明組織的類型或該域所在的國家或地區。
DNS伺服器缺點:
缺點是上網接入商ISP的緩存會存儲一段時間,只在需要的時候才更新,而更新的頻率沒有什麼標准。有的ISP可能1小時更新一次,有的可能長達一兩天才更新一次。
所以新注冊的域名一般來說解析反倒比較快。因為所有的ISP都沒有緩存,兄察用戶訪問時ISP都是要查詢域名資料庫,得到最新的DNS數據。
而老域名如果更改了DNS記錄,但世界各地的ISP緩存數據卻並不是立即更新的。這樣不同ISP下的不同用戶,有的可以比較快的獲取新的DNS記錄,有的就要等ISP緩存的下一次更新。
❸ 怎麼用bind給伺服器端固定地址
bind函數—綁定地址和埠
在調用bind函數是,可以指定一個埠號,或指定一個IP地址,也可以兩者都指定,還可以都不指定。 伺服器在啟動時捆綁它們的眾所周知埠。如果一個TCP客戶或伺服器未曾調用bind捆綁一個埠,當調用connect或listen時,內核就要為相應的套接字選擇一個臨時埠。