跳转到内容

为应对本站因各种原因无法访问,建议用户安装 arch-wiki-docs-zh-cnCNRepo 或者 arch-wiki-docs-zh-twCNRepo 离线文档包备用,也可尝试使用经由Cloudflare CDN的替代版本aw.lilydjwg.me。

User:Giteeajake/Tor

来自 Arch Linux 中文维基

Tor Project ,即 Tor 项目,是 洋葱路由 的开源实现,提供免费的匿名代理服务,它的主要目标是尽可能地阻止 流量分析 来实现网络匿名。

Tor 网络的用户在他们的机器上运行洋葱代理软件,该软件向其客户端提供 SOCKS 接口。该软件连接到 Tor,定期通过 Tor 网络协商虚拟线路 (Tor circuits) 。Tor 以分层的方式使用加密技术(正如层层洋葱),确保路由器之间的正向保密性。

通过以上过程以确保洋葱代理管理网络流量来实现用户的匿名性, Tor 通过对流量的加密,由 Tor 网络中的其他节点发送,最终在最后一个节点(出口节点)解密流量后转发给指定的服务器。一个权衡是,由于大量的流量重新路由,使用 Tor 可能比常规的直接连接慢得多。尽管 Tor 最大化阻止流量分析,但它无法对抗网络边界的流量确认(即进出网络的流量)。

警告:仅仅使用 Tor 是无法完全匿名的!而且它也有不足之处!请参考 如果我使用了 Tor 会完全匿名吗? 和 Tor 弱点

安装 torbrowser-launcher包 用于安装 Tor Browser ,这是使用 Tor 来匿名访问网站的唯一且最安全的方式。

如果需要手动与其他应用结合,或运行中继,托管洋葱服务等,则安装 tor包 包, nyx包 包是 Tor Project 官方开发的监视器,可以查看资源占用,连接状况和动态配置修改等功能。如果不习惯,可以使用 基于 QT 框架的 vidaliaAUR,但不再推荐,官方放弃了维护。

如果希望使用基于内核功能的快捷 Tor 方案,可以考虑 oniuxAUR 。

启用/启动 tor.service 或以 tor 用户身份启动 切换用户

如果需要程序与 Tor 搭配运行,就需要设置配置 SOCKS5 代理为 127.0.0.1 或 localhost ,并设置端口为 9050。

代理允许通过 socks5h://localhost:9050 从出口节点而非本地来进行 DNS 解析 (socks5) 。

可以通过 check 或以下命令来判断 Tor 是否在运行。

curl -x socks5h://localhost:9050 -s https://check.torproject.org

配置 Tor

[编辑 | 编辑源代码]

默认情况下, Tor 会自动读取 /etc/tor/torrc 配置文件,如果不存在这个文件,则会尝试使用 $HOME/.torrc 配置文件。tor(1)

现在可以使用在 /etc/torrc.d/ 存放的配置文件 *.conf 来加载配置:

/etc/tor/torrc
%include /etc/torrc.d/*.conf

然后重新加载 tor.service (可能需要开启 <1024 的端口),需要重新设置权限,需要以 Tor 用户的权限运行。信息、统计数据和错误信息将写进默认配置的 Journal 。

中继 (Relay) 配置

[编辑 | 编辑源代码]

通常 Tor 虚拟线路包括:

Tor 用户 -> 守卫中继 -> 中间中继 -> 出口中继 -> 目标服务器

在非出口中继中:守卫中继作为 Tor 虚拟线路中第一中继,中间中继作为 Tor 虚拟线路的第二中继。

若需要运行中继,请将以下选项添加到 torrc :

ORPort        443          # You might use a different port, should you want to
ExitRelay     0

这些选项意味着你的设备将以入口中继和转发中继运行,与桥接不同,设备会被列入公共 Tor 目录,你的 IP 地址也会随之公开在 Tor 目录,但只能转发到出口中继或其他中继,而不是连接互联网。拓展:Tor 连接目录服务器逻辑

你可以设置你在 Tor 目录的昵称和联系邮箱(但强烈建议不要设置为自己的重要邮箱),也可以设置宽带限制:

Nickname      myNiceRelay  # Change "myNiceRelay" to something you like
ContactInfo   your@e-mail  # Write your e-mail and be aware it will be published
BandwidthRate 20 KB          # Throttle traffic to 20KB/s
BandwidthBurst 50 KB         # But allow bursts up to 50KB/s

宽带有2个设置参数: BandwidthRate (带宽率) 和 BandwidthBurst (突发流量)。

BandwidthRate 是指平常情况的传输速率,例如:设置速率为 50MB,那么每秒传输速率就是 50MB/s ;而 BandwidthBurst 可以看作一个缓冲,可以满足短时间高于 BandwidthRate 但长期流量低于BandwidthBurst 的需求。

警告: BandwidthRate 和 BandwidthBurst 的单位是字节而不是比特

如果你的计算机没有运行任何 Web 服务,且没有在 Tor 的配置文件中设置 AccountingMax ,请设置 ORPort 为 443,许多 Tor 用户会被困在防火墙之后,只能浏览网页,如果想绕过防火墙,就需要你的 Tor 中继。

{{注意|如果 443 端口被占用,可以使用 22 、 110 、 143 、 9001 验证 Tor 中继是否正常运行:检查 tor.service 是否正常启动、无论是 Journal 还是 Unit 状态,如果没有问题,请运行 nyx 来确保你的中继正在建立连接,新中继的运行速度最开始比较慢,这点不需要担心的,至少需要三个小时来初始化,初始化完毕后可以在 tor 日志上或 nyx 状态 (status) 看见昵称或身份密钥指纹,可以在 Relay Search 来搜索你的中继。拓展: 关于新中继

网桥配置 (Bridge)

[编辑 | 编辑源代码]

Tor 网桥是未公开在 Tor 公共目录的特殊中继,以确保当政府或 ISP 阻止人们访问 Tor 公共目录时,可以访问 Tor 网络,可通过 Tor Bridge 来获取网桥和了解网桥原理。

运行 Tor 网桥,需要添加以下配置(参考 Running a Bridge)

SocksPort 0
ORPort auto
BridgeRelay 1
ExitRelay 0
Exitpolicy reject *:*

可以用特定端口来代替 auto 。

ControlPort 配置

[编辑 | 编辑源代码]

大多数情况下是不需要的,但有些应用需要使用 ControlPort 来实现对 Tor 节点的低级访问