[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 系統管理 > Linux > 正文
RedHat6.2服務器配置方案大全--第五章 Squid
本文出自:http://lslnet.com/linux/ 作者:湯海京  (2001-09-28 10:00:00)

5.1 簡 介 
  作為一種免費的網絡操作系統,Linux越來越受到廣大網絡愛好者的歡迎,目前因特網
(Internet)上運行的主機有相當一部分採用的就是linux操作系統,而且中國已經把linux
操作系統作為政府上網年的指定網絡操作系統,種種跡象表明,linux操作系統正在逐漸走向
成熟。在本章我將向大家介紹一種能在Linux系統下使用的比較優秀的代理服務器軟件的配置
方法。 

  眾所周知,當今因特網發展速度極其迅猛,IP地址資源非常緊張。而如果您想訪問因特網,
共享因特網的豐富資源,您的機器必須擁有一個標準的IP地址。在因特網上,IP地址是識別您
的機器的唯一標志。目前,有兩種方式可以讓您的機器擁有標準的IP地址:一種是局域網通過
專線接入因特網,您的機器可以擁有靜態的IP地址。所謂靜態IP地址,就是對使用者來說,是
固定不變的IP地址,這個IP地址給您使用,其他人就不能再用了。一種是通過電話線撥號或
ISDN撥號等方式接入因特網,您的機器可以在您撥號上網的在線期間從ISP的訪問服務器的IP地
址池中獲得一個臨時的標準IP地址,這個IP地址在您下線就不歸您使用了,而您下次撥號再
上網,很可能分配給您的機器的是另外一個臨時的IP地址了。這種臨時分配的IP地址,稱為動態
IP地址。無論是靜態地址還是動態地址,在您的機器訪問因特網時,使用起來沒有什區別。 

  現在因特網發展速度這快,而IP地址資源又這緊張,這不能不說是一個尖銳的矛盾。雖
說Ipv6正在開發中,但遠水不解近渴,好多的企業、公司內部的Intranet現在就想接入因特網這
個浩瀚的資源海洋,但又苦沒有充足的IP地址資源,怎辦?還好,有代理服務這個好東西。
代理服務是指由一台擁有標準IP地址的機器代替若幹沒有標準IP地址(以下稱內部地址)的機器
和因特網上的其他主機打交道,提供代理服務的這台機器稱為代理服務器。擁有內部地址的機器
想到因特網上查找資料時,先把這個請求發給擁有標準IP地址的代理服務器,由代理服務器把這
個請求通過它的標準IP地址發到請求的目標地址。然目標地址的服務器把返回的結果發回給代
理服務器,代理服務器再原封不動的把資料發給最初那台擁有內部IP地址的機器。這樣就完成了
一次內部機器訪問因特網的一個過程。若幹擁有內部地址的機器就組成了內部網,代理服務器的
作用就是勾通內部網和因特網,解決內部網訪問因特網的問題。而且這種代理是不可逆的,因特
網上的主機不能訪問任何一台擁有內部地址的機器,這樣又可以保障內部資料的安全性。 

  能夠完成這種代理功能的服務器軟件有好多,我給大家推薦一種能在linux下使用的比較優秀
的代理服務器軟件Squid。之所以說它比較優秀,是因為它可以在代理服務器上作一個很大的緩存,
可以把好多常去的網站內容存儲到緩存中,這樣,內部網的機器再訪問那些網站,就可以從緩存裡
調用了。這樣一方面可以加快內部網瀏覽因特網的速度,這就是所謂的提高客戶機的訪問命中率,
 另一方面,Squid不僅僅支持HTTP協議,而且還支持FTP,GOPHER,SSL和WAIS等協議考慮到簡捷實用
 的原則,我們本章只向大家介紹如何設置HTTP代理,而其他的代理大同小異,各位理解了HTTP的
 配置也就明白應該如何配置其他的代理了。 

5.2 所需系統資源 
  5.2.1 配置文件: 

  文件               來源 

  /etc/squid/squid.conf       squid-2.3.STABLE1-5 

  5.2.2 相關工具: 

  文件               來源 

  /etc/rc.d/init.d/squid      squid-2.3.STABLE1-5 

  /etc/spool/squid         squid-2.3.STABLE1-5 

5.3 配置方案 
  1./etc/squid/squid.conf squid主配置文件 

  作用:包括了全部的squid配置選項,管理員只需編輯此文件便可達到提供代理服務的目的。 

  實例: 

  http_port 3128 

  #HTTP協議代理默認代理端口 

  cache_mem 42 MB 

  #開劈一塊內存區域作為緩沖 

  cache_dir ufs /home/squid/cache 2048 16 256 

  #開劈一塊硬盤空間,作為硬盤緩沖區,這塊區域的分布是連續的,邏輯關系由管理員設定 

  cache_access_log /var/log/squid/access.log 

  #該log文件是用來描述每次客戶請求HTTP內容時,高速緩存命中或未命中的項目。同時描述提出
請求的主機身份及它們所需的內容。 

  cache_log /var/log/squid/cache.log 

  #用描述當squid守護進程啟動時,可看到有多少內存、交換空間,高速緩存目錄的位置,所
接受的連接類型及接受連接的端口。 

  cache_store_log /var/log/squid/store.log 

  #用描述頁面從高速緩存中被調入調出的情況。 

  pid_filename /var/run/squid.pid 

  #管理員可以通過查看此文件了解當前執行的squid進程。 

  dns_nameservers 192.168.10.1 

  #定義域名解析服務器的地址 

  acl all src 0.0.0.0/0.0.0.0 

  #定義all 

  acl manager proto cache_object 

  acl localhost src 127.0.0.1/255.255.255.255 

  acl SSL_ports port 443 563 

  acl Safe_ports port 80 21 443 563 70 210 1025-65535 

  acl Safe_ports port 280 # http-mgmt 

  acl Safe_ports port 488 # gss-http 

  acl Safe_ports port 591 # filemaker 

  acl Safe_ports port 777 # multiling http 

  acl CONNECT method CONNECT 

  http_access allow all 

  #對所有來自子網的HTTP請求均不作限制 

  http_access deny !Safe_ports 

  #禁止來自!Safe_ports的HTTP請求 

  http_access deny CONNECT !SSL_ports 

  icp_access allow all 

  miss_access allow all 

  cache_mgr root@mycompany.com 

  #設置cache管理員的郵件箱地址 

  acl whitehouse dst 209.67.27.247 

  #設置地址變量 

  acl BAD dst whitehouse 

  #設置禁止訪問的外部地址變量 

  http_access deny BAD 

  acl whitehouseurl url_regex http://www.whitehouse.com 

  #設置禁止訪問的外部URL 

  acl BAD dst whitehouseurl 

  http_access deny BAD 

  #管理員可以通過IP和URL兩種方式實現對外部網站的屏蔽 

  reference_age 1 week 

  #設置緩沖區的更新周期 

  maximum_object_size 4096 KB 

  #設置允許被緩存的一次性最大請求 

  2./etc/rc.d/rc.local 

  echo 1 > /proc/sys/net/ipv4/ip_forward 

  #增加該行的意思是,打開ip_forward,使得系統能夠支持IP轉發。 

  ipchains -I forward -s 192.168.10.0/24 -d 0/0 -j MASQ 

  #設置透明代理的一種方式。 

5.4 測試及管理方法 
  1.管理員更改了配置選項之需要執行/etc/rc.d/init.d/squid restart使得更改生效。 

  2.在客戶端的IE瀏覽器中需要設置代理服務器為192.168.10.1,端口為3128。 

  3.在配置文件中設定的cache_dir 需要通過squid -z 使得這個目錄生效,當然,在squid -z之
前先要更改這個目錄的權限:chmod 0777 /home/squid/cache。 

5.5 本章小結 
  看完本章之,我想各位一定有個深切的感受,squid的配置文件十分的長,而且能幹的事情實
在是太多了,但是我們作為一名合格的管理員應該從需求方案出發,以客戶的需求為導向,配置出我
們自己需要的服務器,這樣不但可以滿足需要,還能大大減少我們的工作量,配置squid就是一個鮮
明的例子。 
(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
RedHat6.2服務器配置方案大全--第十二章 MySQL,記 (2001-09-29 09:05:01)
RedHat6.2服務器配置方案大全--第九,十,十一章Apache、Tomcat/JServ/php3/MySQL的整合 (2001-09-29 08:05:01)
RedHat6.2服務器配置方案大全--第八章 ISDN (2001-09-29 07:05:00)
RedHat6.2服務器配置方案大全--第七章 PPP (2001-09-28 15:00:00)
RedHat6.2服務器配置方案大全--第六章 Sendmail (2001-09-28 12:00:00)
RedHat6.2服務器配置方案大全--第五章 Squid (2001-09-28 10:00:00)
RedHat6.2服務器配置方案大全--第三章 DHCP,第四章 Samba (2001-09-28 09:00:00)
RedHat6.2服務器配置方案大全--第二章 Apache (2001-09-28 08:00:00)
RedHat6.2服務器配置方案大全--第一章:DNS (2001-09-28 07:00:00)
 

★  樊強制作 歡迎分享  ★