У меня проблема с tor и obfsproxy для использования мостов в Ubuntu 14.04. Tor не может запустить obfsproxy и всегда возвращает разрешение, в котором отказано.
grep -v "^#" /etc/tor/torrc | sed '/^$/d'
UseBridges 1
Bridge obfs2 192.36.27.216:55313 fccb4bf2a7b89b070902bdd05923c255fb4b0bdb
ClientTransportPlugin obfs2,obfs3 exec /usr/bin/obfsproxy --managed
<ч> tail -f /var/log/tor/log
Aug 01 13:06:30.000 [notice] Tor 0.2.4.23 (git-05b81fcd2a655c5a) opening new log file.
Aug 01 13:06:30.000 [notice] Parsing GEOIP IPv4 file /usr/share/tor/geoip.
Aug 01 13:06:30.000 [notice] Parsing GEOIP IPv6 file /usr/share/tor/geoip6.
Aug 01 13:06:30.000 [warn] OpenSSL version from headers does not match the version we're running with. If you get weird crashes, that might be why. (Compiled with 1000105f: OpenSSL 1.0.1e 11 Feb 2013; running with 1000106f: OpenSSL 1.0.1f 6 Jan 2014).
Aug 01 13:06:33.000 [warn] Could not launch managed proxy executable at '/usr/bin/obfsproxy' ('Permission denied').
Aug 01 13:06:34.000 [notice] Bootstrapped 5%: Connecting to directory server.
Aug 01 13:06:34.000 [warn] We were supposed to connect to bridge '192.36.27.216:55313' using pluggable transport 'obfs2', but we can't find a pluggable transport proxy supporting 'obfs2'. This can happen if you haven't provided a ClientTransportPlugin line, or if your pluggable transport proxy stopped running.
Предпосылка
, Как настроить Tor и Obfsproxy:
- https://www.torproject.org/projects/obfsproxy-debian-instructions
Соответственно с этим отчетом об ошибках:
https://trac.torproject.org/projects/tor/ticket/6996
... obfsproxy ошибка разрешения инициирована скалистой вершиной init сценарий (по крайней мере, на debian/ubuntu) из-за скалистой вершины apparmor неправильный сценарий (/etc/apparmor.d/system_tor
)
, таким образом, в основном approuch должен остановить сервис и скалистую вершину запуска непосредственно так простое и прямое:
sudo service tor stop && tor
это должно работать (не используйте sudo
для запуска скалистой вершины, или Вы получите другую ошибку :(
, Лучшее решение
состоит в том, чтобы зафиксировать apparmor профиль скалистой вершины так, чтобы сервис скалистой вершины запустился правильно
/etc/apparmor.d/system_tor
/usr/bin/obfsproxy Ux,
sudo service apparmor restart
) , Таким образом, профиль должен выглядеть примерно так:
# vim:syntax=apparmor
#include <tunables/global>
profile system_tor {
#include <abstractions/tor>
owner /var/lib/tor/** rwk,
owner /var/log/tor/* w,
/usr/bin/obfsproxy Ux, ## this is the FIX
/{,var/}run/tor/control w,
/{,var/}run/tor/tor.pid w,
/{,var/}run/tor/control.authcookie w,
/{,var/}run/tor/control.authcookie.tmp rw,
# Site-specific additions and overrides. See local/README for details.
#include <local/system_tor>
}
Более новые версии Ubuntu требуют /etc/apparmor/system_tor
быть похожими на это:
# vim:syntax=apparmor
#include <tunables/global>
profile system_tor {
#include <abstractions/tor>
owner /var/lib/tor/** rwk,
owner /var/log/tor/* w,
/usr/bin/obfsproxy PUx, ## this is the FIX
/{,var/}run/tor/control w,
/{,var/}run/tor/tor.pid w,
/{,var/}run/tor/control.authcookie w,
/{,var/}run/tor/control.authcookie.tmp rw,
# Site-specific additions and overrides. See local/README for details.
#include <local/system_tor>
}
Делают примечание PUx
вместо Ux
, как использовался бы в более ранних версиях Ubuntu.
Я изменил профиль apparmor /etc/apparmor.d/system_tor, просто добавил три строки в нем:
/usr/bin/obfsproxy PUx,
profile /etc/apparmor.d/usr.bin.obfsproxy {
}
Целый образец файла:
# vim:syntax=apparmor
#include <tunables/global>
profile system_tor flags=(attach_disconnected) {
#include <abstractions/tor>
/usr/bin/obfsproxy PUx,
profile /etc/apparmor.d/usr.bin.obfsproxy {
}
owner /var/lib/tor/** rwk,
owner /var/lib/tor/ r,
owner /var/log/tor/* w,
# During startup, tor (as root) tries to open various things such as
# directories via check_private_dir(). Let it.
/var/lib/tor/** r,
/{,var/}run/tor/ r,
/{,var/}run/tor/control w,
/{,var/}run/tor/socks w,
/{,var/}run/tor/tor.pid w,
/{,var/}run/tor/control.authcookie w,
/{,var/}run/tor/control.authcookie.tmp rw,
/{,var/}run/systemd/notify w,
# Site-specific additions and overrides. See local/README for details.
#include <local/system_tor>
}
строка
/usr/bin/obfsproxy PUx,
я взял из сообщения выше