欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Squid做代理服務器的方法

 更新時間:2007年02月28日 00:00:00   作者:  
說到代理服務器,我們最先想到的可能是一些專門的代理服務器網(wǎng)站,某些情況下,通過它們能加快訪問互聯(lián)網(wǎng)的速度。其實,在需要訪問外部的局域網(wǎng)中,我們自己就能設(shè)置代理,把訪問次數(shù)較多的網(wǎng)頁保存在緩存中,從而“提高”網(wǎng)絡速度。更重要的是,我們能通過代理服務器,達到控制訪問權(quán)限的目的。在 Windows中,有很多這樣的軟件,如:WinGate、SyGate等,不過,本文要討論的,是能給你充分自由的Linux下的Squid。
  Linux下的代理服務器軟件也不是只有Squid,不過在大部分Linux版本中都帶有它。

  走進“代理”

  首先,我們來了解一下代理服務器的工作原理。代理服務器其實就是基于TCP/IP的一種軟件,它在TCP的某個端口上進行監(jiān)聽,例如:4444,其他客戶機(就是想通過代理上網(wǎng)的那些Windows系統(tǒng))配置好應用軟件,如:IE。其中需要填上代理服務器的端口,即前例中的4444,這樣代理服務器才知道你要訪問的地址。如果你是合法用戶的話,它就取得你想要的網(wǎng)頁,然后再通過4444這個端口傳遞給你,上網(wǎng)時你不會感覺到代理服務器的存在。

  而代理服務器的真正意義在于:一、由于它是先將網(wǎng)頁下載到本地使用,因此訪問頻率越高的站點速度就會越快;二、如果你沒有訪問某個站點的權(quán)限而它有,你就能通過它訪問到該站點;三、它可以控制你的訪問。

  當今,通過窄帶聯(lián)入Internet的恐怕仍然占大多數(shù),代理服務器的提速作用也就十分明顯了。

  熟悉Linux的朋友可能知道,在Linux下有Ipchains可以做路由器,一樣可以控制訪問權(quán)限,但Ipchains的缺點是不支持DNS解析,如果你想通過它控制客戶機的訪問,就必須一一指定目的地的IP,如果有誰把Ipchains用在訪問Internet上,那他一定是瘋了,因為 Internet上的IP地址不但多得像天上的星星,而且和星星一樣隨時都在變化。Squid就不同,它可以指定哪些域后綴不能訪問,如:.tw、. net等,這樣就把域名對IP的映射交給ISP去做了。

  配置舉例

  在這個例子中,我們使用的是一臺普通品牌機做代理服務器,內(nèi)裝兩塊網(wǎng)卡,第一塊eth0接的是本單位的局域網(wǎng),第二塊eth1接的是一臺簡單的Internet共享器,操作系統(tǒng)是RedHat Linux 6.1,Ipchains和Squid都是系統(tǒng)自帶的。

  像大多數(shù)Linux軟件一樣,Squid是通過配置文件工作的,它的默認配置文件是/etc/squid/squid.conf,原始文件長達數(shù)十頁,給出了詳細的配置說明,其中真正用得上的,可能只是很小的一部分??纯聪旅孢@個配置文件,其實很多選項都是一目了然的:

  http_port 4444

  #代理服務器監(jiān)聽的端口

  cache_dir /var/cache/squid 100 16 32

  #緩存目錄 大小(兆) 第一級子目錄個數(shù) 第二級子目錄個數(shù)

  cache_access_log /var/log/squid/access.log

  cache_log /var/log/squid/cache.log

  acl all src 0.0.0.0/0.0.0.0

  acl head src 192.168.0.2/255.255.255. 255 192.168.0.3/255.255.255.255

  acl normal src 192.168.0.21-192.168. 0.99/255.255.255.255

  acl denysite dstdomain tw net

  acl denyip dst 61.136.135.04/255.255. 255.255

  acl dnsport port 53

  http_access allow head

  http_access deny denysite

  http_access deny denyip

  http_access allow normal

  http_access deny dnsport

  實例分析

  上面的內(nèi)容,就是一個基本Squid所需要的全部配置,是不是很簡單?!

  從上面我們可以看到,代理服務器使用4444這個端口進行監(jiān)聽,緩存目錄為100MB,IP地址為192.168.0.2和192.168.0.3的用戶可訪問所有站點,而IP地址為192.168.0.21~99的用戶不能訪問后綴為tw和net的站點,也不能訪問IP地址為 61.136.135.04的站點(如果dst 61.136.135.04/255.255.255.255變成dst 61.136.135.04/255.255.255.0,指的是61.136.135.0這個網(wǎng)絡)。

  很明顯,Squid使用acl 來定義用戶組,并使用http_access來控制用戶組的權(quán)限。acl后面可以是src(源地址)、dst(目標地址)、proto(協(xié)議)、port (端口)、 srcdomain(源域)、dstdomain(目標域)等,Squid的控制功能十分強大,你甚至可以用acl aclname time指定用戶組生效的時間,不過要注意,用http_access設(shè)置不同用戶組的權(quán)限時,Squid是按從上到下的順序執(zhí)行的,如果你想關(guān)閉一個組訪問某些站點的權(quán)限,就必須把deny的相應句子放在這個組的前面。

  另外,Squid文檔中特別指出,如果沒有相應的access設(shè)置,那么默認的權(quán)限與最后一行相反,在上例中,一個IP為192.168.0.5的客戶未被定義卻能訪問外部網(wǎng)絡,因此,在最后一行設(shè)置http_access deny all是很有必要的。

  設(shè)置完成后,就可以直接運行Squid來啟動它,如果配置文件有誤,Squid會給出相應的提示。然后再使用Ipchains設(shè)置包的轉(zhuǎn)發(fā)規(guī)則,如只允許客戶機使用POP3(110)、SMTP(25)、DNS(53)這幾個端口收發(fā)信件,瀏覽網(wǎng)頁只能使用代理,這樣網(wǎng)絡就安全得多了。

相關(guān)文章

最新評論