摘要:該文介紹了通過架設代理服務器,應用代理服務器,實現網絡管理。在Linux系統中,應用Squid軟件,實現代理服務,并設置相應的訪問策略、查看訪問日志,實現網絡管理。同時介紹了利用虛擬機技術,架設代理服務器,可以靈活地應用于臨時性、小規模的場所。
關鍵詞:代理服務器;訪問控制列表;訪問日志
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)34-1796-02
Realize Network Management Via Proxy Server
CHENG Wu-duan
(Fujian Communication Technology College, Fuzhou 350007, China)
Abstract: This article introduces how to realize network management via proxy server. In the Linux system, we use squid software for proxy server and then set related access strategy to check up access log to achieve network management. Also, in the paper it’s introduced that the proxy server could be applied flexibly by using virtual technique and erect proxy server.
Key words: proxy server; access control list(ACL); access log
1 引言
目前,隨著Internet的迅速發展及應用,不論是一個怎樣類型的用戶,網絡管理通常面臨著許多的挑戰,如:IP地址缺乏,如何管理和限制員工的訪問,以及內部網絡安全等一系列問題,應用代理服務器是解決這些問題的有效方法之一。
通過代理服務器訪問Internet,可以節省IP地址、在內部網絡和外部網絡之間構筑起防火墻、通過緩存區的使用降低網絡通信費用、控制訪問權限和統計信息流量等。
對于不同類型的企業,不論是一個部門還是企業整體,采用不同的方式,架設代理服務器,都能便于網絡的管理。對于小型的企業,可以不必購置專門的服務器設備,而只需在性能較理想的一臺電腦上安裝虛擬機軟件,在虛擬機上安裝代理服務器,實現網絡的管理。
2 代理服務概述
2.1 什么是代理服務器
代理服務器是介于瀏覽器和Web服務器之間的一臺服務器。代理服務就是可以代表其他計算機傳遞數據包或信息,這些數據包和信息包括網頁、電子郵件、多媒體文件和其他網絡應用程序等。通過它的文件緩存和訪問控制等功能,可以實現快速瀏覽和對用戶訪問的有效管理。
例如,當你通過代理服務器上網瀏覽時,瀏覽器不是直接到Web服務器去取回網頁,而是向代理服務器發出請求,由代理服務器來取回瀏覽器所需要的信息,并傳送給你的瀏覽器。
2.2 代理服務器的功能
代理服務器作為連接Internet與Intranet的橋梁,在實際應用中發揮著極其重要的作用。運用代理服務器能實現多個目的,其最基本的功能是連接功能,它可以提供文件緩存、復制和地址過濾等服務,充分利用有限的出口帶寬,加快內部主機的訪問速度,也可以解決多用戶需要同時訪問外網,但公有IP地址又不足的問題。同時可以作為一個防火墻,隔離內網與外網,并且能提供監控網絡和記錄傳輸信息的功能,加強局域網的安全性,實現內容過濾、訪問控制管理等功能。因此代理服務器能夠幫助我們實現共享網絡;加速訪問,節約帶寬;防止內部主機受到攻擊;限制用戶訪問,控制流量,完善網絡管理。
3 代理服務器的架設
代理服務的實現并不困難,只需在企業局域網的一臺服務器上運行代理服務器軟件就能實現。目前代理服務器軟件產品主要有:Squid、Netscape Proxy、Microsoft Proxy,Microsoft ISA,WinProxy、WinGate、winRoute、SyGate、CCProxy、SuperProxy等。這些代理軟件可為局域網內的PC提供代理服務。
3.1 優秀的代理服務器軟件Squid
Squid是Linux和UNIX平臺下最為流行的高性能免費應用層代理服務器,它具有權限管理靈活、性能高和效率快等特點,是優秀的代理服務器軟件。之所以優秀,是因為它可以在代理服務器上作一個很大的緩存,將常去的網站內容存儲到緩存中,這樣,內部網的機器再訪問那些網站,就可以從緩存里調用,加快內部網瀏覽網站的速度。
Squid的另一個優越性在于它使用訪問控制列表(ACL)和訪問權限列表(ARL)進行權限管理和內容過濾。訪問控制清單和訪問權限清單通過阻止特定的網絡連接來減少潛在的Internet非法連接,可以使用這些清單來確保內部網的主機無法訪問有威脅的或不適宜的站點。
另一方面,Squid不僅僅支持HTTP協議,而且還支持 FTP,Gopher,SSL和WAIS等協議,考慮到簡捷實用的原則,Squid作為代理服務器不僅性能優異,而且還詳細的紀錄了各個客戶端的訪問紀錄。
Squid可以工作在很多的操作系統中,如 AIX,Digital Unix,FreeBSD,HP-UX,Irix, Linux,NetBSD,SCO,Solaris,OS/2等,由于它安裝簡單,使用方便,所以已經被廣泛使用。
3.2 應用Squid架設代理服務器
Squid是運行在Linux和UNIX平臺下的高性能免費應用層代理服務器。在Red Had Enterprise Linux系統中可以容易地實現代理服務,因為在默認的情況下Red Had Enterprise Linux系統就將Squid軟件安裝在系統上,只需網絡管理者依據應用需求,對Squid的代理服務進行相應的配置和啟動服務,就完成了Squid代理服務器的架設。
3.3 代理服務器的硬件選擇
是否必須為架設代理服務器而專門購置專用服務器設備呢?這必須從網絡的規模和需求進行選擇。使用專用的服務器,在服務器上安裝Red Had Enterprise Linux系統,實現代理服務,固然理想。但對于小規模的企業能提供一臺性能優良的PC設備,作為專門的代理服務器使用,也基本可以滿足需求。對幾個人的部門或公司,如果要進一步節省成本,只需要在網絡管理員的自身電腦上安裝虛擬機軟件,在虛擬機上安裝并運行Red Had Enterprise Linux系統,同樣也可以架設代理服務器,而且不影響這臺電腦的正常使用。
4 應用代理服務器進行網絡管理
Red Had Enterprise Linux系統中,Squid的主要配置文件是/etc/squid/squid.conf,其中涉及網絡管理的最基本設置包括:
設置squid監聽的IP地址和端口號;
設置內存緩沖的大小;
設置硬盤緩沖的大小;
定義DNS服務器的地址;
設置訪問日志文件;
設置緩存日志文件;
設置網頁緩存日志文件;
設置訪問控制列表。
代理服務器之所以能應用于網絡管理,是因為能夠依據用戶的要求,制定網絡管理的訪問策略,通過設置訪問控制列表,查看訪問日志文件,對網絡進行管理和監控。
4.1 設置訪問控制列表實現網絡管理策略
網絡管理就是指監督、組織和控制網絡通信服務以及信息處理所必需的各種活動的總稱。企事業單位性質的不同,網絡使用規模的不同,決定了網絡需求的不同,同時也決定了不同的網絡管理策略。
對于一個大型網絡而言,其網絡結構復雜,擁有大量的交換機、路由器、服務器,網絡管理者一定希望應用網管軟件,就能夠對網進行統一管理。因此傾向購買大型專用的網管設備和軟件,針對整個網絡進行監測、管理和優化。
而對于中、小型網絡而言,網絡結構相對簡單,或許中心機房擁有高性能的網絡管理設備,但整個網絡的各個區域對網絡用途的需求不盡相同,實際中較難全面滿足理想中的網絡管理策略。
或許有些企業,不希望員工上班時間訪問互聯網,但又不能限制所有員工訪問互聯網;或許網絡必須對研發部門、銷售部門開放,而對售后服務部門只能允許其訪問公司內部網頁。對于企業管理者,通常不希望員工使用QQ、MSN等工具在上班時段聊天。對于學校而言,某個時段某個機房需訪問互聯網,但又要限制學生訪問不良網站。如何進行這些各式各樣的管理控制,這就需要制訂策略,實現網絡管理。
運行在Linux平臺下的Squid代理服務器,擁有設置訪問控制列表的功能,都能為中、小企業各式各樣的網絡管理策略進行量身定制,進行配置和應用。
以下以運行在Red Had Enterprise Linux系統中的Squid代理服務器為例,通過在Squid主要配置文件/etc/squid/squid.conf中進行設置,說明一些典型的訪問控制應用的配置。
禁止192.168.5.0這個子網里所有的客戶機在周一到周五的9:00到18:00上網。
aclbadclientnetsrc192.168.5.0/255.255.255.0
aclworktimetimeMTWHF9:00-18:00
http_accessdenybadclientnet
禁止IP地址為192.168.1.200的客戶機上網
aclbadclientip1src192.168.1.200
http_accessdenybadclientip1
禁止用戶訪問IP地址為210.21.118.68的網站。
aclbadsrvip1dst210.21.118.68
http_accessdenybadsrvip1
禁止用戶訪問域名包含有163.com的網站
aclbadurl1url_regex-i163.com
http_accessdenybadurl1
禁止用戶訪問域名包含有sex關鍵字的URL。
aclbadurl2url_regex-isex(下轉第1802頁)
(上接第1797頁)
http_accessdenybadurl2
禁止QQ通過Squid代理上網。
aclqqurl_regex-itencent.com
http_accessdenyqq
4.2 使用訪問日志監控網絡安全
不論是企業,還是學校,網絡管理員通過訪問列表的控制,可以限制員工或學生對網絡站點的訪問。但需求是各個方面的,完全的限制也就必然制約了互聯網的應用,難以享受互聯網性能和發展的成果。
另一方面,國家的相關部門也是三令五申地要求對辦公場所的網絡管理要提供并保留數十天網絡訪問日志,有助于國家的信息安全管理。
雖然訪問日志的記錄可以通過防火墻、專業的網絡安全設備或網絡管理軟件來實現,但對于一個企業的部門、一個規模較小的公司,并非都有這樣設備的投資預算。因此,應用Linux平臺上的Squid代理服務,就是一個良好的選擇。
Squid的主要配置文件/etc/squid/squid.conf中,cache_access_log選項定義了記錄訪問日志文件的路徑,該日志文件記錄了用戶訪問Internet的詳細信息,通過訪問日志文件可以查看每臺客戶機上網記錄。例如:
cache_access_log/var/log/squid/access.log
這樣 /var/log/squid/access.log 就是訪問記錄的日志文件,為網絡管理員提供了查看上網記錄的可能,有效地監控網絡的安全。
5 結束語
從網絡管理的本質而言,代理服務器實現的網絡管理的功能,或許專用的網絡管理硬件設備或網絡管理軟件也能實現,甚至界面與效果還會超越代理服務器的性能,但那都是要付出更多的投資為代價。而現實中,采用代理服務器實現網絡管理擁有許多優勢,由于代理服務僅需要一個Linux的平臺,因此可以將代理服務器架設在現有的DNS服務器、DHCP服務器或FTP服務器中,甚至可以利用虛擬機,實現零投資的網絡管理。特別是應用透明代理的工作方式,可使用戶感覺不到代理服務器的存在,不需要在客戶端的瀏覽器作任何設置,僅要求客戶端的默認網關設置為代理服務器的IP地址即可。同時,利用虛擬機架設的代理服務器,還可以靈活地應用在一些臨時性場所,進行網絡管理。
參考文獻:
[1] 林慧琛,劉殊,尤國君.Red Hat Linux服務器配置與應用[M].北京:人民郵電出版社,2006.
[2] 王春海.虛擬機技術與應用——配置、管理與實驗[M].北京:清華大學出版社,2006.