1. 程式人生 > >【樹莓派】Squid代理以及白名單配置

【樹莓派】Squid代理以及白名單配置

log cnblogs 顯式 端口 安裝 htm arch wap 軟件

Squid安裝:

sudo apt-get install squid3 -y

首先,建議備份一下這個配置文件,以免配錯之後,無法恢復,又得重新安裝:

sudo cp /etc/squid3/squid.conf /etc/squid3/squid.conf.default.bak

squid log查看:

sudo tial -f /var/log/squid3/access.log

服務啟動停止與查看狀態:

sudo service squid3 start
sudo service squid3 stop
sudo service squid3 status

補充幾條squid的命令說明:

#檢驗:如果沒有錯誤消息輸出,恭喜,你可以使用squid
sudo squid3 -k parse

# 重新配置Squid3,使得SquidGuard可以正常工作:
sudo squid3 reload
sudo squid3 -k reconfigure

# 清空緩存,關閉squid3
sudo squid3 -k kill

# 初始化squid的緩存空間
sudo squid3 -z

# 顯示創建交換目錄
sudo squid -z

# 啟動squid
sudo squid

# 關閉squid代理
sudo squid -k shutdown # 查看squid的狀態: sudo squid -k check # 重新配置Squid3,使得SquidGuard可以正常工作: sudo squid3 reload sudo squid3 -k reconfigure

# 重新啟動squid
sudo /usr/local/squid3/sbin/squid -k reconfigure

chrome--設置--網絡--更改代理服務器設置--連接--局域網設置--代理服務器

技術分享


貼一下squid.conf的配置信息內容:
http_port 0.0.0.0:3128                        #使用IPV4的3128端口作為代理服務器端口
cache_dir ufs 
/var/spool/squid3 1000 64 1024 #緩存目錄 cache_access_log /var/log/squid3/access.log #接入的日誌文件 cache_log /var/log/squid3/cache.log #緩存日誌 cache_store_log /var/log/squid3/store.log #存儲日誌 pid_filename /var/run/squid.pid #進程ID cache_mgr [email protected] #隨意填一個email cache_mem 32 MB #緩存大小 cache_swap_low 90 #最小交換空間 cache_swap_high 95 #最大交換空間 maximum_object_size 4096 KB maximum_object_size_in_memory 8 KB auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/squid_passwd #以上都沒意思,這邊是重點,使用NCSA讀取加密的用戶密碼 acl ncsa_users proxy_auth REQUIRED #代理身份使用認證模式 http_access allow ncsa_users #所有IP都可以使用代理

部分可以參考這幾篇文章:

http://blog.csdn.net/stamhe/article/details/5334875

http://www.cnblogs.com/vijayfly/p/6550182.html

http://www.cnblogs.com/newflypig/archive/2012/09/28/2862000.html

http://www.cnblogs.com/lixiuyuan999/p/6260179.html

剛才配置成功,現在附上兩份文件:

(1)可以通過內網代理訪問外網的配置:

visible_hostname lifeccp
acl localnet src 192.168.0.0/16
acl whitelist dstdomain "/etc/squid3/whitelist"
http_access allow whitelist
#解決websocket 協議時候,可以配置這個
request_header_add Connection "upgrade"

(2)在內網增加了白名單的訪問規則配置:

#http_access allow localnet
http_access allow whitelist
acl whitelist dstdomain "/etc/squid3/whitelist"

request_header_add Connection "upgrade"

(3)附上白名單文件:

.aliyuncs.com
.weixin.qq.com
.ronghub.com
.wx.qq.com
.lifeccp.com
uc.qbox.me

其他待後續在進行補充。

====================================================

官網:http://www.squid-cache.org/

squid是一種用來緩存Internet數據的軟件。接受來自人們需要下載的目標(object)的請求並適當的處理這些請求。也就是說,如果一個人想下載一web界面,他請求squid為他取得這個頁面。squid隨之連接到遠程服務器並向這個頁面發出請求。然後,squid顯式地聚集數據到客戶端機器,而且同時復制一份。當下一次有人需要同一頁面時, squid可以簡單的從磁盤中讀到它,那樣數據會立即傳輸到客戶機上。

squid代理的作用

  • 通過緩存的方式為用戶提供Web訪問加速
  • 對用戶的Web訪問進行過濾控制

工作流

當代理服務器中有客戶端需要的數據時:

a. 客戶端向代理服務器發送數據請求;

b. 代理服務器檢查自己的數據緩存;

c. 代理服務器在緩存中找到了用戶想要的數據,取出數據;

d. 代理服務器將從緩存中取得的數據返回給客戶端。

當代理服務器中沒有客戶端需要的數據時:

  1. 客戶端向代理服務器發送數據請求;

  2. 代理服務器檢查自己的數據緩存;

  3. 代理服務器在緩存中沒有找到用戶想要的數據;

  4. 代理服務器向Internet 上的遠端服務器發送數據請求;

  5. 遠端服務器響應,返回相應的數據;

  6. 代理服務器取得遠端服務器的數據,返回給客戶端,並保留一份到自己的數據緩存中。

1、安裝

sudo apt-get install squid3

2、常用命令

啟動:sudo service squid3 start

重啟:sudo service squid3 restart

停止:sudo service squid3 stop

3、配置介紹

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

常用配置:

http_port 3128

access_log /var/log/squid/access.log #訪問日誌存放的地方

visible_hostname proxy.test.xom #可見的主機名

cache_mgr [email protected] #定義管理員郵箱

http_access deny all #訪問控制

4、設置白名單

sudo vim /etc/squid3/squid.conf

acl whitelist dstdomain "/etc/squid3/whitelist"

http_access allow whitelist

Tips:whitelist中定義可以訪問的站點。

【樹莓派】Squid代理以及白名單配置