案例2: 我們經常會遇到這種情況,需要兩個不同網段的主機進行通訊,這個時候就需要NAt。通常情況防火牆、路由器等都可以做到該功能,這裡用linux伺服器代替。 經過代理,可以通路外部的伺服器,但是我們的通路都是基于名稱的,是以DNS是必不可少的。同時内部主機和外部主機得到的ip是不同的,這就需要開啟bind中的view功能 網絡拓撲圖:

DNS配置
DNS的配置主要是編輯named.conf,不需要修改named.rfc1912.conf, 安裝及DNS介紹請參照案例一
vim /var/named/chroot/etc/named.conf
另:開始前打開監控日志是個好習慣
tail -f /var/log/messages
named.conf具體配置如下:
1.添加ACL
電信 telecom 1.0
網通 netcom 2.0
2.修改允許查詢的使用者
3.VIEW
這個是關鍵,如果某使用者通路域a.com,他屬于telnecom,然後去取域檔案a.com.zone查找,屬于netcom就進去a.com.db查找。這樣隻要編輯區域檔案,不同網段的使用者就可以得到不同的位址啦
4.做完以上步驟可以測試一下文法是否正确:
如果沒有出現任何提示說明文法正确,否則請繼續修改
5.産生區域檔案a.com.zon和a.com.db
cd /var/named/chroot/var/named/
可以看到以下幾個檔案
我們可以參照localhost.zone來寫我們的區域檔案
vim a.com.zone
telecom.a.com. 左後是要加點的,這個尤其要注意,加了點才表示一個完整的主機名
仿照上文,做出外部主機需要用到的區域檔案a.com.db
vim a.com.db
6.檢查文法錯誤:
正确的話,會有"ok“提示
7.最後,修改一下ip位址,確定服務開啟,網絡暢通,DNS伺服器就完成了
防火牆配置
這個就比較簡單了,隻需要做NAT,開啟LINUX的資料轉發功能
1.DNAT
注意:iptables規則一定要寫正确,不然你可能要廢一番功夫删除它,删除文法:iptables -D chain rulenum [options]
2.轉發
[root@localhost ~]# vim /etc/sysctl.conf
将第7行改為“1”
sysctl –p
3.因為要連接配接兩個網段,這裡linux是需要雙網卡的
[root@localhost ~]# ifconfig eth0 192.168.1.254 up
[root@localhost ~]# ifconfig eth1 192.168.2.254 up
測試:
内網得到的位址:
外部得到的位址:
最後:
需要注意的小地方還是很多的,注意文法格式,寫完後要及時檢測,確定服務正常運作。開啟日志檢測,便于排錯。保證網絡的聯通性,然後進行測試、驗證。