您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)squid本質(zhì)及正向代理的實(shí)例分析,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
一、squid簡(jiǎn)介
Squid Cache (簡(jiǎn)稱(chēng)為 Squid )是 HTTP 代理服務(wù)器 軟件。Squid用途廣泛的,可以作為 緩存服務(wù)器 , 代理用戶向web服務(wù)器請(qǐng)求數(shù)據(jù)并進(jìn)行緩存, 可以過(guò)濾流量幫助網(wǎng)絡(luò)安全,也可以作為代理服務(wù)器鏈中的一環(huán),向上級(jí)代理轉(zhuǎn)發(fā)數(shù)據(jù)或直接連接互聯(lián)網(wǎng)。 還也可以用在局域網(wǎng)中,使局域網(wǎng)用戶通過(guò)代理上網(wǎng)。
Squid將數(shù)據(jù)元緩存在內(nèi)存中,同時(shí)也緩存 DNS查尋的結(jié)果,除此之外,它還支持非模塊化的DNS查詢(xún),對(duì)失敗的請(qǐng)求進(jìn)行消極緩存。Squid支持SSL,支持 訪問(wèn)控制。由于使用了ICP,Squid能夠?qū)崿F(xiàn)重疊的代理陣列,從而最大限度的節(jié)約帶寬。
Squid由一個(gè)主要的服務(wù)程序Squid,一個(gè)DNS查詢(xún)程序 dnsserver,幾個(gè)重寫(xiě)請(qǐng)求和執(zhí)行認(rèn)證的程序,以及幾個(gè)管理工具組成。當(dāng)Squid啟動(dòng)以后,它可以派生出指定數(shù)目的 dnsserver進(jìn)程,而每一個(gè)dnsserver進(jìn)程都可以執(zhí)行單獨(dú)的DNS查詢(xún),這樣一來(lái)就大大減少了服務(wù)器等待DNS查詢(xún)的時(shí)間。
Squid的另一個(gè)優(yōu)越性在于它使用 訪問(wèn)控制清單(ACL)和訪問(wèn)權(quán)限清單(ARL)。訪問(wèn)控制清單和訪問(wèn)權(quán)限清單通過(guò)阻止特定的網(wǎng)絡(luò)連接來(lái)減少潛在的Internet非法連接,可以使用這些清單來(lái)確保內(nèi)部網(wǎng)的主機(jī)無(wú)法訪問(wèn)有威脅的或不適宜的站點(diǎn)。
二、squid應(yīng)用
squid即可以作為正向代理服務(wù)器也可以作為反向代理服務(wù)器。更多關(guān)于代理服務(wù)器分類(lèi),請(qǐng)參考博文: 系統(tǒng)原理分析架構(gòu)-三--代理服務(wù)器簡(jiǎn)介及分類(lèi) (2014-10-15 19:54)
注:本來(lái)此文是講解squid作為反向代理的頁(yè)面緩存功能的,但是由于squid常用的還有正向代理功能,因此也一并講解,后續(xù)文章中也會(huì)以這種思路進(jìn)行講解,這樣通過(guò)對(duì)比更能加深對(duì)整個(gè)squid的理解。
1、squid正向代理服務(wù)器
舉個(gè)簡(jiǎn)單的例子,假若公司內(nèi)網(wǎng)機(jī)器正常來(lái)說(shuō)都不讓訪問(wèn)外網(wǎng)。但是由于工作需要,為研發(fā)同事配備了一臺(tái)統(tǒng)一能夠訪問(wèn)外網(wǎng)查看資料的機(jī)器。這樣每次大家有需要上外網(wǎng)則需要爭(zhēng)搶唯一一臺(tái)外網(wǎng)主機(jī)。這種情況在大多數(shù)公司存在。聰明的程序員肯定不肯罷休,怎么也要把自己機(jī)器搗鼓出能上外網(wǎng)。這時(shí)候squid正向代理就能派上用場(chǎng)了。
注:正向代理還包括透明代理,本專(zhuān)題。
2、使用squid正向代理訪問(wèn)外網(wǎng):
(1)環(huán)境:
假設(shè)windows機(jī)器不能訪問(wèn)外網(wǎng),能訪問(wèn)內(nèi)網(wǎng)。(windows7) 有一臺(tái)linux服務(wù)器,能訪問(wèn)外網(wǎng),且windows機(jī)器能夠與該機(jī)器互相訪問(wèn)。(centos 6.5 mini版,ip:192.168.10.36) |
(2)node36上安裝squid:
# yum install squid #安裝squid
# vim /etc/sysctl.conf#開(kāi)啟路由轉(zhuǎn)發(fā)功能
net.ipv4.ip_forward設(shè)置為1
# vi /etc/sysconfig/network
# sysctl -p#路由強(qiáng)制生效
# service network restart
配置squid:
# vim /etc/squid/squid.conf
#http_port指令告訴squid在哪個(gè)端口偵聽(tīng)HTTP請(qǐng)求。默認(rèn)端口是3128
#緩存目錄的設(shè)置,可以設(shè)置多個(gè)緩存目錄,語(yǔ)法為:<cache_dir> <aufs|ufs> <目錄所在> <MBytes大小> <dir1> <dir2>
#設(shè)置acl訪問(wèn)控制表
以允許192.168.10.0/24網(wǎng)段內(nèi)所有客戶機(jī)訪問(wèn)代理服務(wù)器為示例:
配置文件中添加acl my_allow_net src 192.168.10.0/24
配置文件中添加acl my_allow_net src 192.168.10.0/24
(注:該記錄一定要添在deny all之前,應(yīng)該配置文件讀到deny all則后面的配置文件就不生效)
# squid -k parse
假如你看不到輸出,配置文件有效,你能繼續(xù)后面的步驟。然而,如果配置文件包含錯(cuò)誤,squid會(huì)告訴你
# squid -z #初始化緩存空間
# /etc/init.d/squid restart#重啟squid生效,起送squid時(shí)間比較長(zhǎng),耐心等待
(3)windows下測(cè)試代理服務(wù)器:
瀏覽器訪問(wèn)baidu.com
后臺(tái)日志:
tailf /var/log/squid/access.log
普通正向代理成功。
3、高級(jí)功能配置項(xiàng)
#停止squid
#重配置運(yùn)行中的squid進(jìn)程,重配置運(yùn)行中的squid最好的方法是使用squid -k reconfigure命令:
#禁止來(lái)自某些IP地址的訪問(wèn),在squid配置文件中添加以下acl名稱(chēng)及訪問(wèn)規(guī)則,并重新加載配置文件
#禁止在某些時(shí)段訪問(wèn) |
4、關(guān)于squid的透明代理
透明代理業(yè)屬于正向代理的一種,不同的是普通代理需要在客戶端(瀏覽器局域網(wǎng)代理服務(wù)器)設(shè)置代理IP和PORT,而透明代理再通過(guò) NAT功能,將特定的數(shù)據(jù)請(qǐng)求映射到代理服務(wù)器上。
ex:#iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.62.0/24 --dport 80 -j REDIRECT --to-ports 3128
上述就是小編為大家分享的squid本質(zhì)及正向代理的實(shí)例分析了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。