web-dev-qa-db-ja.com

OpenWrtでtorブリッジを設定するにはどうすればよいですか?

紳士!私は深刻な問題を抱えており、インターネット上の他の場所で解決策を見つけることができなかったため、これを書いています。

私は時々torを使う必要があり、それはまだ公式に禁止されていませんが、私が住んでいる地域ではかなり危険です。そこで、OpenWrtを使用してルーターをセットアップし、トラフィックの特定の部分(異なるマシンから送信される)がTorネットワークを介して転送されるように接続を構成しましたが、(原文のまま)私が提供するブリッジを使用しました。

私が理解できることによると、ブリッジを使用して完全に機能するTor接続をセットアップするために、最初にやらなければならなかったのは、これら2つのパッケージをダウンロードすることでした。

opkg install tor
opkg install obfsproxy

pythonなどのようなすべての依存関係を持つobfsproxyは、32 MBしかないのに、かなりのフラッシュメモリを占有します。したがって、すべてを収めるために、接続する必要がありました。 USBフラッシュドライブとファイルシステムの拡張 このガイドを使用 OpenWrt Webサイトから。どういうわけか、次に何が起こるかに影響を与えた可能性があるため、言うことが重要だと思います。

その後、見つけられなかったtorrcを編集する必要があると思ったので(時々存在しないことはわかっていますが)、/ var/lib/torここで、OpenWrtはデフォルトで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}

その後、私はtorを使い始めました

/etc/init.d/tor start

そして、それは数回の試行の後、それが始まったけれども、それは働きませんでした。

を使用して接続を確認できませんでした

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

そのため、ルーターのログを調べる必要がありました。私が観察したことは、torがデフォルトの設定を使用してロードされており、ブリッジを使用することになっているという事実についての情報がなかったことです。そして、私は、これがブリッジで機能することを100%確信していないというリスクを冒したくありません。

そこで、回路をチェックしてブリッジに関する情報を取得するために制御ポートを作成しようとしたので、これをtorrcに追加しました

ControlPort 9051
CookieAuthentication 1

そして、 this pythonスクリプトを使用して回路をチェックしました。しかし、スクリプトが正しく機能せず、さらにシステム障害が発生し、ルーターへのssh接続が中断されました。私ができたのは、ルーターをレスキューモードに設定し、OSを再インストールすることだけでした。

どこで間違ったのですか?そして、OpenWrtでtorブリッジを適切に設定するにはどうすればよいですか?

UPDATE.1ある種の手がかりを見つけたようです。私はすべてのステップを繰り返して、最初に問題が発生する場所を確認しようとしました。私はずっと解決策を見つけようとしていて、さまざまな設定ファイルをチェックしましたが、何も見つかりませんでした。

obfsproxyをインストールすると、最初の競合が発生するようです。この投稿の上部にあるテキストを使用して、torとobfsproxyのみをインストールし、torrc(コメントからTomekのアドバイスを使用して最終的に見つけた場所にあります)でブリッジを構成したとき、私は実行しようとしました

tor

そして、カムアウトの最初の行の1つは次のとおりでした。

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

これについて何かアイデアはありますか?

ちなみに、後でobfsproxyパッケージを削除し、を使用してその依存関係を削除しようとしました

opkg remove --autoremove '*'

そしてそれは私をシステム障害に導くので、私はOpenWrtを再インストールしなければなりませんでした

2
OldMajorD

openWRTのobfsproxyパッケージはobfs4をサポートせず、obfs2obfs3、およびscramblesuitTorブリッジのみをサポートします。

obfs4を使用する場合は、obfs4および上記の他のブリッジタイプをサポートするobfs4proxyパッケージを使用する必要があります。私の知る限り、obfs4proxyは現在公式のOpenWRTパッケージデータベースからは入手できません。

回避策として、obfs3またはスクランブルスーツブリッジを使用できます。

もう1つ、OpenWRTWebサイトに記載されているすべてのTorおよびobfsproxy依存関係がインストールされていることを確認してください。

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

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

これは、/etc/tor/torrcでのOpenWRTv18.06.4の作業用Tor構成です。

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 ----------
1
Mohammad