這裡我們示範如何使用 Tor 洋蔥路由器與 Privoxy 架設匿名網頁代理伺服器,讓電腦上網時隱藏自己的 IP 資訊。
我們之前介紹過用樹莓派架設 Tor 匿名洋蔥網路代理伺服器,讓區域網路內的電腦匿名上網,而這裡我們將使用 Tor 與 Privoxy 架設一個獨立的網頁代理伺服器,讓任何地點的電腦都可以匿名上網,不會受到地域限制。
使用 apt 安裝 tor
套件:
sudo apt-get install tor
安裝後 Tor 系統的服務應該會自動啟用,檢查 Tor 服務是否正常:
service tor status
這裡我們是將 Tor 與 Privoxy 安裝在同一台電腦上,這種狀況下 Tor 的設定不需要改,使用預設值即可。
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 的位址:
設定好瀏覽器的代理伺服器之後,可以開啟 Tor 的檢測網頁,測試看看瀏覽器是否真的有使用 Tor 上網:
在 Privoxy 的設定檔中,我們可以透過 permit-access
與 deny-access
來限制連線的 IP 位址,permit-access
是設定允許的 IP 位址,而 deny-access
則是設定禁止的 IP 位址,若沒有符合任何一個條件時,則預設的情況是禁止。
permit-access
與 deny-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 Povey、Privoxy、Tor Project、Jessie Frazelle’s Blog、Linux M0nk3ys、vanimpe.eu、LinuxReviews