假設公司A在萬網a.org上註冊了一個網域名稱net.cn, 現在不想使用萬網的DNS伺服器,而是自己要建立兩個DNS伺服器,一個是主伺服器,一個是從伺服器
,現有兩台機器: ns1.a.org , ns2.a.org 我們如何配置這兩台主機成為DNS伺服器?
首先,這個公司A內部有如下需求:
1.公司有一個mail伺服器,需要被解析 mail.a.org
2.公司有一個ftp伺服器,需要被解析 ftp.a.org
3.還有自己的網域名稱和bbs等
好了,根據如上需求我們來配置這兩台伺服器。
0.在兩台主機上要安裝好bind伺服器端,否則無法繼續下去。
yum install bind
1.去萬網a.org背景管理頁面上,將兩台DNS伺服器的地址改成自己的主機名稱字,改為: (這一步在學習時省略)
ns1.a.org
ns2.a.org
2.為了保證公司的網路地址可以被正常的解析到,我們配置ns1為主伺服器,ns2為從伺服器,假如ns1的地址為172.16.100.1,ns2的從伺服器為172.16.100.2
1)登入到172.16.100.1 即主機:ns1.a.org,編輯它的dns主設定檔,定義工作目錄,添加兩個地區,一個正向解析,一個反向解析
# vim /etc/named.conf# 正向option {directory "/var/named";};zone "a.org" IN { # 聲明複製a.org這個域type master; # 類型:主file "a.org.zone"; # 解析檔案};# 反向zone "16.172.in-addr.arpa" IN { type master; file "172.16.zone"; };# 在建立反向的時候,反向輸入ip(因為它是反向解析的),例如 1.100.10.172,下面會用到
2)配置正向解析檔案a.org
cd /var/namedvim a.org$TTL 1200@ IN SOA ns1.a.org. admin.a.org. ( # SOA欄位 2011081601 # 版本號碼 同步一次 +1 1H # 更新時間 10MM # 更新失敗,重試更新時間 7D # 更新失敗多長時間後此DNS失效時間 1D ) # 解析不到請求不予回複時間 IN NS ns1.a.org. IN NS ns2.a.org. IN MX 10 mail.a.org. # 10指優先順序 0-99 數字越小優先順序越高ns1.a.org. IN A 172.16.100.1ns2.a.org. IN A 172.16.100.2mail.a.org. IN A 172.16.100.1bbs.a.org. IN CNAME www.a.org.# 該檔案只有改了了屬組才生效!!!!!!!!chomd :named a.org.zonservice named reload
3)配置反向解析,反向解析不去要MX , A ,和CNAME欄位,它一般使用PRT
vim 172.16.org$TTL 1200@ IN SOA ns1.a.org. admin.a.org. ( 2011081601 1H 10M 7D 1D ) IN NS ns1.a.org. IN NS ns2.a.org.1.100 IN PTR ns1.a.org.2.100 IN PTR ns2.a.org.1.100 IN PTR mail.a.org.3.100 IN PTR www.a.org.100.100 IN PTR ftp.a.org.# 聲明域的時候已經有了,172.16 所以我們只需要輸入1.100既代表172.16.1.100chomd :named 172.16.orgservice named reload
4)啟動服務,使用dig命令來測試是否能夠正常解析(先修改自己的DNS伺服器位址,在最後補充裡)
service named startdig -t A www.a.ortdig -t PTR 172.16.100.1
5)配置另外一台DNS伺服器為從伺服器,編輯它的主設定檔,內容如下:
vim /etc/namedoption {directory "/var/named/slaves"; };zone "a.org" IN { type slave; # 類型為從masters { 172.16.100.1 }; # 主伺服器的地址,通過它來同步解析檔案file "a.org.zone";};# 反向zone "16.172.in-addr.arpa" IN { type slave; masters { 172.16.100.1 }; file "172.16.zone"; };
6)重啟服務,看解析檔案是否同步:
service named restartls /var/named/slaves
補充:
1.在配置DNS時,其實應當先聲明一個根域".",用來解析外網網域名稱,方法如下:
編輯主設定檔,聲明根域
vim /etc/namedzone "." {type hint;file "named.ca"};#儲存退出,利用dig命令產生根域檔案dig -t NS ca > /var/named/named.ca
2.修改Linux主機dns伺服器位址方法:
vim /etc/resolv.confnameserver 172.16.100.1 # 只需要留這一行,ip是你想要設的dns伺服器位址