文/葛文娟
最初想到利用Hosts文件是基于學校跨網段訪問網頁時用IP地址訪問帶來的不便:學校教學網系統分成四個網段,包括三個學生機房網段和一個辦公室教師用機網段,服務器沒有使用DNS。辦公室教師機有的開了PWS(個人Web服務器),教師在同一網段中輸入Host Name(主機名)即可順利訪問網頁,但在學生機房要訪問教師Web頁,必須使用IP地址。
Hosts是Windows早期用來建立IP地址和Host name(主機名)映射關系的文件。這樣在客戶機上訪問主機時,只要輸入主機名即可。隨著后來DNS概念的引入,Internet網上DNS服務器的建立,這個文件已經逐漸被人們談忘。由于Hosts文件的執行優先級高于DNS域名解析,為了防止出現Hosts和DNS域名訪問的混亂,在Windows 98中把Hosts改成了Hosts.sam,就是要取消該文件的域名解析功能。而本文所述恰恰是利用了Hosts文件的這一功能。
Hosts.sam文件位于C:/Windows文件夾中,要使用它的功能,首先要改成Hosts文件,即把擴展名去掉。用記事本打開Hosts文件,首先看見的是微軟對這個文件的說明。這個文件是根據TCP/IP for Windows的標準來工作的,規定要求每段只能包括一個映射關系,IP地址要放在每段的最前面,空格后再寫上映射的Host name(主機名),如:
127.0.0.1 www.sina.com.cn
#屏蔽新浪網站
192.168.0.250 www.stw.net
#學校內部Web服務器主機名映射
按照上面的方法輸入后,打開瀏覽器輸入上述兩個域名,卻出現了問題:新浪網仍能正常訪問,不過網頁打開的速度變慢(沒有被屏蔽),而學校內部網站卻仍然不能正確訪問。偶然在MS-DOS下Ping了一下這兩個域名,卻發現映射已經成立。奇怪,為什么在DOS命令行下能Ping通,在瀏覽器中卻不能正確映射?
解釋只有一個:就是Hosts設置是有效的,是IE瀏覽器讓Hosts設置無效的。
打開瀏覽器后,筆者對IE的“Internet選項”設置進行了研究,終于發現了問題的癥結所在,并且找到了解決的方法。
我校客戶機通過HTTP代理進行上網,因此在瀏覽器里如圖1所示的設置。去掉“為LAN使用代理服務器”前面的“√”后,上面的映射在IE中就全部生效了,并且校園網跨網段的網頁可以通過Http://www.stw.net訪問了;但是新的問題又出現了,在瀏覽器中訪問其他Internet網頁時卻顯示無法接通,即此時可以訪問內網,而無法訪問外網。看來用這個方法還是行不通的。那么能不能不關掉代理服務器,又能使用上面的映射關系呢?帶著這個問題筆者打開了“局域網(LAN)設置”的[高級]選項,打開“代理服務器設置”對話框(圖2),把在Hosts文件中要屏蔽的網址加到“例外”所對應的文本框中,[確定]后退出,此時外網可以訪問,屏蔽也產生了作用。
上述問題對于通過單機聯入公網的用戶來說是碰不到的,因為它不需要設置代理服務器;對于要求用代理連接公網又想屏蔽不健康網頁的局域網用戶來說,就需要這樣做了。
新聞熱點
疑難解答