新聞中心
Squid是基于Unix的代理服務(wù)器(proxy server),它緩存比起點(diǎn)源點(diǎn)更接近請求者的互聯(lián)網(wǎng)內(nèi)容。Squid支持緩存多種不同的網(wǎng)絡(luò)對象,包括那些通過HTTP和FTP訪問的人。緩存頻繁要求網(wǎng)頁、媒體文件和其它加速回答時間并減少帶寬堵塞的內(nèi)容,下面為大家分享一下Linux下搭建 Squid代理服務(wù)器具體步驟。

“只有客戶發(fā)展了,才有我們的生存與發(fā)展!”這是創(chuàng)新互聯(lián)的服務(wù)宗旨!把網(wǎng)站當(dāng)作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個不僅審美在線,而且實(shí)用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對成都網(wǎng)站制作、網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)頁設(shè)計、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無止境。
img
1.1 工作流程
當(dāng)代理服務(wù)器中有客戶端需要的數(shù)據(jù)時: a. 客戶端向代理服務(wù)器發(fā)送數(shù)據(jù)請求; b. 代理服務(wù)器檢查自己的數(shù)據(jù)緩存; c. 代理服務(wù)器在緩存中找到了用戶想要的數(shù)據(jù),取出數(shù)據(jù); d. 代理服務(wù)器將從緩存中取得的數(shù)據(jù)返回給客戶端。
當(dāng)代理服務(wù)器中沒有客戶端需要的數(shù)據(jù)時: \1. 客戶端向代理服務(wù)器發(fā)送數(shù)據(jù)請求; \2. 代理服務(wù)器檢查自己的數(shù)據(jù)緩存; \3. 代理服務(wù)器在緩存中沒有找到用戶想要的數(shù)據(jù); \4. 代理服務(wù)器向Internet 上的遠(yuǎn)端服務(wù)器發(fā)送數(shù)據(jù)請求; \5. 遠(yuǎn)端服務(wù)器響應(yīng),返回相應(yīng)的數(shù)據(jù); \6. 代理服務(wù)器取得遠(yuǎn)端服務(wù)器的數(shù)據(jù),返回給客戶端,并保留一份到自己的數(shù)據(jù)緩存中。 Squid代理服務(wù)器工作在TCP/IP的應(yīng)用層。
1.2 Squid 分類
按照代理類型的不同,可以將Squid 代理分為正向代理和反向代理,正向代理中,根據(jù)實(shí)現(xiàn)方式的不同,又可以分為普通代理和透明代理。 ? 普通代理:需要客戶機(jī)在瀏覽器中指定代理服務(wù)器的地址、端口; ? 透明代理:適用于企業(yè)的網(wǎng)關(guān)主機(jī)(共享接入Internet)中,客戶機(jī)不需要指定代理服務(wù)器地址、端口等信息,代理服務(wù)器需要設(shè)置防火墻策略將客戶機(jī)的Web訪問數(shù)據(jù)轉(zhuǎn)交給代理服務(wù)程序處理; ? 反向代理:是指以代理服務(wù)器來接受internet上的連接請求,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給internet上請求連接的客戶端,此時代理服務(wù)器對外就表現(xiàn)為一個服務(wù)器。
二、系統(tǒng)環(huán)境
操作系統(tǒng):CentOS release 6.5 Squid版本:squid-3.1.10-20.el6_5.3.x86_64 關(guān)閉httpd 關(guān)閉防火墻
三、安裝Squid服務(wù)
3.1 檢查squid軟件是否安裝
# rpm -qa|grep squid
3.2 如果未安裝,則使用yum 方式安裝
# yum -y install squid
3.3 設(shè)置開機(jī)自啟動
# chkconfig --level 35 squid on //在3、5級別上自動運(yùn)行squid服務(wù)
四、squid服務(wù)器的配置文件說明
squid 的主配置文件是 /etc/squid/squid.conf,所有squid的設(shè)定都是在這個文件里配置,下面是一些常用的配置選項(xiàng)。
http_port 3128 //設(shè)置監(jiān)聽的IP與端口號
cache_mem 64 MB //額外提供給squid使用的內(nèi)存,squid的內(nèi)存總占用為 X * 10+15+“cache_mem”,其中X為squid的cache占用的容量(以GB為單位),
//比如下面的cache大小是100M,即0.1GB,則內(nèi)存總占用為0.1*10+15+64=80M,推薦大小為物理內(nèi)存的1/3-1/2或更多。
maximum_object_size 4 MB //設(shè)置squid磁盤緩存最大文件,超過4M的文件不保存到硬盤
minimum_object_size 0 KB //設(shè)置squid磁盤緩存最小文件
maximum_object_size_in_memory 4096 KB //設(shè)置squid內(nèi)存緩存最大文件,超過4M的文件不保存到內(nèi)存
cache_dir ufs /var/spool/squid 100 16 256 //定義squid的cache存放路徑 、cache目錄容量(單位M)、一級緩存目錄數(shù)量、二級緩存目錄數(shù)量
logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %h" "%{User-Agent}>h" %Ss:%Sh //log文件日志格式 access_log /var/log/squid/access.log combined //log文件存放路徑和日志格式 cache_log /var/log/squid/cache.log //設(shè)置緩存日志 logfile_rotate 60 //log輪循 60天 cache_swap_high 95 //cache目錄使用量大于95%時,開始清理舊的cache cache_swap_low 90 //cache目錄清理到90%時停止。 acl localnet src 192.168.1.0/24 //定義本地網(wǎng)段 http_access allow localnet //允許本地網(wǎng)段使用 http_access deny all //拒絕所有 visible_hostname squid.david.dev //主機(jī)名 cache_mgr [email protected] //管理員郵箱
五、普通代理服務(wù)
即標(biāo)準(zhǔn)的、傳統(tǒng)的代理服務(wù),需要客戶機(jī)在瀏覽器中指定代理服務(wù)器的地址、端口。 實(shí)驗(yàn)拓?fù)鋱D如下:
5.1 配置Squid 代理服務(wù)器IP地址
將eth1的IP地址修改為200.168.10.1
# ifconfig eth1 200.168.10.1
CentOS6 Squid代理服務(wù)器的安裝與配置CentOS6 Squid代理服務(wù)器的安裝與配置
5.2 編輯squid 主配置文件/etc/squid/squid.conf
http_port 3128
cache_mem 64 MB
maximum_object_size 4 MB
cache_dir ufs /var/spool/squid 100 16 256
access_log /var/log/squid/access.log
acl localnet src 192.168.1.0/24
http_access allow localnet
http_access deny all
visible_hostname squid.david.dev
cache_mgr [email protected]
5.3 初始化
# squid -z
CentOS6 Squid代理服務(wù)器的安裝與配置CentOS6 Squid代理服務(wù)器的安裝與配置
5.4 啟動Squid
# /etc/init.d/squid start
5.5 配置Web 服務(wù)器
A. 安裝Apache
# rpm -qa|grep httpd
# yum -y install httpd
B. 啟動Apache并加入開機(jī)啟動
# /etc/init.d/httpd start
# chkconfig httpd on
C. 創(chuàng)建index.html
# echo "Squid-Web1/200.168.10.2
" > /var/www/html/index.html
D. 修改Web服務(wù)器IP地址 將web服務(wù)器的IP地址修改為200.168.10.2
# ifconfig eth0 200.168.10.2
5.6 配置客戶端IP地址
CentOS6 Squid代理服務(wù)器的安裝與配置CentOS6 Squid代理服務(wù)器的安裝與配置
5.7 配置瀏覽器代理
打開瀏覽器(以IE為例,其他類似),菜單欄 -> 工具 -> Internet 選項(xiàng) -> 連接 -> 局域網(wǎng)設(shè)置 -> 代理服務(wù)器,按照以下格式設(shè)置。
5.8 測試
CentOS6 Squid代理服務(wù)器的安裝與配置CentOS6 Squid代理服務(wù)器的安裝與配置
六、透明代理服務(wù)
適用于企業(yè)的網(wǎng)關(guān)主機(jī),客戶機(jī)不需要指定代理服務(wù)器地址、端口等信息,通過iptables將客戶機(jī)的Web訪問數(shù)據(jù)轉(zhuǎn)交給代理服務(wù)程序處理。 實(shí)驗(yàn)拓?fù)鋱D如下:
6.1 修改squid 主配置文件/etc/squid/squid.conf
http_port 3128 transparent
cache_mem 64 MB
maximum_object_size 4 MB
cache_dir ufs /var/spool/squid 100 16 256
access_log /var/log/squid/access.log
acl localnet src 192.168.1.0/24
http_access allow localnet
http_access deny all
visible_hostname squid.david.dev
cache_mgr [email protected]
在http_port 3128 后添加transparent 關(guān)鍵字。
6.2 reload
reload 讓上面的配置生效。
# /etc/init.d/squid reload
6.3 添加iptables規(guī)則,把內(nèi)部的http請求重定向到3128端口
A. 啟動iptables 服務(wù)
# /etc/init.d/iptables start
B. 清除現(xiàn)有iptables filter 表規(guī)則
# iptables -F
C. 保存iptables 設(shè)置
# /etc/init.d/iptables save
D. 在nat表中新增一條規(guī)則
# iptables -t nat -I PREROUTING -i eth0 -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
E. 保存
# /etc/init.d/iptables save
6.4 修改客戶端IP地址
將默認(rèn)網(wǎng)關(guān)設(shè)置為squid 服務(wù)器的內(nèi)網(wǎng)ip地址。
6.5 在瀏覽器中,取消代理設(shè)置
CentOS6 Squid代理服務(wù)器的安裝與配置CentOS6 Squid代理服務(wù)器的安裝與配置
七、反向代理服務(wù)
為Internet用戶訪問企業(yè)Web站點(diǎn)提供緩存加速。 實(shí)驗(yàn)拓?fù)洌?
7.1 關(guān)閉防火墻
# /etc/init.d/iptables stop
7.2 修改Web Server 主頁
Web1:
# echo "Squid-Web1/192.168.1.18
" > /var/www/html/index.html
Web2:
# echo "Squid-Web1/192.168.1.19
" > /var/www/html/index.html
7.3 配置squid
http_port 80 accel vhost
http_access allow all
cache_peer 192.168.1.18 parent 80 0 originserver round-robin weight=1
cache_peer 192.168.1.19 parent 80 0 originserver round-robin weight=1
visible_hostname squid.david.dev
cache_mgr [email protected]
7.4 啟動Squid服務(wù)
squid啟動失敗,因?yàn)樯厦嬖O(shè)定了squid的監(jiān)聽端口是80,和系統(tǒng)的http服務(wù)沖突,所以要將http服務(wù)停掉,然后再啟動squid。
7.6 測試
squid 采用了round-robin,所以客戶端的訪問將輪詢兩臺web服務(wù)器,采用 “Ctrl + F5” 來深度刷新測試。 Web1: Web2:
網(wǎng)站名稱:Linux下搭建Squid代理服務(wù)器具體步驟
網(wǎng)頁URL:http://www.fisionsoft.com.cn/article/coijseo.html


咨詢
建站咨詢
