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