LINUX.ORG.RU

Не взлетает Tor на ArchLinux

 ,


0

1

Приветствую!

Хочу запустить в домашней сети небольшой сервер, который будет предоставлять Socks порт для подключений через Tor. Установленный дистрибутив - ArchLinux.

Для примера - адрес сервера и порта для подключения в локальной сети 192.168.0.27:9550

Соответственно в /etc/tor/torrc установлен параметр SocksPort 192.168.0.27:9550

Если запускаю Tor в консоли как systemctl start tor Все отрабатывает отлично, внешний порт доступен и через него работают приложения с других машин.

Но если включу автозагрузку systemctl enable tor.service то после перезагрузки сервера все рушится:

     Loaded: loaded (/usr/lib/systemd/system/tor.service; enabled; vendor preset: disabled)
     Active: failed (Result: exit-code) since Thu 2020-10-08 20:44:26 +03; 25s ago
    Process: 248 ExecStart=/usr/bin/tor -f /etc/tor/torrc (code=exited, status=1/FAILURE)
   Main PID: 248 (code=exited, status=1/FAILURE)

Oct 08 20:44:26 ServOk tor[248]: Oct 08 20:44:26.222 [notice] Opening Socks listener on 192.168.0.27:9552
Oct 08 20:44:26 ServOk tor[248]: Oct 08 20:44:26.222 [warn] Could not bind to 192.168.0.27:9552: Cannot assign requested address
Oct 08 20:44:26 ServOk tor[248]: Oct 08 20:44:26.222 [notice] Opening Control listener on 127.0.0.1:9051
Oct 08 20:44:26 ServOk tor[248]: Oct 08 20:44:26.222 [notice] Opened Control listener on 127.0.0.1:9051
Oct 08 20:44:26 ServOk tor[248]: Oct 08 20:44:26.222 [notice] Closing partially-constructed Socks listener on 127.0.0.1:9050
Oct 08 20:44:26 ServOk tor[248]: Oct 08 20:44:26.222 [notice] Closing partially-constructed Control listener on 127.0.0.1:9051
Oct 08 20:44:26 ServOk tor[248]: Oct 08 20:44:26.222 [warn] Failed to parse/validate config: Failed to bind one of the listener ports.
Oct 08 20:44:26 ServOk tor[248]: Oct 08 20:44:26.222 [err] Reading config failed--see warnings above.
Oct 08 20:44:26 ServOk systemd[1]: tor.service: Main process exited, code=exited, status=1/FAILURE
Oct 08 20:44:26 ServOk systemd[1]: tor.service: Failed with result 'exit-code'.

Что я делаю не так и как исправить? Наверное, это какой-то костыль и нужно перенаправлять все запросы с внешнего порта Socks на внутренний адрес сервера и убрать из torrc явный адрес 192.168.0.27 ?

Ответ на: комментарий от xionovermazes

Пусто. Ничего не отображается. А общая картина такая:

sudo netstat -tulpen

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          18774      247/sshd: /usr/bin/
tcp6       0      0 :::22                   :::*                    LISTEN      0          18783      247/sshd: /usr/bin/
udp6       0      0 fe80::2a90:31e2:845:546 :::*
Achtung ()
Oct 08 20:44:26 ServOk tor[248]: Oct 08 20:44:26.222 [notice] Opening Socks listener on 192.168.0.27:9552
Oct 08 20:44:26 ServOk tor[248]: Oct 08 20:44:26.222 [warn] Could not bind to 192.168.0.27:9552: Cannot assign requested address

Это что за адрес 192.168.0.27? Твой? Или нет его?

turtle_bazon ★★★★★ ()
Последнее исправление: turtle_bazon (всего исправлений: 1)

Вроде как так можно делать и даже в документации есть об этом пару слов, но с предупреждением, что сокс трафик не шифруется.

Может у тебя после перезагрузки интерфейс долго поднимается?

anonymous ()
Ответ на: комментарий от anonymous

NOTE: Although this option allows you to specify an IP address other than localhost, you should do so only with extreme caution. The SOCKS protocol is unencrypted and (as we use it) unauthenticated, so exposing it in this way could leak your information to anybody watching your network, and allow anybody to use your computer as an open proxy.

из man tor

anonymous ()

Действительно, дело оказалось в том, что Tor запускался не дожидаясь поднятия сетевого подключения.

Решил следующим образом:

Запуск юнита systemd-networkd-wait-online

systemctl start systemd-networkd-wait-online
systemctl enable systemd-networkd-wait-online

Создание Drop-In файла для Tor:

systemctl edit tor

Со следующим содержанием:

[Unit]
After=network-online.target network.target
Wants=network-online.target

При следующем включении сервера все работает

tor.service - Anonymizing Overlay Network
     Loaded: loaded (/usr/lib/systemd/system/tor.service; enabled; vendor preset: disabled)
    Drop-In: /etc/systemd/system/tor.service.d
             └─override.conf
     Active: active (running) since Fri 2020-10-09 14:06:26 +03; 19min ago
   Main PID: 300 (tor)
      Tasks: 1 (limit: 817)
     Memory: 40.3M
     CGroup: /system.slice/tor.service
             └─300 /usr/bin/tor -f /etc/tor/torrc

Oct 09 14:06:27 ServOk Tor[300]: Starting with guard context "default"
Oct 09 14:06:28 ServOk Tor[300]: Bootstrapped 5% (conn): Connecting to a relay
Oct 09 14:06:28 ServOk Tor[300]: Bootstrapped 10% (conn_done): Connected to a relay
Oct 09 14:06:28 ServOk Tor[300]: Bootstrapped 14% (handshake): Handshaking with a relay
Oct 09 14:06:28 ServOk Tor[300]: Bootstrapped 15% (handshake_done): Handshake with a relay done
Oct 09 14:06:28 ServOk Tor[300]: Bootstrapped 75% (enough_dirinfo): Loaded enough directory info to build circuits
Oct 09 14:06:28 ServOk Tor[300]: Bootstrapped 89% (ap_handshake): Finishing handshake with a relay to build circuits
Oct 09 14:06:28 ServOk Tor[300]: Bootstrapped 90% (ap_handshake_done): Handshake finished with a relay to build circuits
Oct 09 14:06:28 ServOk Tor[300]: Bootstrapped 95% (circuit_create): Establishing a Tor circuit
Oct 09 14:06:29 ServOk Tor[300]: Bootstrapped 100% (done): Done

Профит!1

Achtung ()
Ответ на: комментарий от anonymous

Для локальной сети, в пределах комнаты, думаю, что не особо критично наличие нешифрованного канала до сервера с Tor. Н в будущем надо переделать, что все было тру. Да.

Achtung ()