2015年3月24更新 添加了要加的配置域名解析器(否則會找不到域名)
一、創建該實驗的的模型

配置完gate虛擬機的兩張網卡后,就啟動gate的轉發
[root@localhost root]# vi /etc/sysctl.conf
...
net.ipv4.ip_forward = 1
...
修改成以上的形式,net.ipv4.ip_forward=1是指表示轉發,0表示不轉發
vm1和vm2要添加到達對方的路由
vm1上:
# route add -net 192.168.128.0/24 gw 10.10.10.8
vm2上:
# route add -net 10.10.10.0/24 gw 192.168.128.8
通過ping命令互相ping通
二、開始BIND的設置:
1、打開/etc/name.conf
[root@localhost root]# vi /etc/named.conf

添加上了后面一段
zone "gr.org" IN { //指定一個域名為gr.org的正向區域
type master;
file "gr.org.db"; //指定文件名是gr.org.db
};
type master;
file "gr.org.db"; //指定文件名是gr.org.db
};
區域Type:
master: 主域服務
slave: 從域服務
stub: 只復制主域的NS記錄,屬於BIND特有功能.
hint: 設定初始化設置根域服務器所用的參數.
forward: 域轉發設置
2、添加域名解析文件
添加一個gr.org的區域(zone),類型為主機(master,還有兩種是slave和hint)
文件就在option定義的目錄下/var/named
在該目錄下創建gr.org.db文件
創建該文件,並插入以下的內容
[root@localhost root]# vi /var/named/gr.org.db

|
time to live 生存時間,默認為秒 | |
@ | 表示相應的域名,表示一個域名定義的開始 |
|
IN | 表示后面的數據使用的是INTERNET標准 |
|
SOA | 表示授權開始 |
|
ns.gr.org. | 該域的主域名服務器 |
|
root.gr.org. | 管理員郵件地址(這里的郵件地址中的用.來代替常見的郵件地址的@.) |
|
20150317 | serial(d. adams)表示配置文件的修改版本,格式是年月日當日修改的次數,每次修改時都應該修改這個數字, 要不然所做修改的不會更新到網上的其它DNS服務器的數據庫上,即你所做的更新很可能對於不以你你的所配置 的DNS服務器數據庫上,即你所做的更新很可能對於不以你的所配置的DNS服務器為DNS服務器的客戶端來說就 不會反映出你的更新,也就對他們來說你更新是沒意義的 |
|
6H | refresh,定義以單位(M分,H時,W周,默認是秒即不帶單位)的刷新頻率,即規定從域名服務器多長時間查 詢一個主服務器,以服務器的數據的是最新的 |
|
30M | retry,以30分鍾的時間間隔重試,即當從服務器試圖在主服務器上查詢更新時,而連接失敗了,則這個值規定 了從服務器多長時間后重試 |
|
1W | expire,規定從服務器在向主服務器更新失敗之后清除記錄的時間 |
|
15M | minimum TTL,規定緩沖服務器不能與主服務器聯系上的清除記錄時間 |
|
NS | net server,表示該主機是域名服務器 |
|
A | address,定義了一條A記錄,表示該主機名到IP地址的對應記錄 |
|
MX | mail exchange,定義一條郵件記錄 |
|
CNAME | 定義了對應主機的一個別名 |
|
PTR | 指一條反向域名解析PTR記錄,類似A記錄(PTR指針記錄由IP地址提供商提供) |
(圖表2016-11-02更新)
{
配置域名解析器
#cat > /etc/resolv.conf
nameserver 10.10.10.10
DNS客戶機配置文件,用於設置DNS服務器的IP地址及DNS域名,還包含了主機的域名搜索順序。該文件是由域名解析器(resolver,一個根據主機名解析IP地址的庫)使用的配置文件。它的格式很簡單,每行以一個關鍵字開頭,后接一個或多個由空格隔開的參數。
resolv.conf的關鍵字主要有四個,分別是:
nameserver //定義DNS服務器的IP地址
domain //定義本地域名
search //定義域名的搜索列表
sortlist //對返回的域名進行排序
此處是2015/3/24完善的}
3、測試設置是否完成
設置完成后,可用cat命令查看是否設置完整,確認后
使用命令
# service named start
啟動服務,提示成功啟動即可使用下面的命令來查看是否能連接到本機設置的DNS
{
如果要開機啟動就是用下面的命令
chkconfig named on
此處是2015/3/24完善的}
(1)測試vm1上能否查詢到該域名
# nslookup -sil www.gr.org
如果出現
** server can't find www.gr.org: SERVFAIL
可以查看/etc/named.conf和/var/named/下的相關文件,這里是gr.org.db是否設置出錯,一個地方出錯都不會執行
(2)測試vm2上能否查詢到該域名
成功之后,可以在vm2上查看是否存在
[root@localhost root]# nslookup -sil www.gr.org
;; connection timed out; no servers could be reached
;; connection timed out; no servers could be reached
出現這個問題,很大程度上是由於gate機器上已經關掉該端口了,所以就使用關掉防火牆的簡單方法開啟該端口(53)。
在gate虛擬機上
# service iptables stop
(3)測試Windows上能否查詢到該域名
使用Windows系統測試是否存在
先試試ping www.gr.org
看可不可以ping的通,一般可以的(應為我們也有這個網址被用了),那么如何判斷是否是連我們的vm1的?
那就要斷掉本地網絡再試試ping命令
發現ping www.gr.org是不通的,而ping 10.10.10.10是通的,原因是沒有設置DNS,設置方法如下:
1.關閉本地網絡(以太網)
2.把vm1的DNS改為vm1的ip
再試試
>ping www.gr.org

4、在上面的基礎上進行添加反向域名解析
(1)下面就要我們加上反向域名解析域區
# vi /etc/named.conf
添加以下的語句(內容)
zone "10.10.10.in-addr.arpa" IN{ //定義一個ip是10.10.10.*的反向域區
type master;
file "10.10.10.db";
};

注:如果在file下面加上一句allow-transfer {192.168.6.4;};
就是說指定從服務器,從服務器上面就要加上主服務器的ip即加上
master {192.168.6.3;};
(2)添加反向域名解析文件和配置
再用命令# vi /var/named/10.10.10.db
添加如下的配置信息
$TTL 86400
@ IN SOA ns.gr.org root.gr.org.(
20150317 6H 30M 1W 15M)
IN NS ns.gr.org.
10 IN PTR ns.gr.org.
10 IN PTR www.gr.org.
11 IN PTR mail.gr.org.
@ IN SOA ns.gr.org root.gr.org.(
20150317 6H 30M 1W 15M)
IN NS ns.gr.org.
10 IN PTR ns.gr.org.
10 IN PTR www.gr.org.
11 IN PTR mail.gr.org.
注:
PTR 指一條反向域名解析PTR記錄,類似A記錄(PTR指針記錄由IP地址提供商提供)

注:這里剛好是對稱的,不容易看出,其實就比如192.168.133.0/24(就是用133.168.192的特殊域),后面的10,11就類似於用192.168.133.0/24的來表示就是10.133.168.192.in-addr.arpa(也就是192.168.133.10),這里是10.10.10.10.in-addr.arpa和11.10.10.10.in-addr.arpa
(3)測試配置是否完成
使用命令# rndc reload重啟域名服務
通過# nslookup -sil 10.10.10.10
(在vm2也可以看到一樣的信息)
就可以看到了信息
Server: 10.10.10.10
Address: 10.10.10.10#53
10.10.10.10.in-addr.arpa name = www.gr.org.
10.10.10.10.in-addr.arpa name = ns.gr.org.
Address: 10.10.10.10#53
10.10.10.10.in-addr.arpa name = www.gr.org.
10.10.10.10.in-addr.arpa name = ns.gr.org.

有兩條,證明我們的反向域名解析也配置好了
注:有什么意見或建議可以在評論區回復