PIX上的alias與DNS

在NBO上睇到一篇嘢,講嘅系PIX防火牆內網嘅CLIENT,通過域名www.domainname.com訪問在一個內網嘅主機時,由於DNS服務器解釋出來嘅主機地址系PIX映射俾主機嘅公網地址,內網嘅CLIENT會無法訪問。
我6月份個陣我都碰到呢個問題,唔清楚後來個客點樣解決。
睇返NBO上個篇文章:http://bbs.netbuddy.org/network/7143.html,講咗用alias呢個命名來做,果然好竅!不過更絕妙嘅其它網友嘅回帖,原來STATIC NAT有個DNS參數,咁就唔使做alias啦,天都光嗮!
學無止境!嗯嗯。
順手將個篇嘢偷過來先。
DNS參數:
[no] static [(internal_if_name, external_if_name)] 
{global_ip | interface} local_ip [dns] [netmask
mask][max_conns [emb_limit [norandomseq]]]
[no] static [(internal_if_name, external_if_name)]
{tcp | udp}{global_ip | interface} global_port
local_ip local_port [dns] [netmask mask][max_conns
[emb_limit [norandomseq]]] 
alias文章:
理解Cisco Secure PIX Firewall上的alias命令
前言:
最近我設置防火牆***和服務器,DMZ區服務器發佈的問題,從互聯網訪問inside或dmz的服務器都很正常,從inside可 以上互聯網,但就是不能通過互聯網域名訪問inside和dmz的服務器,很是苦惱,用google搜索資料,逛到這個論壇來了,這裏還不錯,有很多新手 和大蝦。在我用google搜索的過程中,不停的遇到很多朋友和我一樣的問題,但始終沒有看到一個妥善解決的辦法。有的朋友提到用內部dns作轉向,這代 價未免太大了,就算是本身有DNS,也不是很方便。個別朋友提到alias和alias的資料,但都沒有詳細的解說,我到cisco官方網站查到此用法, 終於圓滿解決了此問題,特將其翻譯並加些注意事項作些補充,供大家參考。
介紹
本文檔闡述lias在Cisco PIX防火牆中的用法.
Alias的兩個功能:
利用DNS Doctoring修正外部DNS服務器回覆
o 利用DNS Doctoring,PIX 將"改變" 外部DNS響應的地址到另一個IP,這個地址不同於DNS服務器上真實提供的域名-IP記錄。
o 此功能實現從內部客戶端通過內部IP地址連接到內部服務器上。
轉換目標IP地址的dnat(Destination NAT)到另一個IP。
o 用dnat改變應用程序的標地址.
o 此功能實現從內部客戶端調用外部地址訪問周邊網絡(例如DMZ區),不修改DNS回覆。
例如,一臺機器發送數據到99.99.99.99,可使用alias命令把數據重定向到另一個地址10.10.10.10.可使用此命令避免你網絡裏的IP與互聯網或另一個企業內部網的IP衝突。請參考pix官方文檔:http://www.cisco.com/univercd/cc/td/doc/product/iaabu/pix/index.htm
硬件和軟件版本
· 此文適用於Cisco Secure PIX Firewall Software Releases 5.0.x或更高版本
用DNS Doctoring轉換內部地址
例1:web服務器地址10.10.10.10,對應的外部IP爲99.99.99.99.
注 意: DNS在防火牆外.在dos提示窗輸入nslookup驗證一下DNS服務器是如何解析你的web服務器的外部IP.客戶端PC應該返回的是內部地址 10.10.10.10,因爲DNS請求經過PIX已經被它改變了。另外,要讓DNS fixup正常工作, 需禁止proxy-arp功能。 如果你爲DNS fixup使用alias命令,用列命令禁止proxy-arp
sysopt noproxyarp internal_interface
(注:但是我的PIX525沒用此命令仍然設置成功。)
網絡圖如下:
user posted image



如果你想用10.10.10.25這臺機器通過www.mydomain.com訪問你的web服務器,我們只需要實現以下alias命令:
alias (inside) 10.10.10.10 99.99.99.99 255.255.255.255
!--- 設置inside端口的DNS Doctoring.,一旦監測到發往inside端口的DNS
!---回覆裏IP內容爲99.99.99.99,則用10.10.10.10替換掉,再發到客戶端PC
接下來,必須爲web服務器做靜態地址轉換,爲所有人提供web服務器的80端口訪問權(http):
static(inside,outside) 99.99.99.99 10.10.10.10 netmask 255.255.255.255
!--- 此命令建立web服務器真實地址10.10.10.10和外部地址99.99.99.99的轉換
用access list命令賦予訪問權
access-list 101 permit tcp any host 99.99.99.99 eq www
access-group 101 in interface outside
!--- 允許來自outside的任何用戶訪問web服務器的80端口
如果你喜歡用老版本的語法,可以用conduit命令代替access-list和access-group
conduit permit tcp host 99.99.99.99 eq www any
!--- 允許來自outside的任何用戶訪問web服務器的80端口
用目標NAT(dnat)轉換DMZ地址
如果web服務器在PIX的DMZ區,必須用alias作Destination NAT (dnat).
例2,web服務器在DMZ的地址爲192.168.100.10, 外部地址99.99.99.99.我們要用dnat轉換99.99.99.99爲web服務器的真實地址192.168.100.10;從inside客 戶端發出的DNS請求和回覆不會改變. 從inside的PC上看來就象訪問外部地址99.99.99.99一樣,所以DNS回覆並未被PIX修改.
網絡圖如下:
user posted image
我們想從10.10.10.0 /24網絡通過外部域名www.mydomain.com訪問DMZ裏的web服務器,並不想讓PIX修改我們的DNS回覆。讓PIX作dnat把外部IP地址轉爲DMZ裏web服務器真實地址192.168.100.10。
注意:當然了,如果從inside訪問dmz裏的192.168.100.10都不能夠,光作這個也是不能訪問的,前提是inside用戶能夠外訪,也能訪問到DMZ內部地址:
global (outside) 1 interface
global (dmz) 1 interface
nat (inside) 1 0 0
你不想利用interface佔的地址,也可以另指定你相應端口網絡裏的地址
global (outside) 1 99.99.99.3
global (dmz) 1 192.168.100.2
nat (inside) 1 0 0
現在,用alias命令作dnat:
alias(inside) 99.99.99.99 192.168.100.10 255.255.255.255
!--- 此句設置dnat.DNS回覆不會被PIX修改,因爲外部地址99.99.99.99不匹配第二個地址(192.168.100.10),由於發往客戶端的DNS回覆裏有與目標地址99.99.99.99匹配,請求會”dnat-ed”.
注意: 此例中IP地址與上面DNS Doctoring的例子中順序相反.
接下來做web服務器的靜態轉換,允許所有人訪問其80端口(http):
static(dmz,outside) 99.99.99.99 192.168.100.10 netmask 255.255.255.255
!--- 建立dmz區服務器地址192.168.100.10與外部地址99.99.99.99間靜態轉換
賦予訪問權,access list命令如下:
access-list 101 permit tcp any host 99.99.99.99 eq www
access-group 101 in interface outside
!--- 允許所有來自outside用戶訪問web服務器80端口.
同樣,也可以使用老版本的conduit命令:
conduit permit tcp host 99.99.99.99 eq www any
!--- 允許所有來自outside用戶訪問web服務器80端口.
配置中的說明
· alias命令裏的interface應該是發出請求的客戶端所在那個端口.
· 如果DMZ裏也有客戶端PC,需專門爲dmz設置的alias命令 (也就是DNS doctoring),
例如,你想讓DMZ的其他客戶端用外部域名訪問DMZ的web服務器,其實做法已跟例1沒什麼區別,爲DMZ增加一條alias,做一個DNS Doctoring修改它DNS回覆就行了:
alias (dmz) 192.168.100.10 99.99.99.99 255.255.255.255
· 如果PIX有更多的端口,可以爲不同的端口作多條alias命令。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章