Tor - Arch Linux 中文维基

跳至內容

# Tor

出自 Arch Linux 中文维基

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

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

這篇文章或章節的翻譯質量不佳。

原因：No updates since 2020, still references `rc d`.（在 Talk:Tor# 中討論）

相關文章

- I2P
- Privoxy

翻譯狀態：

- 本文（或部分內容）譯自 Tor，最近一次同步於 2020-04-02，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

注意：本文正在一個臨時頁面重譯，請前往該臨時頁面查看進度。

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 的配置和狀態、監控帶寬使用並查看、過濾和搜索日誌信息。如果喜歡使用命令行，並能獲得和 Vidalia 一樣的效果，可以使用 nyx包

## 配置

為了更好的理解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/`.

### 中繼配置

中繼 (relay) 是 Tor 網絡中重要一環，負責數據傳輸和隱藏真實 ip 地址。如果沒有配置 Tor 配置文件中的 `AccountingMax` 且沒有布置 Web 伺服器，應該考慮修改你的洋蔥路由埠 (ORPort) 為 `443` ，因為防火牆會阻止 `tor` ，只能用於訪問網頁。修改後可以繞過防火牆，也可以考慮 `22` , `110` , `143` 和 `9001` 埠。由於低於1024埠屬於特級埠，需要在 `tor.service` 中設置 `User=root` 和 `/etc/tor/torrc` 中設置 `User tor` 以 root 權限運行。realy setup

### 啟用 Tor ControlPort

大多數用戶是不需要這個功能的，但一些應用程式需要這個功能來實現對 Tor 節點的低級訪問。 通過 ControlPort ，其他應用程式可以更改和查看 Tor Node ，在 Tor 運行時修改配置文件和查看 Tor 網絡。

添加到文件

    ControlPort 9051

即可啟用

警告：由於 ControlPort 會修改 Tor 配置文件，所以一般情況下不要啟用，需要啟用時應搭配 `cookie` 文件或控制密鑰來使用，且只對受信任的程序或用戶提供！

關於配置 Tor ControlPort ，請參考設置 cookie 文件

## 用法

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

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

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

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

## 網頁瀏覽

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

### Firefox

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

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

為了測試他, 在你的瀏覽器打開或者關閉Tor瀏覽這個網址Tor check。 更多信息請查看這個網址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。

### 外部連結

- Accessing freenode Via Tor
- SASL README
- IRC/SILC torproject.org 上的 Wiki

## 使用 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
    ExitRelay 0                  # Disallow exits from your relay

允許 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 網橋

Tor 網橋是旨在 ISP 運營商或政府阻止訪問中繼 (relay) 時提供的連接方案，通過訪問bridges來了解網橋的工作原理。

需要使用網橋時需在 `/etc/tor/torrc` 添加一下4行：

    /etc/tor/torrc

    SOCKSPort 0
    ORPort 443
    BridgeRelay 1
    ExitRelay 0

## 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 tor 和Group 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

## 外部連結

- Official Website
- 「如何翻牆」系列：關於 Tor 的常見問題解答 @ 編程隨想的博客
- Unix-based Tor Articles
- Software commonly integrated with Tor
- How to set up a Tor Hidden Service
- 新中繼的生命周期
- 貢獻伺服器作為 Tor 節點
- Running a bridge

分類：​

- 使用「模板:過時」標記的頁面或章節
- 網際網路應用
- 代理伺服器
- 包含失效連結的頁面
- 包含損壞的軟體包連結的頁面

隱藏分類：​

- 使用「模板:糟糕的翻譯」標記的頁面或章節
- 使用「模板:Translateme」標記的頁面或章節

Tor
新增話題