如何在 OpenWrt 中设置 tor 桥?

如何在 OpenWrt 中设置 tor 桥?

先生们!我遇到了一个严重的问题,我写下这篇文章是因为我在互联网上找不到解决办法。

我有时需要使用 tor,虽然官方尚未禁止,但在我居住的地区使用 tor 相当危险。所以我想用 OpenWrt 设置路由器,并配置连接,以便某些流量(来自不同的机器)通过 tor 网络传输,但(原文如此!)使用我提供的网桥。

据我所知,为了使用桥接器建立功能齐全的 tor 连接,我要做的第一件事就是下载这两个软件包,因此我执行以下操作:

opkg install tor
opkg install obfsproxy

我必须提到,obfsproxy 及其所有依赖项(如 python 等)占用了相当多的闪存,而我只有 32 MB。因此,为了把所有东西都放进去,我不得不连接一个 USB 闪存驱动器并扩展文件系统使用本指南来自 OpenWrt 网站。我认为这一点很重要,因为它可能对接下来发生的事情产生影响。

后来我觉得我需要编辑托尔克我找不到它(尽管我知道有时它可能不存在),所以我在/var/lib/torOpenWrt 默认将 tor 及其配置放在这里(至少我能找到这个)。因此我在这个文件中放置了以下几行:

UseBridges 1
TransPort 9040
Exitpolicy reject *:*
ExtORPort auto
ClientTransportPlugin obfs4 exec /usr/bin/obfsproxy managed

#I placed my bridges here
bridge obfs4 ---------------- 
bridge obfs4 ----------------
bridge obfs4 ----------------

#I excluded the exit nodes which could be potentially run by the authorities of this area 
ExcludeExitNodes {XX}

之后我开始使用

/etc/init.d/tor start

尽管尝试了几次之后它启动了,但是却没有起作用。

我无法使用

torify curl -s https://check.torproject.org/ | grep -m 1

所以我不得不查看路由器的日志。我还观察到,tor 使用默认配置加载,并且没有关于它应该使用网桥的信息。我真的不想冒险,因为我不能 100% 确定这个东西是否适用于网桥。

因此,我尝试创建控制端口以检查电路并获取有关桥梁的信息,因此我将其添加到 torrc

ControlPort 9051
CookieAuthentication 1

并且使用python 脚本检查电路。但脚本无法正常工作,而且导致系统故障,与路由器的 ssh 连接中断,我唯一能做的就是将路由器设置为救援模式并重新安装操作系统。

我哪里做错了?我应该如何在 OpenWrt 中正确设置 Tor 桥?

更新1似乎我找到了某种线索。我尝试重复所有步骤,看看第一次出现问题的地方。我一直在尝试寻找解决方案,检查了不同的配置文件,但什么也没找到。

似乎我安装时出现了第一个冲突代理服务器。当我只安装了 tor 和 obfsproxy 并在 torrc 中配置了网桥(位于我最终使用评论中 Tomek 的建议找到的位置)时,我尝试运行

tor

开场的第一句台词是:

failed to parce/validate config: 'unknown option usr/lib/python2.7/site-packages/obfsproxy/transport/scramblesuit/__init__.pyc' failing

对此有什么想法吗?

顺便说一句,我随后尝试删除 obfsproxy 包,并使用以下命令删除其依赖项

opkg remove --autoremove '*'

这导致系统崩溃,所以我不得不重新安装 OpenWrt再次

答案1

OpenWRT 的 obfsproxy 包不支持obfs4,仅支持obfs2obfs3scramblesuitTor 桥。

如果要使用obfs4,则必须使用 obfs4proxy 包,它支持obfs4和提到的其他桥接类型。据我所知,obfs4proxy 目前在官方 OpenWRT 包数据库中不可用。

作为一种解决方法,您可以使用 obfs3 或 scramblesuit 桥。

还有一件事,确保您已经安装了 OpenWRT 网站中提到的所有 Tor 和 obfsproxy 依赖项:

https://openwrt.org/packages/pkgdata/tor

https://openwrt.org/packages/pkgdata/obfsproxy

这是我针对 OpenWRT v18.06.4 使用的 Tor 配置/etc/tor/torrc

Log notice syslog
DataDirectory /var/lib/tor

User tor
AvoidDiskWrites 1
RunAsDaemon 0

VirtualAddrNetworkIPv4 10.192.0.0/10
AutomapHostsOnResolve 1
AutomapHostsSuffixes .onion,.exit

TransPort 0.0.0.0:9040
DNSPort 0.0.0.0:9053
SocksPort 0.0.0.0:9050

UseBridges 1
ClientTransportPlugin obfs2,obfs3,scramblesuit exec /usr/bin/obfsproxy managed

#Place your bridges here:

bridge obfs3 -----------
bridge scramblesuit ----------

相关内容