日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

squid介绍及其简单配置

發(fā)布時(shí)間:2025/4/16 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 squid介绍及其简单配置 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.Squid是什么?

Squid是一種用來緩沖Internet數(shù)據(jù)的軟件。它是這樣實(shí)現(xiàn)其功能的,接受來自人們需要下載的目標(biāo)(object)的請(qǐng)求并適當(dāng)?shù)靥幚磉@些請(qǐng)求。也就是說,如果一個(gè)人想下載一web頁面,他請(qǐng)求Squid為他取得這個(gè)頁面。Squid隨之連接到遠(yuǎn)程服務(wù)器(比如:http://squid.nlanr.net/)并向這個(gè)頁面發(fā)出請(qǐng)求。然后,Squid顯式地聚集數(shù)據(jù)到客戶端機(jī)器,而且同時(shí)復(fù)制一份。當(dāng)下一次有人需要同一頁面時(shí),Squid可以簡單地從磁盤中讀到它,那樣數(shù)據(jù)迅即就會(huì)傳輸?shù)娇蛻魴C(jī)上。當(dāng)前的Squid可以處理HTTP,FTP,GOPHER,SSL和WAIS等協(xié)議。但它不能處理如POP,NNTP,RealAudio以及其它類型的東西。


2.squid代理的作用:

3. 接下來我們主要探討的是squid各種代理的定義


正向代理

a.標(biāo)準(zhǔn)的代理緩沖服務(wù)器

一個(gè)標(biāo)準(zhǔn)的代理緩沖服務(wù)被用于緩存靜態(tài)的網(wǎng)頁(例如:html文件和圖片文件等)到本地網(wǎng)絡(luò)上的一臺(tái)主機(jī)上(即代理服務(wù)器)。當(dāng)被緩存的頁面被第二次訪問的時(shí)候,瀏覽器將直接從本地代理服務(wù)器那里獲取請(qǐng)求數(shù)據(jù)而不再向原web站點(diǎn)請(qǐng)求數(shù)據(jù)。這樣就節(jié)省了寶貴的網(wǎng)絡(luò)帶寬,而且提高了訪問速度。但是,要想實(shí)現(xiàn)這種方式,必須在每一個(gè)內(nèi)部主機(jī)的瀏覽器上明確指明代理服務(wù)器的IP地址和端口號(hào)。客戶端上網(wǎng)時(shí),每次都把請(qǐng)求送給代理服務(wù)器處理,代理服務(wù)器根據(jù)請(qǐng)求確定是否連接到遠(yuǎn)程web服務(wù)器獲取數(shù)據(jù)。如果在本地緩沖區(qū)有目標(biāo)文件,則直接將文件傳給用戶即可。如果沒有的話則先取回文件,先在本地保存一份緩沖,然后將文件發(fā)給客戶端瀏覽器。

b.透明代理緩沖服務(wù)器

透明代理緩沖服務(wù)和標(biāo)準(zhǔn)代理服務(wù)器的功能完全相同。但是,代理操作對(duì)客戶端的瀏覽器是透明的(即不需指明代理服務(wù)器的IP和端口)。透明代理服務(wù)器阻斷網(wǎng)絡(luò)通信,并且過濾出訪問外部的HTTP(80端口)流量。如果客戶端的請(qǐng)求在本地有緩沖則將緩沖的數(shù)據(jù)直接發(fā)給用戶,如果在本地沒有緩沖則向遠(yuǎn)程web服務(wù)器發(fā)出請(qǐng)求,其余操作和標(biāo)準(zhǔn)的代理服務(wù)器完全相同。對(duì)于Linux操作系統(tǒng)來說,透明代理使用Iptables或者Ipchains實(shí)現(xiàn)。因?yàn)椴恍枰獙?duì)瀏覽器作任何設(shè)置,所以,透明代理對(duì)于ISP(Internet服務(wù)器提供商)特別有用。


反向代理:

a. 反向代理緩沖服務(wù)器

反向代理是和前兩種代理完全不同的一種代理服務(wù)。使用它可以降低原始WEB服務(wù)器的負(fù)載。反向代理服務(wù)器承擔(dān)了對(duì)原始WEB服務(wù)器的靜態(tài)頁面的請(qǐng)求,防止原始服務(wù)器過載。它位于本地WEB服務(wù)器和Internet之間,處理所有對(duì)WEB服務(wù)器的請(qǐng)求,組織了WEB服務(wù)器和Internet的直接通信。如果互聯(lián)網(wǎng)用戶請(qǐng)求的頁面在代理服務(wù)器上有緩沖的話,代理服務(wù)器直接將緩沖內(nèi)容發(fā)送給用戶。如果沒有緩沖則先向WEB服務(wù)器發(fā)出請(qǐng)求,取回?cái)?shù)據(jù),本地緩存后再發(fā)送給用戶。這種方式通過降低了向WEB服務(wù)器的請(qǐng)求數(shù)從而降低了WEB服務(wù)器的負(fù)載。


4.Squid主要組成部分

服務(wù)名:squid

主程序:/usr/sbin/squid

配置目錄:/etc/squid

主配文件:/etc/squid/squid.conf

監(jiān)聽tcp端口號(hào):3128

默認(rèn)訪問日志文件:/var/log/squid/access.log


5.squid 常用配置選項(xiàng)(/etc/squid/squid.conf)

http_port 3128 (還可以只監(jiān)聽一個(gè)一個(gè)ip http_port 192.168.0.1:3128)

cache_mem 64MB#緩存占內(nèi)存大小

maximum_object_size 4096KB#最大緩存塊

reply_body_max_size 1024000 allow all #限定下載文件大小

access_log /var/log/squid/access.log #訪問日志存放的文件

visible_hostname proxy.test.com #可見的主機(jī)名

cache_dir ufs /var/spool/squid 100 16 256

usf:緩存數(shù)據(jù)的存儲(chǔ)格式

/var/spool/squid 緩存目錄

100 : 緩存目錄占磁盤空間大小(M)

16 :緩存空間一級(jí)子目錄個(gè)數(shù)

256 :緩存空間二級(jí)子目錄個(gè)數(shù)

cache_mgr webmaster@test.com #定義管理員郵箱

http_access deny all #訪問控制


6.squid中的訪問控制

使用訪問控制特性,可以控制在訪問時(shí)根據(jù)特定的時(shí)間間隔進(jìn)行緩存、訪問特定站點(diǎn)或一組站點(diǎn)等等。 Squid 訪問控制有兩個(gè)要素:ACL 元素和訪問列表。訪問列表可以允許或拒絕某些用戶對(duì)此服務(wù)的訪問。

下面列出一些重要的 ACL 元素類型

  * src : 源地址 (即客戶機(jī)IP地址)

  * dst : 目標(biāo)地址 (即服務(wù)器IP地址)

  * srcdomain : 源名稱 (即客戶機(jī)名稱)

  * dstdomain : 目標(biāo)名稱 (即服務(wù)器名稱)

  * time : 一天中的時(shí)刻和一周內(nèi)的一天

  * url_regex : URL 規(guī)則表達(dá)式匹配

  * urlpath_regex: URL-path 規(guī)則表達(dá)式匹配,略去協(xié)議和主機(jī)名

  * proxy_auth : 通過外部程序進(jìn)行用戶驗(yàn)證

  * maxconn : 單一 IP 的最大連接數(shù)

為了使用控制功能,必須先設(shè)置 ACL 規(guī)則并應(yīng)用。ACL 聲明的格式如下:

acl acl_element_name type_of_acl_element values_to_acl

注:

  1. acl_element_name 可以是任一個(gè)在 ACL 中定義的名稱。

  2. 任何兩個(gè) ACL 元素不能用相同的名字。

  3. 每個(gè) ACL 由列表值組成。當(dāng)進(jìn)行匹配檢測的時(shí)候,多個(gè)值由邏輯或運(yùn)算連接;換言之,即任一 ACL bbs.bitsCN.com 元素的值被匹配,則這個(gè) ACL 元素即被匹配。

  4. 并不是所有的 ACL 元素都能使用訪問列表中的全部類型。

  5. 不同的 ACL 元素寫在不同行中,Squid 將把它們組合在一個(gè)列表中。

  我們可以使用許多不同的訪問條目。下面列出我們將要用到的幾個(gè):

  * http_access: 允許 HTTP 訪問。這個(gè)是主要的訪問控制條目。

  * no_cache: 定義對(duì)緩存請(qǐng)求的響應(yīng)。

  訪問列表的規(guī)則由一些類似 'allow' 或 'deny' 的關(guān)鍵字構(gòu)成,用以允許或拒絕向特定或一組 ACL 元素提供服務(wù)。

  注: 

  1. 這些規(guī)則按照它們的排列順序進(jìn)行匹配檢測,一旦檢測到匹配的規(guī)則,匹配檢測就立即結(jié)束。

  2. 一個(gè)訪問列表可以有多條規(guī)則組成。

  3. 如果沒有任何規(guī)則與訪問請(qǐng)求匹配,默認(rèn)動(dòng)作將與列表中最后一條規(guī)則對(duì)應(yīng)。

  4. 一個(gè)訪問條目中的所有元素將用邏輯與運(yùn)算連接:

  http_access Action 聲明1 AND 聲明2 AND 聲明 OR.

  http_access Action 聲明3

  多個(gè) http_access 聲明間用或運(yùn)算連接,但每個(gè)訪問條目的元素間用與運(yùn)算連接。

  5. 請(qǐng)記住列表中的規(guī)則總是遵循由上而下的順序。


7.下面我們來對(duì)squid幾種代理進(jìn)行簡單配置:

標(biāo)準(zhǔn)的代理緩沖服務(wù)器的配置:

a.squid服務(wù)器上的配置

準(zhǔn)備環(huán)境:軟件包:squid(任意版本)

雙網(wǎng)卡:eth0:192.168.1.1 eth1:10.106.34.12

如圖:

vi /etc/squid/squid.conf

http_port 192.168.1.1:3128 (可寫多個(gè))

cache_mem 64MB

maximum_object_size 4096KB

reply_body_max_size 1024000 allow all

access_log /var/log/squid/access.log

visible_hostname proxy.test.com

? ? ? ? ? ? ? ? cache_mgr webmaster@test.com

? ? ? ? ? ? ? ? http_access allow all

b.一切配置以后:

? ? ? ?squid –z 初始化緩存

squid –k parse 檢查語法

service squid start 啟動(dòng)squid

chkconfig squid on 加入開機(jī)啟動(dòng)

netstat –nltp 查看3128端口是否打開

c.客服端的配置:

? ? ? ? ip : 192.168.1.12 gw:192.168.1.1

? ? ? ? 然后打開瀏覽器工具選項(xiàng)連接局域網(wǎng)設(shè)置代理服務(wù)器

? ? ? ? 地址:192.168.1.1 端口:3128

? ? ? ? 在瀏覽器輸入http://www.google.cn即可訪問,上網(wǎng)了easy吧!

透明代理緩沖服務(wù)器的配置:

a. aquid服務(wù)器上的配置與標(biāo)準(zhǔn)的代理緩沖服務(wù)器幾乎一樣

差別就是:http_port 192.168.1.12:3128 transparent

b.添加iptables規(guī)則:

iptables -t nat -I PREROUTING -s 192.168.1.0/24 -p tcp -dport 80 -j REDIRECT --to-ports 3128

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -p tcp --dport 53 -j SNAT -to-source 10.106.34.12

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -p udp --dport 53 -j SNAT -to-source 10.106.34.12

squid –k parse

service squid reload

c.客服端不需要在瀏覽器中指定代理服務(wù)器的地址,端口

但需設(shè)置上網(wǎng)的DNS

好了經(jīng)過上三個(gè)步驟你就可以上網(wǎng)了


反向代理緩沖服務(wù)器配置

? ? ? ?注意:反向代理和透明代理不能同時(shí)使用

? ? ? ?步驟:

? ? ?a. Squid服務(wù)器的設(shè)置,修改/etc/squid/squid.conf

同樣反向代理aquid服務(wù)器上的配置與標(biāo)準(zhǔn)的代理緩沖服務(wù)器幾乎一樣

不同之處:http_port 10.106.34.12:80 vhost

Cache_peer 192.168.1.12 parent 80 0 originserver weight=5 max-conn=30

上一行的解釋:定義web服務(wù)器 web服務(wù)器地址 服務(wù)器類型 http端口 icp端口 [可選項(xiàng)]

squid –k parse

service squid reload

? ? ? b. 客服端的設(shè)置(注意:這時(shí)的客服端就是web服務(wù)器)

? ? ? ? ? ?開啟web服務(wù)

? ? ? ? ? ?好了通過以上配置外網(wǎng)即可訪問你的web服務(wù)器了


轉(zhuǎn)載于:https://blog.51cto.com/davideylee/1386497

總結(jié)

以上是生活随笔為你收集整理的squid介绍及其简单配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。