鳥哥的私房菜 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
以下整理內容僅獻給健忘症的自己~
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
首先,先進行本機/etc/hosts的設定:
vi /etc/hosts,加入以下內容:
::1 localhost6.localdomain6 localhost6 <----本機的正反解
2001:288:4677::225 www.ipv6.jges.mlc.edu.tw www <-----主機名稱的正反解紀錄,請輸入自己的IP位址與DNS解析名稱
vi /etc/hosts,加入以下內容:
::1 localhost6.localdomain6 localhost6 <----本機的正反解
2001:288:4677::225 www.ipv6.jges.mlc.edu.tw www <-----主機名稱的正反解紀錄,請輸入自己的IP位址與DNS解析名稱
----------------------------------------------------------1.預設環境----------------------------------------------------------------------
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 的反解
底下預設幾台主機來對應:
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
-----------------------------------------------------------------------------------------------------------
dig 網址 any <===追蹤,找出與該網址查詢結果有關的dns紀錄都丟出來
dig +trace 網址 <===追蹤,找出與該dns查詢經過的路徑
dig @網址 網址 <===指定在第二個網址上查詢第一個網址的dns紀錄
traceroute 網址 <===追蹤,找出經過路徑,並顯示正反解(只寫出IP卻沒名字就是沒設反解啦~)
SPF(Sender Policy Framework):
主要使用dns的TXT記錄說明此網域的發信來源有哪些
詳情請查閱RFC 4408
反解的例子: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.
;--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
;-----------------------底下是加上子網域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 dns2dns1 IN A 163.19.1.1dns2 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 mail
IN MX 20 imap
mail 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.200sun 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 來更新了。 由於這個序號代表新舊資料,通常建議可以利用日期來設定!
2. Refresh :除了根據 Serial 來判斷新舊之外,我們可以利用這個 refresh(更新) 命令 slave 多久進行一次主動更新;
3. Retry :如果到了 Refresh 的時間,但是 slave 卻無法連接到 master 時, 那麼在多久之後,slave 會再次的主動嘗試與主機連線;
4. Expire :如果 slave 一直無法與 master 連接上,那麼經過多久的時間之後, 則命令 slave 不要再連接 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
沒有留言:
張貼留言