鳥哥的私房菜 http://linux.vbird.org/linux_server/0350dns.php#DNS_Zones
對了,除了鳥哥,還有個地方可以去看看:TWNIC的dns教學計畫 http://dns-learning.twnic.net.tw/
以下整理內容僅獻給健忘症的自己~
2010.10.19後記:剛好學校的dns server掛掉,結果上網google關鍵字centos dns,赫然發現自己很久以前寫下的那篇居然比鳥哥還前面!真是太神奇了! 所以,也把那篇連結放進來這裡囉,呵呵! http://blog.xuite.net/zoro00000/blog/20712222
還有還有,這篇寫得真好! http://blog.weithenn.org/2009/04/centosbind9-domain-nameip.html
----------------------------------------------------------1.
預設環境
----------------------------------------------------------------------
以下整理內容僅獻給健忘症的自己~
2010.10.19後記:剛好學校的dns server掛掉,結果上網google關鍵字centos dns,赫然發現自己很久以前寫下的那篇居然比鳥哥還前面!真是太神奇了! 所以,也把那篇連結放進來這裡囉,呵呵! http://blog.xuite.net/zoro00000/blog/20712222
還有還有,這篇寫得真好! http://blog.weithenn.org/2009/04/centosbind9-domain-nameip.html
----------------------------------------------------------1.
預設環境
----------------------------------------------------------------------
確定電腦能上網了後,如果是要弄內部虛擬機器互連之類的,記得先進入/etc/resolv.conf 修改nameserver的IP變成你準備設置Dns主機的位置喔!這個檔案一般來說剛把主機設定好就會順帶寫好,如果忘記了就自己快點加上吧~
vi /etc/resolv.conf
nameserver 163.19.1.1
nameserver 168.95.1.1
domain jges.edu.tw
search jges.edu.tw
nameserver 168.95.1.1
domain jges.edu.tw
search jges.edu.tw
簡單說明一下:
nameserver就是上層單位的Dns位置,最多三個,從上而下進行逐層的搜尋,都找不到就不能dns啦~要設對才能上網喔!
domain則是當輸入的名稱例如www無法被解析時,自動會被加入後面字串再嘗試解析,也就是在這邊會變成www.jges.edu.tw
search的功能基本上和domain相似,不過domain是本地端有優先權,其他想自動加入的就都可以掛在search底下發揮囉.
-----------------------------------------------------------------------------------------------------------------------------------
還有還有,像ubuntu之類沒有預設開啟DNS的機器上記得要先輸入service bind9 start開啟bind的功能啦~(bind後的數字自己看看版本吧,建議使用Bind9,bind的維護網站:http://www.isc.org/software/bind )
1.設定檔傳統上是/etc/named.conf ,CentOS現在為了安全性放在/var/named/chroot
2.一般來說, CentOS 的預設目錄是這樣的:
* /var/named/chroot/etc/named.conf :這就是我們的設定檔啦!
* /var/named/chroot/etc/named.conf :這就是我們的設定檔啦!
* /etc/named.conf :這也是我們的設定檔啦!
* /etc/sysconfig/named :是否啟動 chroot 及額外的參數,就由這個檔案控制;
* /var/named/ :資料庫檔案預設放置在這個目錄
* /var/run/named :named 這支程式執行時預設放置 pid-file 在此目錄內。
順帶一提,ubuntu底下的檔案都是放在/etc/bind喔~
順帶一提,ubuntu底下的檔案都是放在/etc/bind喔~
3. DNS 伺服器的架設需要上層 DNS 的授權才可以成為合法的 DNS 伺服器。
4. named 是否啟動成功務必要查閱 /var/log/messages 內的資訊!
一個完整的DNS設定案例內容需包含六個檔案,例如dns1位於163.19.1.1的整個class c領域jges.edu.tw:
- named.conf :設定檔
- jges.fwd :jges.edu.tw 的正解
- jges.rev :163.19.1.0/24 的反解
- named.root :root (.) 的資料庫
- localhost.fwd :localhost 的正解
- localhost.rev :127.0.0.1/24 的反解
可對應的主機名稱可能有www.jges、dns.jges、www1.jges、www2.jges、server.jges、ftp.jges、ftp2.jges、...
底下預設幾台主機來對應:
163.19.1.1 163.19.1.2 dns1和dns2
163.19.1.1 163.19.1.2 dns1和dns2
163.19.1.3 163.19.1.4 www.jges dns.jges linux.jges
163.19.1.30 mail
163.19.1.31 imap(第二台mail主機)
163.19.1.50 dept1.jges.edu.tw網域的第一台dns
163.19.1.51 dept1.jges.edu.tw網域的第二台dns
163.19.1.30 mail
163.19.1.31 imap(第二台mail主機)
163.19.1.50 dept1.jges.edu.tw網域的第一台dns
163.19.1.51 dept1.jges.edu.tw網域的第二台dns
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Bind這個DNS程式的設定檔named.conf 主要的作用在於定義
named的功能項目
內容可包含4個部分,分別為:
*options
*關於 .(root) 的內容
*關於 localhost 的正反解
*關於其他 domain 的正反解
然後,在named.conf當中,可設定的伺服器型態有5種: (也就是等一下會看到的type)
master: 主要伺服器,在網域中負責名稱解析。
slave: 避免master發生故障時影響網路上的名稱解析工作,可以安裝其他的DNS伺服器,並會定期複製master中的資料。
stub: 與slave類似,但只會複製master的NS紀錄,而非所有區域(zone)資訊。
hint: 表示為root伺服器。
forward: 可將來自用戶端的名稱解析要求代為轉送至其他伺服器。 (本文未提,流量大時比較好用喔!)
Bind這個DNS程式的設定檔named.conf 主要的作用在於定義
named的功能項目
內容可包含4個部分,分別為:
*options
*關於 .(root) 的內容
*關於 localhost 的正反解
*關於其他 domain 的正反解
然後,在named.conf當中,可設定的伺服器型態有5種: (也就是等一下會看到的type)
master: 主要伺服器,在網域中負責名稱解析。
slave: 避免master發生故障時影響網路上的名稱解析工作,可以安裝其他的DNS伺服器,並會定期複製master中的資料。
stub: 與slave類似,但只會複製master的NS紀錄,而非所有區域(zone)資訊。
hint: 表示為root伺服器。
forward: 可將來自用戶端的名稱解析要求代為轉送至其他伺服器。 (本文未提,流量大時比較好用喔!)
vi /var/named/chroot/named.conf
(這個檔案中註解寫法是//)(;代表到此為止,每行都要加喔!)
(這個檔案中註解寫法是//)(;代表到此為止,每行都要加喔!)
options {
directory "/var/named"; //指定Server中有關的zone file的設定檔儲存路徑
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
pid-file "/var/run/named/named.pid"; //代表dns服務的pid名稱,通常用預設
forwarders { 163.19.1.1;168.95.1.1; };
allow-query { any; }; // 是否允許被查詢?當然要可以被查詢;
allow-transfer { none; }; // 一定要寫,定義哪些IP可與此DNS做AXFR,是否允許傳送 zone ,預設為none,不寫就是被看光啦~
};
include "/etc/rndc.key"; // 關於 DNS 伺服器的一些加密資料,看不懂就先忽略!
// 關於 root (.) 的設定喔:
zone "." {
type hint; // 特殊的類別!專給 root (.) 用的,表示如果沒有資料就可以到根伺服器查詢
file "named.root"; // 就是檔名的定義啦!
};
// 關於本機 localhost 的正反解
zone "localhost" {
type master;
file "localhost.fwd";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "localhost.rev";
};
// 這裡規範出我們的 jges.edu.tw 領域名正反解,in-addr.arpa是固定的反解格式,不可改
zone "jges.edu.tw" {
type master;
file "jges.fwd";
allow-transfer {163.19.1.2/32;}; //可加可不加,看有沒有slave的需求.
allow-transfer {163.19.1.2/32;}; //可加可不加,看有沒有slave的需求.
};
zone "1.19.163.in-addr.arpa" {
type master;
file "jges.rev"; allow-transfer {163.19.1.2/32;};
};
zone "jges.edu.tw" { //這串字只是為了做slave的例子才加入的,請寫入在163.19.1.2這第二台dns上
type slave; masters { 163.19.1.1; };
file "slave.jges.fwd"; //這邊是指slave這台電腦的dns備份檔要放哪邊
allow-transfer {none;};}; zone "1.19.163.in-addr.arpa" { //這串字只是為了做slave的例子才
加入的,請寫入在
163.19.1.2這第二台dns上
type slave;
masters { 163.19.1.1; };
file "slave.jges.rev";
allow-transfer {none;};};
zone "jges.edu.tw" { //這串字只是為了做slave的例子才加入的,請寫入在163.19.1.2這第二台dns上
type slave; masters { 163.19.1.1; };
file "slave.jges.fwd"; //這邊是指slave這台電腦的dns備份檔要放哪邊
allow-transfer {none;};}; zone "1.19.163.in-addr.arpa" { //這串字只是為了做slave的例子才
加入的,請寫入在
163.19.1.2這第二台dns上
type slave;
masters { 163.19.1.1; };
file "slave.jges.rev";
allow-transfer {none;};};
allow-transfer參數可以在單一的zone內設定定義喔!
還有上面的file"檔名"當中的檔名都可以自己亂取,不過要記得就一定要做好相對名稱的檔案就是啦~
反解的例子:163.19.1.xx這個區段的反解寫法就一定是1.19.163.in-addr.arpa,不能亂改喔!
arpa 是美國國防部計畫的縮寫,in-addr是Internet Address的意思,如果是用於ipv6的反解,請將in-addr改成ip6
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
接下來是named.root這個檔,大家都用一樣的就好了,下載網址:ftp://rs.internic.net/domain/named.root ,這個檔很重要,DNS解析查詢都會先到這個檔案裡!
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
接下來是named.root這個檔,大家都用一樣的就好了,下載網址:ftp://rs.internic.net/domain/named.root ,這個檔很重要,DNS解析查詢都會先到這個檔案裡!
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
呃,底下會看到一個萬惡的@符號,這其實就是您自己在named.conf當中定義的那個領域啦!就是$ORIGIN後面接的東西,也就是說在這裡是zone"xxxx"當中那個xxxx的意思!
這個符號花了我很久很久很久的時間我才看懂..........奇怪了...除了自己笨之外,可能都要怪鳥哥沒有寫$ORIGIN.......冏
還有IN,代表的是internet類別的意思.(目前除了IN,也別無其他類型囉)
這個符號花了我很久很久很久的時間我才看懂..........奇怪了...除了自己笨之外,可能都要怪鳥哥沒有寫$ORIGIN.......冏
還有IN,代表的是internet類別的意思.(目前除了IN,也別無其他類型囉)
------------------------------------------------------------分隔線上面是重要的說明-------------------------------------------------
典型的SOA RR如下:
xxx.edu.tw 1D IN SOA ns1.xxx.edu.tw
HostMaster.xxx.edu.tw
-------------------------------------------------------------------------------
典型的SOA RR如下:
xxx.edu.tw 1D IN SOA ns1.xxx.edu.tw
HostMaster.xxx.edu.tw
-------------------------------------------------------------------------------
vi /var/named/chroot/var/named/jges.fwd (這種檔案中註解寫法是;)
$TTL 86400 ;整個程式的宣告時間,以秒為單位的資源記錄時間喔
$ORIGIN jges.edu.tw. ;整個程式的宣告開頭網域,也可以不用設定,說明底下沒有使用.而省略的網域為何,可以在不同段落改變宣告成自己需要的子網域,沒設定就以named.conf中的zone為準.建議一定加上.
;下面這行請照抄,翻譯成文字也就是 jges.edu.tw. IN SOA jges.edu.tw. 後面接上root的email位址.(據說SOA後面接的jges.edu.tw.是給做slave dns的機器看的,所以在這邊應該改成dns1.jges.edu.tw.或更偷懶的dns1
$ORIGIN jges.edu.tw. ;整個程式的宣告開頭網域,也可以不用設定,說明底下沒有使用.而省略的網域為何,可以在不同段落改變宣告成自己需要的子網域,沒設定就以named.conf中的zone為準.建議一定加上.
;下面這行請照抄,翻譯成文字也就是 jges.edu.tw. IN SOA jges.edu.tw. 後面接上root的email位址.(據說SOA後面接的jges.edu.tw.是給做slave dns的機器看的,所以在這邊應該改成dns1.jges.edu.tw.或更偷懶的dns1
@ IN SOA dns1.jges.edu.tw. root.jges.edu.tw.
;這邊有個該死的 " . " ,這東西一定要加喔!如果忘記加後面會自動加上zone的名稱!例如localhost忘記加.就自動被變成 了localhost.localhos.啦!當然,底下可以看到例如www之類後面不加點的也是這個.的妙用~請參照前幾行寫的$ORIGIN
(
;這邊有個該死的 " . " ,這東西一定要加喔!如果忘記加後面會自動加上zone的名稱!例如localhost忘記加.就自動被變成 了localhost.localhos.啦!當然,底下可以看到例如www之類後面不加點的也是這個.的妙用~請參照前幾行寫的$ORIGIN
(
20100705001 ;Serial , 僅作為序號而已,不過一更新請記得就要做調整,不然slave可是不會來抓的喔!
28800 ; Refresh slave 伺服器的更新時間
14400 ; Retry 當 slave 主機更新失敗,多久再重新更新一次
720000 ; Expire 重複 retry 多久後就宣告不治....不再更新
86400 ) ; Minimum 可視為 TTL ,尤其是你沒有設定 $TTL 時
@ IN NS localhost. ;這邊看@不順眼可以改成localhost.或想寫成 @ IN NS @ 也行!
localhost. IN A 127.0.0.1
;(這邊的意思是此zone的DNS伺服器主機名稱與 IP 的相互對應,確保localhost可以正確解出127.0.0.1)
應該要有的對應模式如下(有NS就有A)
jges.edu.tw. IN NS dns1.jges.edu.tw. ;<==這邊的dns1.jges.edu.tw.就是您用來登記在上層單位DNS的名字喔!不能亂改
jges.edu.tw. IN
NS dns2.jges.edu.tw.
dns1.jges.edu.tw. IN A 163.19.1.1
dns2.jges.edu.tw.
IN A 163.19.1.2
;-----------循序負載分攤功能(round robin),可以用來減輕單一server被查詢到的負擔,也可以做多個異地備援喔!---------
www IN A 163.19.1.3
www IN A 163.19.1.4
www IN A 140.113.40.35 ;<====這邊假設是放到交大做備援
;------------------別名CNAME的用法(盡量用
A來代替CNAME),這邊的3600是獨立的TTL的意思--------------------
www2.jges.edu.tw.
3600 IN A 163.19.1.1
ftp.jges.edu.tw.
3600 IN CNAME www2.jges.edu.tw.
;--Mail
Server的用法,不加也可以,不過寄信查詢一定會先查MX,再查A,所以可以用來過濾信件,而不掛MX也會影響效能---
@
IN MX 10
mail ;<====這邊的10和20是收寄信順位喔~數字小的會先收到信,如果數字相同就二選一收到
@
IN MX 20 imap
mail
IN A 163.19.1.30
imap
IN A 163.19.1.31
應該要有的對應模式如下(有NS就有A)
jges.edu.tw. IN NS dns1.jges.edu.tw. ;<==這邊的dns1.jges.edu.tw.就是您用來登記在上層單位DNS的名字喔!不能亂改
jges.edu.tw. IN
NS dns2.jges.edu.tw.
dns1.jges.edu.tw. IN A 163.19.1.1
dns2.jges.edu.tw.
IN A 163.19.1.2
;-----------循序負載分攤功能(round robin),可以用來減輕單一server被查詢到的負擔,也可以做多個異地備援喔!---------
www IN A 163.19.1.3
www IN A 163.19.1.4
www IN A 140.113.40.35 ;<====這邊假設是放到交大做備援
;------------------別名CNAME的用法(盡量用
A來代替CNAME),這邊的3600是獨立的TTL的意思--------------------
www2.jges.edu.tw.
3600 IN A 163.19.1.1
ftp.jges.edu.tw.
3600 IN CNAME www2.jges.edu.tw.
Server的用法,不加也可以,不過寄信查詢一定會先查MX,再查A,所以可以用來過濾信件,而不掛MX也會影響效能---
@
IN MX 10
mail ;<====這邊的10和20是收寄信順位喔~數字小的會先收到信,如果數字相同就二選一收到
@
IN MX 20 imap
IN A 163.19.1.30
imap
IN A 163.19.1.31
;-----------------------底下是加上子網域dns伺服器的寫法,這邊的子網域是dep1.jges.edu.tw-------------------
$ORIGIN dep1.jges.edu.tw.
IN NS dns1
IN NS dns2
dns1 IN A 163.19.1.50
dns2 IN A 163.19.1.51
$ORIGIN dep1.jges.edu.tw.
IN NS dns1
IN NS dns2
dns1 IN A 163.19.1.50
dns2 IN A 163.19.1.51
;*正解檔裡面好多個A,後面的IP到底能不能重覆呢?根據老師的說法是可以的,不過聽說最好不要.
------以上就是基本正解常用的囉,非寫反解檔不可的請看底下直接依樣畫葫蘆囉,差別最大的是PTR和ORIGIN後面接的東東------
vi /var/named/chroot/var/named/jges.rev
$TTL 86400
$ORIGIN 1.19.163.in-addr.apra.
@ IN SOA dns1.jges.edu.tw. root.jges.edu.tw.
(
2010072901 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS dns1.jges.edu.tw.
1 IN PTR dns1.jges.edu.tw. ;這裡有個"1" 也有個PTR ,都是這個反解檔必備的,自己想想為什麼要用1..(提示:反推回來,想想之前那該死的點)
*還有,如果沒有開起來的機器請不要亂弄正反解....會抓不到...冏
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
vi /var/named/chroot/var/named/jges.rev
$TTL 86400
$ORIGIN 1.19.163.in-addr.apra.
@ IN SOA dns1.jges.edu.tw. root.jges.edu.tw.
(
2010072901 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS dns1.jges.edu.tw.
1 IN PTR dns1.jges.edu.tw. ;這裡有個"1" 也有個PTR ,都是這個反解檔必備的,自己想想為什麼要用1..(提示:反推回來,想想之前那該死的點)
*還有,如果沒有開起來的機器請不要亂弄正反解....會抓不到...冏
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
呃,上面的說明太長了,簡單來說,正解寫出來會變成底下這樣:
vi /var/named/chroot/var/named/jges.fwd
vi /var/named/chroot/var/named/jges.fwd
$TTL 86400
$ORIGIN jges.edu.tw.
@ IN SOA dns1 root ( 2010072901 28800 14400 720000 86400 )
; 本領域的 DNS 伺服器的主機名稱與 IP 的對應
@ IN NS dns1
@ IN NS dns2
dns1 IN A 163.19.1.1
dns2 IN A 163.19.1.2
www IN A 163.19.1.3
www
IN A 163.19.1.4
$ORIGIN dep1.jges.edu.tw.
IN NS dns1
IN NS dns2
dns1 IN
A 163.19.1.50
dns2 IN A
163.19.1.51
www2 3600 IN A 163.19.1.1
ftp
3600 IN CNAME www2
IN MX 10
IN MX 20 imap
IN A 163.19.1.30
imap
IN A 163.19.1.31
$ORIGIN dep1.jges.edu.tw.
IN NS dns1
IN NS dns2
dns1 IN
A 163.19.1.50
dns2 IN A
163.19.1.51
換句話說,只有一台主機自己身兼dns、www、mail、ftp等功能,實際可以這樣寫:
vi /var/named/chroot/var/named/jges.fwd
$TTL 86400
$ORIGIN jges.edu.tw.
@ IN SOA dns root ( 2010072901 28800 14400 720000 86400 )
IN NS dns
dns IN A 163.19.1.1
www IN CNAME dns
mail IN CNAME dns
ftp IN CNAME dns
------------底下是樣品的例子,加不加就看情況啦-------
sun IN A 192.168.1.200
sun IN TXT "The sun solaris OS"
sun IN HINFO "Celeron 1G""Solaris 10"
----------------------------------------------------------------------------------------------------------------
特別加映!
關於SOA
Start of Authority。
這個標誌代表著 master/slave 相關的認證、授權資料。 不論你的 DNS 系統有沒有設定 master/slave 的架構,都需要含有這個設定才好。 SOA 後面共帶有三個參數,所以該行為:
這個標誌代表著 master/slave 相關的認證、授權資料。 不論你的 DNS 系統有沒有設定 master/slave 的架構,都需要含有這個設定才好。 SOA 後面共帶有三個參數,所以該行為:
[zone] IN SOA [主機名] [管理員 email] ([五組更新時間參數])
每個設定項目可以這樣看:
* 主機名:就是 master DNS 的主機名稱,通常填寫本身主機名即可。還是要注意那個小數點的存在與否喔!非常重要!
* 管理員 email:本來應該是 "root@localhost." 的,不過因為 @ 已經被作為特殊代號 (zone), 所以就用小數點來取代,因此 email 就成為 "root.localhost." 囉!
* (五組數字):這五個數字分別代表 serial, refresh, retry, expire, ttl。
至於那五個數字的意義是這樣的:
1. Serial :是一個序號,但這個序號可被用來作為 slave 與 master 更新的依據。 舉例來說, master
序號為 100 但 slave 序號為 90 時,那麼這個 zone file 的資料就會被傳送到 slave 來更新了。
由於這個序號代表新舊資料,通常建議可以利用日期來設定!
序號為 100 但 slave 序號為 90 時,那麼這個 zone file 的資料就會被傳送到 slave 來更新了。
由於這個序號代表新舊資料,通常建議可以利用日期來設定!
2. Refresh :除了根據 Serial 來判斷新舊之外,我們可以利用這個 refresh(更新) 命令 slave 多久進行一次主動更新;
3. Retry :如果到了 Refresh 的時間,但是 slave 卻無法連接到 master 時, 那麼在多久之後,slave 會再次的主動嘗試與主機連線;
4. Expire :如果 slave 一直無法與 master 連接上,那麼經過多久的時間之後, 則命令 slave
不要再連接 master 了! 也就是說,此時我們假設 master DNS 可能遇到重大問題而無法上線,則等待系統管理員處理完畢後,
再重新來到 slave DNS 重新啟動 bind 吧!
不要再連接 master 了! 也就是說,此時我們假設 master DNS 可能遇到重大問題而無法上線,則等待系統管理員處理完畢後,
再重新來到 slave DNS 重新啟動 bind 吧!
5. Minimun :這個就像是 TTL 啦!
另外,這幾個數字的大小是有限制的!要瞭解:
* Serial <= 2^32 = 4294967296
* Refresh >= Retry * 2
* Refresh + Retry < Expire
* Expire >= Retry * 10
* Expire >= 7Days
-------------------------------------------------------------------------------------------------------------------------------
其他符號一覽表:
NS | name server 的縮寫,這個標誌的參數是:
[zone] IN NS [主機名稱]
注意, NS 後面接的一定是主機名稱!代表的意思是說:『這個 zone 的查詢請向後面這部主機要求』的意思。 所以,如果這個 zone
有兩部以上的 DNS 伺服器負責時,那就需要寫兩個 NS 了!而 NS 後面接的主機名稱要有 IP 的對應啊!因此就需要 A 這個標誌了! |
A | address,參數是:
[hostname] IN A [IP]
意思是說該部主機的 IP 對應之意!也是最常用的一個標誌!
|
MX | mail exchanger的簡寫,參數是:
[hostname] IN MX [順序] [主機名稱]
注意,這個 MX 與 mail server 有關,沒有 mail server 的朋友可以省略這個標誌,但是如果你的領域內有
mail server 時,就必需要設定這個 MX 才好。MX 的用途是在於『郵件轉遞』或者是經由上層郵件主機備份的一個機制, 後面設定的那個主機名稱通常是你的上游郵件主機, 設定區域中擔任郵件伺服器的主機,所有要送往那部機器的 mail 都要經過 mail exchanger 轉送。而數字則是該主機郵件傳遞時的優先次序,此值越低表示有越高的郵件處理優先權。
如果不知道如何設定,通常建議直接設定成 mail server 主機名稱即可
|
CNAME | canonical name,別名. 顧名思義,這個標誌在建立『主機別名』的啦!參數為:
[hostname] IN CNAME [主機名稱]
注意一下, CNAME 後面接的是主機名稱。因為有好幾部主機名稱都對應到同一個 IP 上頭, 你當然可以針對每個主機名稱給予一個 A ,不過如果未來要改 IP 時,你就得改好幾個啦! 此時改為 CNAME 來處理就很簡單。
|
PTR | pointer,定義某個 IP 對應的 domain name,即將 IP 位址轉換成主機的FQDN。 |
TXT | 這個東西在進行『說明』而已!亦即是前面那部主機的一些資訊。 特別注意的是,沒事的話,『資訊不要寫得太詳細,有的時候甚至應該要寫些錯誤的訊息!』 為什麼呢?cracker沒事做嗎?呃,不過這東西有另一個信件上的安全應用,請看底下DNS其他應用,SPF的說明。 |
AAAA | 不要懷疑!用法和上面的A相同,不過是傳說中的 IPv6 啊啊阿啊啊! |
------------------------------------------------------------------------------------------------------------------------------------------
寫在最後面,一般單位到這裡就做完正解了,反解就丟給上層單位那些領更多錢或更厲害的人去做吧!(攤手)
呃,當然,如果很不幸的網管人員,還是有空弄一下反解比較好囉~
呃,當然,如果很不幸的網管人員,還是有空弄一下反解比較好囉~
啟動DNS很簡單,輸入
/etc/init.d/named start (或restart)
但是這個啟動可不見得是成功的!因為dns的上層更新速度和設定的TTL有極大關係,所以可能真要等半天一天的才能看到實際的後果!還有,我們除了用nslookup和dig指令可以檢測外,鳥哥說:『務必』要去 /var/log/messages 觀察過才行!
dig 網址 any <===追蹤,找出與該網址查詢結果有關的dns紀錄都丟出來
dig +trace 網址 <===追蹤,找出與該dns查詢經過的路徑
dig @網址 網址 <===指定在第二個網址上查詢第一個網址的dns紀錄
traceroute 網址 <===追蹤,找出經過路徑,並顯示正反解(只寫出IP卻沒名字就是沒設反解啦~)
呃,還有一個很棒的套件叫做「dnstop」,長得很像內建用來觀察系統流量的「top」,可以用來做出多種不同的觀測喔!要裝!網址:http://dns.measurement-factory.com/tools/
--------------------------DNS其他的應用,SPF(需要重新編譯),請參考http://phorum.study-area.org/viewtopic.php?t=18000------------
SPF(Sender Policy Framework):
主要使用dns的TXT記錄說明此網域的發信來源有哪些
詳情請查閱RFC 4408
沒有留言:
張貼留言