id: Гость   вход   регистрация
текущее время 18:57 28/03/2024
Автор темы: tr18437s, тема открыта 02/07/2015 21:20 Печать
Категории: анонимность, операционные системы
http://www.pgpru.com/Форум/АнонимностьВИнтернет/НесколькоСкрытыхСервисовНаОдномСервере
создать
просмотр
ссылки

несколько скрытых сервисов на одном сервере


Сделал в torrc несколько записей типа :
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 12345 127.0.0.1:12345
HiddenServiceDir /var/lib/tor/hidden_service2/
HiddenServicePort 12346 127.0.0.1:12346
В клиннете есть domain1.com:12345 и domain2.com:12346, они работают корректно. Также открываются на domain1.com:80 и domain2.com:80.
Соответствующие им скрытые сервисы недоступны.
Если оставить запись по умолчанию:
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:80
доступен скрытый сервис для domain1.com.
Что я делаю не так?


 
Комментарии
— pgprubot (04/07/2015 02:24, исправлен 04/07/2015 02:24)   профиль/связь   <#>
комментариев: 511   документов: 2   редакций: 70

Если закомментировать первый сервис, второй будет работать? По отдельности они оба работают? Пишется ли в логах что-нибудь подозрительное? Не блокирует ли соединения файерволл? Правильно ли проверяете работоспособность сервисов? И т.п. наводящие вопросы.


В тему топика: Появилась новая штука, называется onionbalance:


This tool is designed to allow requests to Tor onion service to be directed to multiple back-end Tor instances, thereby increasing availability and reliability. The design involves collating the set of introduction points created by one or more independent Tor onion service instances into a single ‘master’ onion service descriptor.

Можно распределять нагрузку высоконагруженного HS по нескольким HS'ам на уровне самого Tor-протокола, оптимизируя, как я понял, выбор introduction points.

— SATtva (04/07/2015 07:56)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118

То есть балансировщик создаёт собственную introduction point, а уже с неё раскидывает клиентов по introduction points бекэндов? Если я правильно понял, то это странный дизайн: скрытые сервисы connection-bound, а не application-bound, т.е. все тормоза в HS (за исключением, возможно, каких-то пограничных случаев) порождаются именно сложностью коннекта, а не скоростью работы серверных приложений.

Сорри за оффтоп.
— pgprubot (04/07/2015 19:39, исправлен 04/07/2015 19:40)   профиль/связь   <#>
комментариев: 511   документов: 2   редакций: 70

Там как-то хитро. Написано не очень простым языком, плюс я протокол плохо помню, внимательно не вчитывался. Мне показалось, что introduction point'ы master onion'а выбираются совпадающими с IP'ами onion-зекрал. Там есть ограничение в протоколе (см. «Choice of Introduction Points» по ссылке), что IP'ов может быть не больше десяти, но, как я понял, в обычном HS эти 10 статичны, а тут они динамические и постоянно меняются во времени, поэтому клиенты будут выбирать не из десяти, а из куда большего их числа (пул IP'ов master onion'а состоит из множества IP'ов onion-зеркал).



Да, connection самый тяжёлый, но они как раз его и оптимизируют (в том числе). У самого Tor'а как сервера тоже ограничения есть, насколько я помню, но не буду вдаваться в подробности за некомпетентностью.


Интересно, что там ещё есть т.н. «complex mode», при использовании которой HSDir'ам будет не так легко узнать, что HS находится за таким балансировщиком:


Complex mode minimizes the information transmitted via the HSDir system and may make it more difficult for a HSDir to determine that a service is using OnionBalance.
— tr18437s (05/07/2015 01:48)   профиль/связь   <#>
комментариев: 11   документов: 8   редакций: 0
Работает только с
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:80
Если изменить порт:
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 12345 127.0.0.1:12345
падает. Один сервис или несколько не важно.
Лог:
Jul 03 22:25:13.000 [notice] Tor 0.2.6.9 (git-2d11fb81addfb7f1) opening new log file.
Jul 03 22:25:13.000 [notice] Parsing GEOIP IPv4 file /usr/share/tor/geoip.
Jul 03 22:25:13.000 [notice] Parsing GEOIP IPv6 file /usr/share/tor/geoip6.
Jul 03 22:25:13.000 [notice] We were built to run on a 64-bit CPU, with OpenSSL 1.0.1 or later, but with a version of OpenSSL that apparently lacks accelerated support for the NIST P-224 and P-256 groups. Building openssl with such support (using the enable-ec_nistp_64_gcc_128 option when configuring it) would make ECDH much faster.
Jul 03 22:25:13.000 [notice] Bootstrapped 0%: Starting
Jul 03 22:25:13.000 [notice] Bootstrapped 80%: Connecting to the Tor network
Jul 03 22:25:14.000 [notice] Bootstrapped 85%: Finishing handshake with first hop
Jul 03 22:25:14.000 [notice] Bootstrapped 90%: Establishing a Tor circuit
Jul 03 22:25:15.000 [notice] Tor has successfully opened a circuit. Looks like client functionality is working.
Jul 03 22:25:15.000 [notice] Bootstrapped 100%: Done
Jul 03 22:28:32.000 [notice] Catching signal TERM, exiting cleanly.
Jul 03 22:28:33.000 [notice] Tor 0.2.6.9 (git-2d11fb81addfb7f1) opening log file.
Jul 03 22:28:34.000 [notice] Parsing GEOIP IPv4 file /usr/share/tor/geoip.
Jul 03 22:28:34.000 [notice] Parsing GEOIP IPv6 file /usr/share/tor/geoip6.
Jul 03 22:28:34.000 [notice] We were built to run on a 64-bit CPU, with OpenSSL 1.0.1 or later, but with a version of OpenSSL that apparently lacks accelerated support for the NIST P-224 and P-256 groups. Building openssl with such support (using the enable-ec_nistp_64_gcc_128 option when configuring it) would make ECDH much faster.
Jul 03 22:28:34.000 [notice] Bootstrapped 0%: Starting
Jul 03 22:28:34.000 [notice] Bootstrapped 80%: Connecting to the Tor network
Jul 03 22:28:35.000 [notice] Bootstrapped 85%: Finishing handshake with first hop
Jul 03 22:28:35.000 [notice] Bootstrapped 90%: Establishing a Tor circuit
Jul 03 22:28:35.000 [notice] Tor has successfully opened a circuit. Looks like client functionality is working.
Jul 03 22:28:35.000 [notice] Bootstrapped 100%: Done
Jul 03 22:33:11.000 [warn] connection_edge_process_relay_cell (at origin) failed.
Jul 04 03:21:02.000 [notice] Received reload signal (hup). Reloading config and resetting internal state.
Jul 04 03:21:02.000 [notice] Read configuration file "/etc/tor/tor-rpm-defaults-torrc".
Jul 04 03:21:02.000 [notice] Read configuration file "/etc/tor/torrc".
Jul 04 03:21:02.000 [warn] Couldn't open file for 'Log notice file /var/log/tor/tor.log': Permission denied
Jul 04 03:21:02.000 [warn] Failed to parse/validate config: Failed to init Log options. See logs for details.
Jul 04 03:21:02.000 [err] Reading config failed--see warnings above. For usage, try -h.
Jul 04 03:21:02.000 [warn] Restart failed (config error?). Exiting.
— pgprubot (05/07/2015 19:10, исправлен 05/07/2015 22:15)   профиль/связь   <#>
комментариев: 511   документов: 2   редакций: 70

Гуглить ошибку, что она означает.



Нет нужных прав доступа к файлу /var/log/tor/tor.log. По умолчанию там, наверно, указан файл /var/log/tor/log.



И прочитать конфиг он тоже не может (видимо, вследствие тех же прав).


Вы сами не в состоянии понять, что написано чёрным по белому в логах, но ещё лезете скрытые сервисы запускать? Кстати, я ведь специально вам написал и про права доступа и про опцию Log, потому что как чувствовал, что об это споткнётесь, но корм всё равно не в коня пошёл.

— tr18437s (06/07/2015 03:20)   профиль/связь   <#>
комментариев: 11   документов: 8   редакций: 0
Да, я не в состоянии понять почему у тора после перезапуска нехватает прав писать в /var/log/tor/tor.log, который он сам создает запускаясь первый раз. Чтобы перезапустить, приходится сначала стереть /var/log/tor/tor.log.
Но дело не в этом. Проболема в том, что он вообще пытается перезапустится, начинается это с "connection_edge_process_relay_cell (at origin) failed." Тут гугл пока ничего внятного не дал.
Если в рунете никто не поможет, придется писать в поддержку тор. Разбираться с такими проблемами через переводчик совсем не айс.
— pgprubot (06/07/2015 05:06)   профиль/связь   <#>
комментариев: 511   документов: 2   редакций: 70

Это не решение проблемы. Стоит посмотреть, какие права у директории tor и у файла tor.log в ней, они должны быть достаточными для того юзера, из-под которого запущен Tor. У меня есть подозрение, что там всё работало правильно до тех пор, пока вы туда не полезли со сменой дефолтного юзера.


Я не вижу спонтанных перезапусков. Все они были либо после SIGTERM, либо после SIGHUP (см. ваш же лог). Для начала добейтесь, чтобы не было детсадовских ошибок уровня «прав не хватает», потом смотрите за дальнейшим.


А копаться в потрохах CentOS'а, зачем-то менять дефолтного юзера, да ещё делать не самую простую конфигурацию запуска HS — это айс при незнании английского? Сами же написали, что дефолтная конфигурация работает. А для недефолтной, видимо, нужно понимание процесса у настраивающего.
Общая оценка документа [показать форму]
средний балл: +0.5респондентов: 2