天天看點

代理伺服器squid

Squid cache(簡稱為Squid)是一個流行的自由軟體(GNU通用公共許可證)的代理伺服器和Web緩存伺服器。Squid有廣泛的用途,從作為網頁伺服器的前置cache伺服器緩存相關請求來提高Web伺服器的速度,到為一組人共享網絡資源而緩存網際網路,域名系統和其他網絡搜尋,到通過過濾流量幫助網絡安全,到區域網路通過代理上網。Squid主要設計用于在Unix一類系統運作。

正向代理:

這裡我利用linux系統作為squid伺服器,是以首先要來在linux上安裝squid。

代理伺服器squid

當本地站點沒有緩存時,需要DNS主動轉向Internet進行請求資訊,為要進行解析,需要有DNS指向,配置/etc/resolv.conf檔案,指明DNS,這裡我使用的是電信的

代理伺服器squid

然後把squid服務啟起來service squid start

為了實作代理,需要配置squid的配置檔案,對其進行相應的修改

vim /etc/squid/squid.conf

首先,配置一下出現錯誤時的規則

代理伺服器squid

意思是說,當無法通路時,頁面顯示轉到其網關192.168.2.254(當然可以根據實際需求進行配置,這裡隻是實驗說明),顯示錯誤頁面效果,讓使用者明白通路出錯。

然後重新開機squid服務service squid restart

這時可以測試一下,但測試之前,要對内部主機做代理:

代理伺服器squid

然後測試一下

代理伺服器squid

這是因為我們沒有配置代理的其他資訊,是上不去網的,由圖可以看出,剛才做的已經生效了。

然後接着對配置檔案進行配置,來達到想要的效果。這裡先允許一下所有的,來看下效果

代理伺服器squid

不要忘了重新開機squid服務

代理伺服器squid

說明,代理已經生效了。但是允許所有當然不是理想的情況,這時,可以對其他地方進行編輯配置,來達到理想的效果

這裡先以控制一台主機為例:

代理伺服器squid

上圖中的badip是自己起的名字,590、591兩行表示拒絕192.168.2.100通路外網

配置完成以後,同樣要重新開機服務,這裡把其中一台主機位址改為192.168.2.100,然後來看測試結果

代理伺服器squid

然後把位址改成其他的再測試

代理伺服器squid

要做其他的效果,可以根據自己的需求根據配置檔案裡的說明來編輯配置檔案即可,這裡我就不在一一舉例。

透明代理:

把所有的通過80多口的流量都重定向到3128端口

剛才我們在浏覽器裡設定了代理,在做透明代理時,我們要把其取消,并在填寫位址時要填寫上網關、DNS。

然後要把squid伺服器的資料轉發功能打開,編輯/etc/sysctl.conf

代理伺服器squid

然後執行如下指令:

代理伺服器squid

然後做端口的重定向(把所有的通過80多口的流量都重定向到3128端口)

代理伺服器squid

這條指令什麼意思,來看另一指令就清楚了

代理伺服器squid

然後去配置squid的配置檔案來做政策

代理伺服器squid

這裡不做其他配置,依然先允許所有,然後依然要重新開機服務,測試

代理伺服器squid

然後再來做一個例子

代理伺服器squid

然後重新開機服務測試

代理伺服器squid
代理伺服器squid

反向代理:

為了說明問題,首先要在内部主機搭建一www伺服器,這裡,為了,說明問題,隻是簡答的搭建了一下

代理伺服器squid

配置squid配置檔案

代理伺服器squid
代理伺服器squid

然後重新開機服務,測試

在外部pc浏覽器内輸入http://192.168.102.44便能通路到内部www伺服器了: