Установка и настройка tor-ноды
1. Загружаем исходники tor отсюда я взял версию 0.4.2.4-rc посвежее.
2. Собираем пакет:
- Распаковываем из архива каталог
tor-0.4.2.4-rc со всеми подкаталогами- Переходим в этот каталог и выполняем последовательно:
./configure
make
checkinstallcheckinstall нас спросит, какой пакет хотим создать (Slackware [S], RPM [R] or Debian [D]?), отвечаем s, далее вводим описание пакета, например tor и нажимаем два раза ENTER, после чего подтверждаем, что все верно (нажав ENTER еще раз) и checkinstall создаст пакет.3. Можно сразу его установить:
installpkg tor-0.4.2.4-rc-i386-1.tgzНегоже запускать tor под обычным пользователем, а тем более под
root'ом, потому создадим для него отдельного пользователя. Пользователь будет неинтерактивный, т.е. войти в систему с терминала он не сможет.1. Добавляем группу, например
torgroup:groupadd torgroup2. Смотрим файл
/etc/shells и проверяем, чтоб в файле была строка /bin/false, если ее нет - смело дописываем.3. Создаем пользователя с именем, например,
torusr:useradd -g torgroup -m -d /home/torusr -s /bin/false torusrгде:
-g torgroup - группа пользователя (torgroup)-m - создать домашний каталог-d /home/torusr - путь к домашнему каталогу (/home/torusr)-s /bin/false - установить пользователю оболочку, в данном случае фиктивную (/bin/false)torusr - имя пользователя4. Создаем каталог для данных tor:
cd /home/torusr
mkdir .tordataи изменяем владельца созданного каталога на
torusrchown torusr:torgroup .tordataВ каталоге
/home/torusr создаем файл torrc и записываем в него следующие строки:SocksPort 9050 - порт на localhost, где будет висеть tor, и принимать на него запросы. Проще говоря, это порт прокси-сервера, который надо будет прописать, чтоб соединиться с сетью tor с локальной машины. Порт 9050 является портом по умолчанию, и назначается на localhost (127.0.0.1), если строки SocksPort будут отсутствовать в конфигурации.SocksPort 192.168.0.20:9660 - то же самое, только внутри локальной сети. Клиенты из локальной сети должны будут подключаться по адресу 192.168.0.20 и порту 9666, чтобы использовать сеть tor.Tor организует только SOCKS5 прокси, как быть с браузерами, которым нужен HTTP, рассмотрим далее.
SocksPolicy accept 192.168.0.0/24
SocksPolicy accept 127.0.0.1
SocksPolicy reject *Принимать запросы только из локальной сети и localhost'а.
Log notice file /home/torusr/notices.log - файл, куда будет писаться лог tor'аRunAsDaemon 1 - запуск tor в режиме демона.DataDirectory /home/torusr/.tordata - путь для данных torORPort 9001 - порт, используемый для пересылки пакетов с других узлов. DirPort 9030 - порт, используемый для сервиса каталогов, т.е узел будет позволять получать информацию о других узлах tor, а не только транслировать трафик.Конечно, стоило бы облегчить жизнь пользователям, сидящим за сетевыми экранами и пустить трафик по портам 80 (8080) или 443, но я пока не стал. Впрочем, если вам будет надо - смотрите статью на Хабре (копия)
RelayBandwidthRate 1000 MB
RelayBandwidthBurst 2000 MB - ограничение пропускной способности. Чем больше, тем лучше. Но настраивайте эти числа под свой канал, чтоб не загадить его трафиком tor совсем.Nickname PersonalChaosRelay - имя вашего релея (ноды) в базе tor. Можете придумать любое, но советую сначала проверить придуманное имя здесь, введя его в поиске. Если ничего не найдется, проздрабляю, ваш релей будет уникальным.ExitPolicy reject *:*
ExitPolicy reject6 *:* - запрет использовать tor-ноду в качестве выходной. Для ГОРФ параметр строго обязательный.Примечание: в
/usr/local/etc/tor находится файл torrc.sample с подробным описанием конфигурации.Пример файла конфигурации на PasteBin
Устанавливаем файлу правильного владельца:
chown torusr:torgroup torrcЗапуск осуществляется следующей командой:
sudo -u torusr tor -f /home/torusr/torrcЕсли помещать запуск в автозагрузку, то желательно указать полный путь к файлу
tor:sudo -u torusr /usr/local/bin/tor -f /home/torusr/torrcЗапуск в отдельном network namespace (копия):
ip netns exec provns sudo -u torusr /usr/local/bin/tor -f /home/torusr/torrcprovns - имя network namespaceМинут через 15-20 после запуска можно заглянуть в
/home/torusr/notices.log, если в последних строках файла написано что-то типа:Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.
Tor has successfully opened a circuit. Looks like client functionality is working.
Self-testing indicates your DirPort is reachable from the outside. Excellent.
Performing bandwidth self-test...done.значит порты ORPort и DirPort доступны извне, и нода нормально функционирует.
Если же в логе что-то типа:
Your server (x.x.x.x:9001) has not managed to confirm that its ORPort is reachable. Relays do not publish descriptors until their ORPort and DirPort are reachable. Please check your firewalls, ports, address, /etc/hosts file, etc.
Your server (x.x.x.x:9030) has not managed to confirm that its DirPort is reachable. Relays do not publish descriptors until their ORPort and DirPort are reachable. Please check your firewalls, ports, address, /etc/hosts file, etc.значит порты недоступны из интернета (закрыты фаерволлом, нужно сделать проброс портов на роутере, порты закрыты провайдером) и нода не появится в списке нод и не будет принимать соединения.
В режиме клиента все будет работать, т.е. клиенты из локальной сети смогут ей пользоваться для выхода в сеть tor
Если все в порядке, то через несколько часов нода появится в базе данных, и можно будет проверить ее наличие здесь введя в поисковой строке на странице Nickname, который указали в конфиге.
( Настройка для клиентов под катом )
Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2019/11/26/usta