Squid 傳統代理:瀏覽器
如下介紹它的第一個做用:正向代理緩存
正向代理是一個位於客戶端和原始服務器(origin server)之間的服務器,爲了從原始服務器取得內容,客戶端向代理髮送一個請求並指定目標(原始服務器),而後代理向原始服務器轉交請求並將得到的內容返回給客戶端。客戶端必需要進行一些特別的設置才能使用正向代理服務器
做用:能夠共享上網,也能夠緩解服務器的訪問壓力隱藏了客戶端的信息dom
代理機上要爲雙網卡;eth0 (192.168.1.104)連接外網,eth1 (192.168.2.105)連接內網tcp
安裝squidide
squid -z//初始化緩存空間網站
取得squid運行狀態信息:squidclient -p 8080 mgr:infoui
取得squid內存使用狀況:squidclient -p 80mgr:mem加密
取得squid的磁盤使用狀況:squidclient -p 8080 mgr:diskdurl
vi squid.conf
其中容許大於拒絕
添加:
acl sun (能夠本身命名) src 192.168.2.0/24 表示容許這個網段走代理
http_access sun allow表示容許上面走代理的網端連接http
http_port 3128 代理端口
打開高速緩存:
cache_dir ufs /var/spool/squid 100 16 256 表示 緩存目錄ufs(/var/spool/squid)最大緩存爲100 M 一級緩存目錄爲16個二級爲256個
####這裏要加速,能夠將緩存目錄掛在內存上##
在客戶端瀏覽器設置代理
http proxy ip (設置內網IP)端口爲squid設置的端口3128
若是要拒絕代理端訪問某個網站
先容許其代理訪問這個網站
acl sunbo dst www.qq.com(也能夠是要訪問的IP)
而後再拒絕
http_access deny sunbo這裏特別要注意位置,放在http_access allow以前
acl規則限制配置
# deny news #過濾全部url中含有news的網站
acl news url_regex -i news
#過濾URL中出現news關鍵字
http_accessdeny news
# deny video #過濾主流的視頻網站
acl videodstdomain .youku.com .56.com .tudou.com .qiyi.com
http_accessdeny video
acl worktimetime MTWHF 9:00-12:00
http_accessdeny !worktime #9:00-12:00這段時間外不能夠訪問
time ACL容許你控制基於時間的訪問,時間爲天天中的具體時間,和每週中的天天。日期以單字母來表示,見以下表。時間以24小時制來表示。[星期]:可使用這些關鍵字M(Monday星期一)、T(Tuesday星期二)、W(Wednesday星期三)、H(Thursday星期四)、F(Friday星期五)、A(Saturday星期六)和S(Sunday星期天)[時間段]:能夠表示爲10:00-20:00。例如:
aclworktime time MTWHF 9:00-18:00週一到週五的9點到18點
二 .squid 透明代理:
只要添加如下便可:
http_port 3128 transparent
cache_dir ufs /var/spool/squid 100 16 256
設置squid.conf中透明代理的相關選項,以下所示:
/sbin/iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j SNAT --to-source 192.168.1.104
#####也能夠指定動態地址假裝,可是比較耗資源#######
iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24(也能夠不指定)-i eth0(不指定也能夠) --dport 80 -j REDIRECT --to-ports 3128
在作訪問控制便可。