這裡我們示範如何使用 Tor 洋蔥路由器與 Privoxy 架設匿名網頁代理伺服器,讓電腦上網時隱藏自己的 IP 資訊。

我們之前介紹過用樹莓派架設 Tor 匿名洋蔥網路代理伺服器,讓區域網路內的電腦匿名上網,而這裡我們將使用 Tor 與 Privoxy 架設一個獨立的網頁代理伺服器,讓任何地點的電腦都可以匿名上網,不會受到地域限制。


Tor 與 Privoxy 的架構比較適合個人使用,若要多人使用的話,可以考慮 Squid 整合 Privoxy 與 Tor 的架構

安裝 Tor

使用 apt 安裝 tor 套件:

sudo apt-get install tor

安裝後 Tor 系統的服務應該會自動啟用,檢查 Tor 服務是否正常:

service tor status

這裡我們是將 Tor 與 Privoxy 安裝在同一台電腦上,這種狀況下 Tor 的設定不需要改,使用預設值即可。

安裝 Privoxy

sudo apt-get install privoxy

修改 /etc/privoxy/config 設定檔,將整合 Tor 與 Privoxy 這一行設定的註解拿掉:

# To chain Privoxy and Tor, both running on the same system, you
# would use something like:
forward-socks5t   /               127.0.0.1:9050 .

將這個整合 Tor 與 Privoxy 的設定啟用之後,本機的瀏覽器即可使用 localhost:8118 這個代理伺服器進行匿名上網。

若要讓使用者透過 Privoxy 與 Tor 上網時,也可以正常連線至區域網路中的網頁伺服器,就要把這三行的註解一併拿掉,讓這幾個網段的連線不要經過 Tor 洋蔥路由器:

forward         192.168.*.*/     .
forward            10.*.*.*/     .
forward           127.*.*.*/     .

Privoxy 的服務預設只有開在本機的 loopback IP 位址,也就是說只有本機的瀏覽器才能使用:

listen-address  127.0.0.1:8118
listen-address  [::1]:8118

若要開放外部的電腦使用,就要修改 listen-address 的設定,例如若想要將 Privoxy 的服務開在所有網路介面的 8118 連接埠,可以這樣寫:

listen-address  :8118

更改設定之後,要重新啟動 Privoxy 服務,讓新設定生效:

sudo service privoxy restart

設定好 Privoxy 之後,就可以將瀏覽器的代理伺服器指定為 Privoxy 的位址:

Firefox 連覽器

設定好瀏覽器的代理伺服器之後,可以開啟 Tor 的檢測網頁,測試看看瀏覽器是否真的有使用 Tor 上網:

Tor 檢測網頁

限制連線 IP 位址

在 Privoxy 的設定檔中,我們可以透過 permit-accessdeny-access 來限制連線的 IP 位址,permit-access 是設定允許的 IP 位址,而 deny-access 則是設定禁止的 IP 位址,若沒有符合任何一個條件時,則預設的情況是禁止。

permit-accessdeny-access 的語法為:

permit-access 來源IP[:連接埠][/網路遮罩] [目的IP[:連接埠][/網路遮罩]]
deny-access   來源IP[:連接埠][/網路遮罩] [目的IP[:連接埠][/網路遮罩]]

以下是一些使用範例。

僅允許來自於本機的連線,目的 IP 沒有指定的話就代表沒有限制,只要是來自於本機的連線,要連到哪裡都可以:

permit-access  localhost

這一行設定是讓 www.privoxy.org 所在的 Class C 網段都可以連線至 www.example.com

permit-access  www.privoxy.org/24 www.example.com/32

這兩行是讓 192.168.45.64/26 可以上網,但是 192.168.45.73 不可以連到 www.dirty-stuff.com

permit-access  192.168.45.64/26
deny-access    192.168.45.73    www.dirty-stuff.com

參考資料:Marcus PoveyPrivoxyTor ProjectJessie Frazelle’s BlogLinux M0nk3ysvanimpe.euLinuxReviews