Tor

出自 Arch Linux 中文维基

本文內容或本節內容已經過期。

原因: 請提供模板的第一個位置參數以概括原因。 (在Talk:Tor討論)

這篇文章或章節的翻譯不反映原文。

原因:No updates since 2020, still references rc d.(在 Talk:Tor# 中討論)

Tor 是一個開源實現,第二代洋蔥路由匿名代理網絡,提供免費訪問。其首要目標是通過對流量分析攻擊保護,使網上的匿名性。

介紹[編輯 | 編輯原始碼]

使用Tor網絡在他們的機器上運行洋蔥代理。這個軟體向外連接到Tor,定期的通過Tor網絡連接一個虛擬的電子迴路。Tor在一個分層方式採用加密(因此有了『洋蔥』的比喻),確保路由器之間的完全保密。 同時, 洋蔥代理伺服器軟體,向客戶端提出了SOCKS接口。SOCKS監聽程序是Tor的特點,通過Tor的虛擬電路的流量,然後復。

警告: 僅僅使用Tor不能保證匿名。這裡可以看出幾個主要的誤導 (see: [1])。

通過這個過程洋蔥代理將會管理終端用戶的匿名網絡流量。它通過加密流量來保持用戶的匿名, 通過Tor的其他節點來發送信息,在發送信息到你指定的伺服器之前解密。雖然Tor相對的來說比一般的使用DNS目錄連接安全(例如:沒有使用代理), 由於大量的數據加密所以它相對來說比較慢。 此外,盡Tor阻止了流量分析但是Tor不能阻Tor網絡邊界流量的確認。(例如:例如流量進入或者退出網絡)。

Wikipedia:Tor (anonymity network)

安裝[編輯 | 編輯原始碼]

安裝位於官方軟體倉庫的軟體包 tor

此外,還可以安裝 Qt 前端 vidaliaAUR。除了控制 Tor 進程外,Vidalia 可以查看 Tor 的配置和狀態、監控帶寬使用並查看、過濾和搜索日誌信息。

配置[編輯 | 編輯原始碼]

為了更好的理解Tor/etc/tor/torrc配置文件. 配置選項在 man tortor(1)Tor website有介紹.

默認配置應該能夠很好的為大多數Tor用戶服務除了哪些是用Vidalia的用戶, Vidalia是一Tor的圖形界面。 在AUR有可用包vidaliaAUR。除了控制過程中的Vidalia允許您查看Tor狀態監視帶寬使用情況,查看,過濾,搜索日誌消息;和配置Tor的某些方面。

使用TOR_MAX_FD變量,您可以設置自定義文件為Tor的描述ulimits/etc/conf.d/tor

默認情況下的Tor記錄在日誌級別的通知「STDOUT」。如果你能夠記錄在自己的文件torrc, 他們默認為 /usr/local/var/log/tor/.

用法[編輯 | 編輯原始碼]

可以通過命令行或 vidalia 等圖形程序啟動 Tor.

要永久連接,可以啟動 tor daemon 並將其加入 DAEMONS 數組。

程序配置成實驗 127.0.0.1 或 localhost 作為 SOCKS5 代理就可以使用 Tor,埠要設置成 9050 (Tor 標準設置) 或 9051 (用 vidalia標準配置).

訪問 TorHarvard[失效連結 2021-05-17 ⓘ]Xenobite.eu 可以檢查 Tor 是否正確運行。

網頁瀏覽[編輯 | 編輯原始碼]

Tor主要支持Firefox,但是也支持Chromium。

Firefox[編輯 | 編輯原始碼]

如果你使用Firefox, 你可以安裝這個插件: TorButton。這將允許你很容易地在Tor的網絡和正常網絡切換。

如果你正在使用多代理(例如:如果你想使用 TOR 和 "ssh -D") 也有一個插件叫作 "FoxyProxy" 他允許你對於不同網址或者全部網址指定多個代理。只需將它指向localhost上的埠8118(polipo運行中)。

為了測試他, 在你的瀏覽器打開或者關閉Tor瀏覽這個網址this website。 更多信息請查看這個網址the official doc

Chromium[編輯 | 編輯原始碼]

當你使用Tor和Chromium時不需要polipo。只需要簡單的運行Tor daemon,

然後運行:

$ chromium --proxy-server="socks://localhost:9050"

即時通信[編輯 | 編輯原始碼]

要讓即時通信程序使用 Tor,並不需要 polipo/privoxy 等 http 代理。直接使用 tor 守護進程監聽的埠 9050 即可。

Pidgin[編輯 | 編輯原始碼]

通過 preferences -> proxy 進入編輯,設置為:

Proxy type 	SOCKS5
Host 	        127.0.0.1
Port 	        9150

之後 pidgin 會使用 Tor 進行通信。有時根據不同帳號的 IM 服務配置,需要修改代理設置。在 Accounts -> Manage Accounts 中選擇要修改的帳號,在 Proxy 標籤頁中選擇:

Proxy type 	Use Global Proxy Settings

Irssi[編輯 | 編輯原始碼]

Freenode 不推薦使用 Irssi 和 Privoxy。他們推薦 mapaddress 方式,通過運行 torify irssi 啟動。將下行加入 /etc/tor/torrc:

mapaddress  10.40.40.40 p4fsi4ockecnea7l.onion

Freenode 需要 charybdis 和 ircd-seven 的 SASL 機制在連接時進行 nickserv 確認。從 Freenode 網站(即 https://web.archive.org/web/20150423190608/http://www.freenode.net/sasl/cap_sasl.pl) 下載啟用 SASL 的 cap_sasl.pl,保存到 ~/.irssi/scripts/cap_sasl.pl

pacman 安裝需要的 perl 模塊和 AUR 中的 perl-crypt-dhAUR[損壞的連結:package not found].

$ pacman -S perl-crypt-openssl-bignum perl-crypt-blowfish

也可以通過 perl 直接安裝:

$ perl -MCPAN -e 'install Crypt::OpenSSL::Bignum Crypt::DH Crypt::Blowfish'

啟動 irssi

$ torify irssi

加載使用 SASL 機制的腳本:

/script load cap_sasl.pl

將身份設置到 nickserv,連接時會讀取這個值,支持的機制是 PLAIN 和 DH-BLOWFISH。

/sasl set <network> <username> <password> <mechanism>

連接到 Freenode:

/connect -network <network> 10.40.40.40

如果遇到問題,請訪問 Arch 論壇上的 Cannot Connect to Freenode IRC using Irssi & Tor

外部連結[編輯 | 編輯原始碼]

使用 HTTP 代理[編輯 | 編輯原始碼]

如果你需要一個 HTTP 代理。

注意: 現在 Tor 開發組推薦在 Privoxy 上使用 Polipo. [2]

Privoxy[編輯 | 編輯原始碼]

Privoxy 是一個 HTTP 代理,它使用 SOCKS4a 代理進行 html/cookie 過濾。可以安裝 Privoxy 文章安裝。

在Firefox使用Tor 和 Privoxy[編輯 | 編輯原始碼]

最簡單的方法就是使用Torbutton 擴展。

或者, 你可以使用Foxyproxy。然後重啟Firefox你就會發現一個新的工具條。 點Add, 選Standard proxy type. 選 你要的Proxy Label , 例如Tor。進入「HTTP Proxy」和「SSL Proxy」區域:

Hostname: 127.0.0.1 Port: 8118

然後Firefox將會用代理連接。你也可以在No Proxy for 添加例外。

現在,返回 https://whatsmyip.net/ 檢查你的ip地址是否和以前不同了。

在其他程序使用Tor 和Privoxy[編輯 | 編輯原始碼]

你可以在像即時通信, Jabber, IRC,等軟體使用這個方法。

你可以指定代理(127.0.0.1 port 8118)在那些支持HTTP代理的軟體裡面。

如果使用SOCKS 代理,你可以指定你的程序到Tor (127.0.0.1 port 9050)。用這種方法的一個問題是,雖然自己做DNS解析的應用程式可能會洩漏信息。

你可以考慮使用Socks4A (e.g. via privoxy)來取代他。

運行Tor 服務[編輯 | 編輯原始碼]

配置[編輯 | 編輯原始碼]

你的帶寬必須至少20kb/s:

Nickname <tornickname>
ORPort 9001
BandwidthRate 20 KB            # Throttle traffic to 20KB/s
BandwidthBurst 50 KB           # But allow bursts up to 50KB/s

允許 Irc 在 6660-6667 埠輸出:

ExitPolicy accept *:6660-6667,reject *:* # Allow irc ports but no more

Tor 作為輸出節點:

ExitPolicy accept *:119        # Accept nntp as well as default exit policy

Tor 作為中間人:

ExitPolicy reject *:*

運行 Tor 橋[編輯 | 編輯原始碼]

根據 https://2019.www.torproject.org/docs/bridges ,將 torrc 修改為:

SocksPort 0
ORPort 443
BridgeRelay 1
Exitpolicy reject *:*

如果在啟動時出現如下錯誤:

Could not bind to 0.0.0.0:443: Permission denied errors on startup

需要選擇一個更高的 ORPort (例如 8080) 或者在路由器中 轉發埠

TorDNS[編輯 | 編輯原始碼]

Tor 0.2.x系列提供了一個內置的DNS轉發器。在Tor配置文件添加如下文件來啟動它。

/etc/tor/torrc
 DNSPort 9053
 AutomapHostsOnResolve 1
 AutomapHostsSuffixes .exit,.onion

然後重新啟動 Tor 來加載更新過的配置文件:

/etc/rc.d/tor restart

這將讓Tor接受DNS請求(在這個例子裡面監聽著9053埠)。並通過Tor網絡域名。一個缺點是,它是僅能夠解決一個記錄的DNS查詢; MX 和NS 請求沒有回應。

更多信息請查看 Debian-based introduction

DNS查詢,也可以通過命令行tor-resolve來查詢。例如:

$ tor-resolve archlinux.org
66.211.214.131

Torsocks[編輯 | 編輯原始碼]

本文或本節需要翻譯。要貢獻翻譯,請訪問簡體中文翻譯團隊

附註: 請提供模板的第一個位置參數以更詳細的指示。(在 Talk:Tor# 中討論)

torsocks will allow you use an application via the Tor network without the need to make configuration changes to the application involved. From the man page:

torsocks is a wrapper between the torsocks library and the application in order to make every Internet communication go through the Tor network.

Usage example:

$ torsocks elinks checkip.dyndns.org
$ torsocks wget -qO- https://check.torproject.org/ | grep -i congratulations


Torify[編輯 | 編輯原始碼]

torify 允許你的程序不需要更改配置來通過訪問Tor網絡。

man page:

 torify  is  a simple wrapper that calls tsocks with a tor specific configuration file.

 tsocks itself is a wrapper between the tsocks library and the  application  that
 you would like to run socksified

使用例子:

$ torify elinks checkip.dyndns.org
$ torify wget -qO- https://check.torproject.org/ | grep -i congratulations

Torify 不會通過Tor網絡來查詢DNS。其中一種解決方法就是和tor-resolve 來解決(前文所述)。在這種情況下, 上面的例子程序將像這樣

$ tor-resolve checkip.dyndns.org
208.78.69.70
$ torify elinks 208.78.69.70

問題解決[編輯 | 編輯原始碼]

User value的問題[編輯 | 編輯原始碼]

如果tor daemon啟動失敗,你可以在root環境下運行一下命令(或者使用sudo)

# tor

如果你收到以下 error

May 23 00:27:24.624 [warn] Error setting groups to gid 43: "Operation not permitted".
May 23 00:27:24.624 [warn] If you set the "User" option, you must start Tor as root.
May 23 00:27:24.624 [warn] Failed to parse/validate config: Problem with User value. See logs for details.
May 23 00:27:24.624 [err] Reading config failed--see warnings above.

它意味著你的User value有問題。通過以下的步驟解決:

運行以下命令檢查/var/lib/tor目錄的權限

# ls -l /var/lib/

如果/var/lib/tor權限顯示如下

drwx------ 2 tor    tor    4096 May 12 21:03 tor

這意味著它被tor用戶和 tor組所擁有

通過以下命令把擁有者和組改為root, root

# chown -R root:root /var/lib/tor

如果你重新檢查權限,他現在應該顯示為

drwx------ 2 root   root   4096 May 12 21:03 tor

現在打開 /etc/tor/torrc找到以下文字

## Uncomment this to start the process in the background... or use
## --runasdaemon 1 on the command line.
RunAsDaemon 1
User tor
Group tor

注釋掉User torGroup tor, 所以他應該顯示為

## Uncomment this to start the process in the background... or use
## --runasdaemon 1 on the command line.
RunAsDaemon 1
#User tor
#Group tor

保存更改然後重啟tor daemon, 他應該能夠工作了

# /etc/rc.d/tor restart

外部連結[編輯 | 編輯原始碼]