SSD Nodes Learn 🎉 VPS $5.50/月起
指南 Matt Connor作者: Matt Connor · 已更新 2026-08-13

Tor 與 VPN 怎麼選?你實際需要哪一種

Tor 與 VPN 解決不同的隱私問題。了解每個 hop 能看到哪些資訊,以及為何用你本人名義租用的 VPS 不是匿名工具。

Tor 與 VPN:你實際需要哪一種

Tor 與 VPN 都會將你的網路流量經由不屬於你的機器傳送,但兩者解決的是不同問題。VPN(virtual private network,虛擬私人網路)會把你對網際網路服務供應商的信任,轉移給單一公司。該公司會看見你的真實位址,以及你造訪的每個目的地。Tor 則將信任分散到由不同人員執行的 3 個中繼站,因此沒有任何單一中繼站同時知道你的身分與前往的目的地。請先明確指出你要隱藏的對象,再選擇工具。

如果你要隱藏的是你目前連線的網路,VPN 是正確的工具。如果你要隱藏的是網站本身,或任何能要求單一公司提供紀錄的人員,Tor 是正確的工具。本指南其餘內容將詳細說明這兩句話背後的原因。

同時追蹤兩種設計中的一個請求

以一個普通請求為例:瀏覽器開啟 https://news.example.com。無論採用哪種設計,TLS(傳輸層安全性)都會保護頁面內容,因此中間的任何人都無法讀取文章。真正重要的是中繼資料:誰能得知你的 IP 位址、誰能得知目的地,以及誰能將這兩項資訊連結起來。隱私工具的作用,就是將這兩項資訊分開。VPN 會將這兩項資訊交由另一方掌握。Tor 則會將它們拆開。

使用 VPN 時各方能看到的資訊

你的 client 會加密每個封包,並將其傳送至單一端點。從該端點開始,流量會恢復為一般流量。

  • 你的 ISP(internet service provider)會看到你的線路與單一 VPN server address 之間的加密封包。它能看到流量量與時間,但看不到目的地 hostname,前提是 DNS(domain name system)查詢也經由 tunnel 傳送。
  • VPN operator 會在一側看到你的實際 IP address,在另一側看到每個目的地 address,以及時間與大小。這兩側的資訊會落在同一台 machine 上。
  • 目的地會看到 VPN 的 exit address,以及你的 browser 傳送的所有識別資訊。

因此,VPN 不會建立匿名性。它只是將觀察者從你的 ISP 移轉到 VPN provider。當問題出在區域網路,或 ISP 會篩選、轉售其所看到的資訊時,這確實有所幫助。但對你造訪的網站而言完全沒有幫助,因為你的流量仍會從一家確切知道你身分並持有付款紀錄的公司,以單一串流抵達該網站。

「no logs」聲明就是整項產品的核心,也是你無法從自身端驗證的唯一部分。你可以確認 tunnel 已建立。你可以確認 DNS 沒有洩漏。但你無法確認 operator 寫入磁碟的內容。這就是你接受的取捨:由你選擇的一家公司持有完整資訊。

檢查可能悄悄使 tunnel 失效的洩漏:

resolvectl status
curl -s https://ifconfig.me; echo

ifconfig.me 顯示的 address 應該是 VPN exit。承載預設 route 的連結所列出的 DNS server,應該是 tunnel 的 resolver。如果在 192.168.1.1 仍列出你的 local router,表示名稱查詢正以明文經由 local link 離開,因為通往該 router 的 route 位於 on-link,且比 tunnel 的預設 route 更具體。你的流量是私密的,但造訪網站的清單不是。DNS 查詢逸出 WireGuard tunnel會逐步說明修正方法。

使用 Tor 時各方可看到的資訊

Tor 會從由少數目錄授權機構發布的已簽署中繼清單(consensus)中,選出 3 個中繼建立電路。用戶端會將資料分層封裝,每個中繼各 1 層。每個中繼移除 1 層,只知道下一個節點,然後將其餘資料轉送出去。正因為有這些分層,路徑上的任何一方都不會同時掌握這 2 項資訊。

  • 你的 ISP 會看到前往 1 個 guard relay 的加密流量。由於中繼位址是公開的,ISP 可以判斷你正在使用 Tor,但無法知道你連到哪裡。
  • guard relay 會看到你的真實 IP 位址。它無法看到目的地,因為訊息中指出網站的部分,仍針對後續中繼加密。
  • middle relay 會看到一端是 guard relay,另一端是 exit relay。它看不到你,也看不到目的地。它的作用是讓 guard relay 與 exit relay 不會直接通訊。
  • exit relay 會看到目的地,以及流量離開 Tor network 時的內容。它看到的是 middle relay 的位址,而不是你的位址。使用 HTTPS 時,它會知道 hostname 與連線中繼資料,但看不到頁面內容。
  • 目的地會看到 exit relay 的位址。該位址會出現在公開的 exit list 中,此外還會看到瀏覽器提供的資訊。

要將你與網站連結起來,必須同時掌握 guard relay 與 exit relay 的資訊。這就是 Tor 設計的核心。這也是用戶端會連續數個月使用同一個 guard relay,而不是每次啟動都重新選擇的原因:如果持續更換入口,惡意中繼就會有更多機會成為你的 guard relay。

電路不是永久存在的。新的連線大約每 10 分鐘改用新的電路;已經開啟的 stream 則會持續使用建立時所用的電路。長時間下載的連線,與 15 分鐘後才開啟的分頁,通常會經由不同的 exit relay 離開。

3 個 hop 如何建立,且不讓任何中繼得知其他中繼

用戶端不會將中繼清單交給 guard relay。它會先與 guard relay 協商金鑰,接著透過 guard relay 傳送請求,要求將電路延伸至 middle relay,再透過該 hop 傳送後續請求,將電路延伸至 exit relay。每個中繼只會得知下一個必須通訊的鄰近節點,每個 hop 也都有自己的金鑰,其他 hop 無法看到。這就是 middle relay 無法僅靠檢視內容判斷 exit relay 身分的原因,也是即使某個中繼記錄所處理的所有資料,仍只會記錄其中一個片段的原因。

安裝並驗證路徑:

sudo apt update && sudo apt install -y tor
systemctl status tor@default
journalctl -u tor@default -n 20
curl --socks5-hostname 127.0.0.1:9050 https://check.torproject.org/api/ip

日誌應該會顯示 Bootstrapped 100% (done): Donecurl 應該會輸出 {"IsTor":true,"IP":"..."},並顯示一個你不認識的位址;這就是目前使用的 exit relay。若 IsTorfalse,表示請求從未經過 proxy。Ubuntu 套件庫中的 Tor 可能落後於目前版本;如果需要追蹤 upstream,Tor Project 會提供自己的 apt repository。

這個命令中有一個陷阱。--socks5 會讓 curl 自行解析 hostname,再將解析出的位址透過 proxy 傳送,因此你使用的正常 resolver 會得知你造訪的每個名稱。--socks5-hostname 則會將名稱傳給 Tor,由 exit relay 進行解析。兩者使用的是同一條 tunnel,但造成的資訊外洩完全不同。Tor Browser 與 torsocks 會正確處理這點。手動設定的工具通常不會。

Tor 只能承載 TCP stream。它無法承載 UDP,因此 ping 1.1.1.1 不會經過 Tor,採用 UDP 的 VPN protocol 也無法在其中運作。任何忽略 proxy 設定的程式,都會使用正常路由與正常位址,而且不會發出任何警告。因此,system-wide Tor 通常會在獨立的設備上使用 transparent proxy,而不是設定環境變數。

實際上信任落在誰手上

VPN 會集中信任。一家公司掌握你的身分、計費紀錄與完整的流量模式,而你的防護仰賴它承諾不保留日誌。只要這項承諾成立,這種設計就簡潔、快速且容易理解。若承諾因傳票、遭到入侵或謊言而失效,所有流量的防護會同時完全失效。

Tor 會分散信任。3 個彼此大多不認識的參與者各自持有一部分資訊,而單獨持有的片段價值很低。這種設計不要求任何一方都必須誠實才能運作,只要求其中足夠多的參與者彼此獨立。代價是速度較慢、僅支援 TCP,以及必然存在由想監控你的行為者執行部分 relay 的網路。Tor 對惡意 relay 的回應是:單一 relay 永遠不夠。

VPN 適用的情境

  • 你不信任所在的網路,例如旅館、機場、會議廳或房東提供的路由器。網路業者只能看到加密通道,無法看到其他內容。
  • 你想連線到自己的機器,或從自己控制的固定 IP 位址對外連線。
  • 你需要速度與 UDP,例如視訊通話、遊戲、大型傳輸或備份。
  • 你想使用不會被網站要求額外驗證的穩定 IP 位址。Tor 出口節點在許多網站上遭到封鎖,或會觸發 CAPTCHA。

以上情境說明了為何應該在 VPS 上自行架設 VPN,而不是購買訂閱服務;而自行設定的 WireGuard 伺服器,則能提供一條由你持有設定檔、並自行決定日誌記錄政策的通道。如果你還希望在相同通道上加入裝置對裝置的金鑰管理,請閱讀純 WireGuard 與 Tailscale 的差異。這些工具都非常適合處理上述情境,但都無法處理下一節的情境。

適合使用 Tor 的情況

  • 您的對手包括目的地網站,或任何能要求單一公司提供紀錄的人員。
  • 您正在閱讀或發布某些內容;如果這些活動被追溯到您的網路線路,可能會對您造成傷害。
  • 您需要 onion service:流量不離開 Tor network、不涉及 exit relay,且伺服器位址維持隱藏。
  • 您能接受載入速度緩慢、CAPTCHA,以及偶爾遇到 403 Forbidden

請使用 Tor Browser,不要使用日常瀏覽器連線到 port 9050。瀏覽器是保護機制的一半,後面的下一個章節會說明原因。

為什麼你租用的 VPS 在匿名性方面不如商業 VPN

這是許多人容易弄反的地方。你租用的 VPS 是一份登記有你姓名的租約。註冊電子郵件、付款卡片、發票與支援工單,都和該 IP 位址一起儲存在同一家公司的資料庫中。沒有人需要破解任何系統,才能將該位址連結到你。這些資料早已被記錄,基於一般會計理由保存,任何能以法律效力要求供應商提供資訊的人都可以取得。

第二個問題是使用者數量。商業 VPN 的出口位址會在同一時間由許多客戶共用,因此僅憑該位址無法指向單一個人。你的 VPS 位址則只有你使用。所有從該位址送出的請求,今天和下個月都代表你;而且該位址不會輪換,因此目的地不需要任何 cookie,也能跨數月建立使用者特徵。

這些都不代表自架 VPN 不值得使用。它非常適合在你無法控制的網路上加密流量,也適合從任何地點連回自己的服務。它只是不是匿名工具,將它當成匿名工具才是問題所在。若要了解供應商在該機器本身能看見和不能看見哪些資訊,請參閱 VPS 代管實際上有多安全

Tor 與 VPN 都無法解決的問題

  • 瀏覽器指紋。使用者代理程式、螢幕大小、時區、已安裝字型、語言與 canvas 繪製結果會組合成一個通常具有唯一性的值,而且無論使用哪個 IP 位址,這個值都會持續識別你。Tor Browser 會讓使用者彼此看起來相同,並以固定幅度調整視窗大小,以降低這項風險。透過 SOCKS proxy 使用一般瀏覽器時,瀏覽器仍會保留原有指紋與 cookies。
  • 登入。只要登入知道你姓名的帳戶,網路層便不再重要。從家中登入一次,再透過 Tor 登入同一個帳戶,兩個工作階段就會被連結。
  • 端點仍會記錄的任何內容:你輸入的內容、購買的項目,以及搜尋的內容。
  • 端對端關聯分析。若有人同時監看你的線路與出口端,就能比對時間與封包量,將兩端配對。Tor 明確表示,對於能同時看見兩端的對手,Tor 不提供防護。

可以同時使用 Tor 和 VPN 嗎?

VPN over Tor 是指 VPN 先建立連線,Tor 再在 VPN 連線內運作。如此一來,ISP 只會看到 VPN,而 guard relay 看到的是 VPN 的位址,不是你的位址。不過,你也把一家持有姓名與付款卡資料的公司置於系統之前,而該系統正是為了避免這種關聯而設計。只有在一種情況下,這樣做才值得:你的網路環境會因使用 Tor 而面臨危險,且沒有更好的選項。

Tor over VPN 是指流量離開 Tor network 後再進入 VPN 帳戶。這種方式較難設定,通常也更差。該帳戶綁定你的付款紀錄,因此你把穩定的身分重新綁定到前一刻仍匿名的流量上。

如果目的只是向 ISP 隱藏 Tor 的使用情況,受支援的做法是使用 bridge:採用不在公開 consensus 中的入口點,再搭配 obfs4 或 Snowflake 等 pluggable transport,讓流量難以分類。Tor Browser 內建這兩者,也不需要第三方公司取得你的姓名。

FAQ

Tor 只是免費的 VPN 嗎?

不是。VPN 會將您的網路流量經由單一公司管理的伺服器傳送。該公司可看到您的實際位址與所有目的地,因此只是把 ISP 替換成您選擇的服務提供者。Tor 會將流量經由由不同人員管理的 3 個 relay 傳送。guard 可看到您,但看不到您造訪的網站;exit 可看到網站,但看不到您。Tor 也僅支援 TCP,速度明顯較慢,且許多網站會封鎖或要求額外驗證。因此,Tor 不是 VPN 日常用途的直接替代方案。

我的 ISP 能知道我正在使用 Tor 嗎?

預設可以。relay 位址會公布在公開 consensus 中,因此您的服務提供者可以看到您連線到已知的 guard relay。但它無法看到您造訪哪些網站。若要隱藏使用 Tor 本身的事實,Tor Browser 提供搭配 obfs4 或 Snowflake 等 pluggable transport 的 bridges。這些 bridges 會經由不在公開清單中的 entry point 連線。在 Tor 前方使用 VPN,也能對 ISP 隱藏您正在使用 Tor,但同一項資訊會轉而交給 VPN 業者。

在自己的 VPS 上執行 VPN,能讓我匿名嗎?

不能。伺服器以您的姓名租用,並使用您的卡片付款,因此服務提供者的帳務紀錄早已將該位址與您連結。只要向服務提供者提出要求,就能取得這些紀錄。該位址也只有您使用,因此從該位址送出的所有內容都屬於同一個人,且只要您持續保留伺服器,就會一直可被連結。自架 VPN 可有效防範區域網路監看,但對於能向服務提供者提出調查要求的人而言,匿名性防護能力很弱。

為什麼我使用 Tor 時,網站會封鎖我或顯示 CAPTCHA?

因為 exit relay 位址是公開的,且由許多人共用。任何一名使用者發起的濫用行為,都會連帶影響您借用的位址。內容傳遞網路會給這些位址較低的信任評分,並回應驗證要求、403 Forbidden 或拒絕提交的註冊表單。您無法從自己的端點消除這個問題。建立新的 circuit 會取得不同的 exit,有時該 exit 的信譽較好。

如果我使用 VPN,DNS 查詢仍可能外洩嗎?

可能,而且很常見。若使用 full tunnel,但未為 tunnel interface 設定 resolver,您的用戶端會繼續使用從區域網路取得的 resolver。由於通往該 resolver 的路由位於本機連線上,其優先順序會高於 tunnel 的預設路由。這會導致 DNS 查詢以明文傳送,而其他流量仍受到加密。執行 resolvectl status,確認承載預設路由的連線所列出的 DNS server 是 tunnel 的 resolver,而不是本機路由器。