Прозрачный обход блокировок и доступ к сети Tor. Настраиваем Tor правильно Настроим демон Tor

Что если вам хочется ходить в сеть без надуманных ограничений, но не хочется каждый раз в браузере подменять прокси? Что если вы хотите заходить и на запрещенные сайты, и на обычные, и чтобы при этом скорость, с которой открываются обычные сайты, не страдала? Что если вам интересно знать что творится в удалённых частях глобальной сети?

Исходя из этих соображений нам нужно чтобы:

  • Обычные сайты открывались как обычно
  • Запрещенные сайты открывались через Tor без настроек
  • Все сайты в зоне.onion тоже открываются без настроек

С одной стороны, требования противоречивые. А другой стороны, чего не сделаешь ради удобства!

Можно было бы вспомнить различные способы и средства для обхода DPI , но если не хочется ни о чем таком думать, а скорей даже хочется настроить и забыть, то аналогов Tor для решения поставленной задачи в части простого доступа к заблокированным сайтам нет.

Вы не получите полной анонимности следуя только этим инструкциям. Анонимность без мер OPSEC невозможна. Инструкция подразумевают лишь обход ограничений.

Что нам нужно?

Для начала нам нужен или роутер, или сервер, работающий в качестве прозрачного моста, пропускающего через себя весь трафик. Это может быть и существующий сервер, это может быть и коробочка с Raspberry Pi. Могут подойти и обычные компактные роутеры с Linux, если на них в принципе можно поставить необходимые пакеты.

Если подходящий роутер у вас уже есть, то настраивать отдельно мост не нужно и можно .

Если же установка Tor на ваш роутер представляет проблему, то вам понадобится любой компьютер с двумя сетевыми интерфейсами и Debian Linux на борту. Его вы в конечном счёте подключите в разрыв сети между роутером, который смотрит во внешний мир, и вашей локальной сетью.

Если не до серверов и роутеров, то возможно .

Настроим мост

Настройка моста в Debian проблемы не представляет. Вам понадобится программа brctl , которая есть в пакете bridge-utils:

apt install bridge-utils

Постоянная конфигурация для моста задаётся в /etc/network/interfaces . Если вы делаете мост из интерфейсов eth0 и eth1 , то конфигурация будет выглядеть так:

# Отметим интерфейсы как настраиваемые вручную iface eth0 inet manual iface eth1 inet manual # Мост поднимается автоматически после перезагрузки auto br0 # Мост с получением IP по DHCP iface br0 inet dhcp bridge_ports eth0 eth1 # Мост со статическим IP iface br0 inet static bridge_ports eth0 eth1 address 192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.1

Вам нужно выбрать какую-то одну конфигурацию для моста: с динамическим IP или статическим.

Обратите внимание что на этом этапе не обязательно включать сервер в разрыв сети. Можно обойтись и одним подключенным интерфейсом.

Попросим систему применить новые настройки:

service networking reload

Теперь можно проверить существование моста командой brctl show:

# brctl show bridge name bridge id STP enabled interfaces br0 8000.0011cc4433ff no eth0 eth1

Посмотреть выданный IP адрес, и проверить вообще факт выдачи какого-то IP по DHCP или статически, можно командой ip:

# ip --family inet addr show dev br0 scope global 4: br0: mtu 1500 qdisc noqueue state UP inet 192.168.1.2/24 brd 192.168.1.255 scope global br0

Если с IP адресами всё в порядке, то уже можно попробовать включить сервер в разрыв сети...

В конце концов все устройства в вашей сети, будучи включены через сервер, должны иметь полный доступ к глобальной сети будто никакого сервера между ними и внешним роутером нет. То же касается работы DHCP и прочего. Всё это стоит проверить до перехода к настройке Tor.

Если что-то работает не так же, как раньше, или вообще не работает, стоит сначала решить проблемы, лишь потом переходить к настройке собственно Tor.

Настроим демон Tor

Установка Tor выполняется обычно. Установим также базу данных привязки к странам:

apt install tor tor-geoipdb

В конец файла конфигурации /etc/tor/torrc нужно дописать директивы для включения функции прокси-сервера:

VirtualAddrNetworkIPv4 10.0.0.0/8 AutomapHostsOnResolve 1 TransPort 0.0.0.0:9040 DNSPort 0.0.0.0:5300

Перезапустим Tor и проверим что DNS в нашей конфигурации работает на каком-нибудь известном сайте:

# service tor restart # dig +short facebookcorewwwi.onion @localhost -p 5300 10.11.127.156

Последняя команда должна вывести IP из подсети 10.0.0.0/8 .

При перезапуске Tor по делу ругается на использование публичного IP для TransPort и DNSPort , которые в самом деле могут быть доступны посторонним. Исправим это недоразумение, разрешив только соединения из локальной сети (в моём случае это 192.168.1.0/24):

iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 9040 -j ACCEPT iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 5300 -j ACCEPT iptables -A INPUT -p tcp --dport 9040 -j DROP iptables -A INPUT -p udp --dport 5300 -j DROP

Последние два правила можно пропустить если у вас для цепочки INPUT по умолчанию стоит правило DROP .

Настроим доступ для всей локальной сети

Чтобы все устройства в сети смогли зайти на сайты в Tor нам нужно переадресовать все запросы к выделенной сети 10.0.0.0/8 на порт встроенного прокси-сервера Tor:

iptables -t nat -A PREROUTING -p tcp -d 10.0.0.0/8 -j REDIRECT --to-port 9040 iptables -t nat -A OUTPUT -p tcp -d 10.0.0.0/8 -j REDIRECT --to-port 9040

Два правила для цепочек PREROUTING и OUTPUT мы добавляем чтобы схем работала не только с устройств в сети, но и с самого сервера. Если не требуется чтобы эта схема работала с самого сервера, то добавления правила в цепочку OUTPUT можно пропустить.

Переадресация DNS запросов к зоне.onion

Эту проблему можно было бы решить либо заменой DNS сервера на свой в DHCP ответах клиентам, либо, если у вас в сети не принято использовать локальный DNS сервер, перехватом всего DNS трафика. Во втором случае не нужно будет ровным счетом ничего настраивать, но все ваши клиенты, и вы в том числе, потеряете возможность делать произвольные запросы к произвольным серверам. Это очевидное неудобство.

Мы же будем переадресовать лишь DNS запросы, упоминающие домен.onion , на порт встроенного DNS сервера, оставляя все остальные запросы в покое:

iptables -t nat -A PREROUTING -p udp --dport 53 -m string \ --hex-string "|056f6e696f6e00|" --algo bm -j REDIRECT --to-ports 5300 iptables -t nat -A OUTPUT -p udp --dport 53 -m string \ --hex-string "|056f6e696f6e00|" --algo bm -j REDIRECT --to-ports 5300

Магическая строка 056f6e696f6e00 связана с особенностями передачи точки в DNS запросах : она передаётся в виде длины следующей после неё строки. Потому в начале нашей магической строки стоит 0x05 для пяти символов в слове onion . В конце строки стоит нулевой байт 0x00 потому что корневой домен (точка) имеет нулевую длину .

Такой подход позволяет ваши пользователям (и вам самим) пользоваться какими им удобно DNS серверами, а также запрашивать информацию у любых DNS серверов без посредников. Вместе с тем никакие запросы в зоне.onion не будут попадать в открытый интернет.

Теперь попробуйте достучаться до какого-нибудь популярного сайта в сети Tor с любого устройства в локальной сети. Например, так:

$ curl -I facebookcorewwwi.onion HTTP/1.1 301 Moved Permanently Location: https://facebookcorewwwi.onion/

Отладка и решение возможных проблем

Если хочется убедиться что никакие DNS запросы к.onion не идут дальше сервера, то их отсутствие можно проверить так:

ngrep -q -d br0 -q -W byline onion udp port 53

В норме эта команда, выполненная на сервере, должна показать полное отсутствие пакетов - то есть не выводить ничего, чтобы вы не делали.

Если Firefox не видит.onion

Если вам это мешает, а перспектива случайной деанонимизации вас не волнует (ведь мы уже не пускаем DNS запросы к.onion в открытый интернет), отключить эту настройку можно в about:config по ключу network.dns.blockDotOnion .

Мобильный Safari и.onion

Программы под iOS, включая Safari и Chrome, в принципе игнорирует.onion при работе по такой схеме. Как исправить эту проблему в рамках такой схемы мне неизвестно.

Провайдер подменяет IP в DNS

Некоторые провайдеры из экономических соображений, вместо блокировки сайтов по IP или через DPI, лишь подменяют IP для DNS запросов по списку запрещенных сайтов.

Простейшим решением этой проблемы будет переход на сервера Google Public DNS . Если это не помогает, а значит ваш провайдер перенаправляет вообще весь DNS трафик на свой сервер, то можно перейти на использование Tor DNS, в свою очередь переадресовав весь трафик на него:

iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 5300 iptables -t nat -A OUTPUT -p udp --dport 53 -j REDIRECT --to-ports 5300

В моей сети используются IP из 10.0.0.0/8

Нет проблем! Во всех директивах выше используйте какую-то другую подсеть из предназначенных для этого , исключая зарезервированные . Серьезно, обратите внимание на резервированные.

Кроме того, не обязательно использовать сразу весь диапазон - можно ограничиться и подсетью. Например, подойдет 10.192.0.0/10 .

Обход блокировок через Tor

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

ExcludeExitNodes {RU}, {UA}, {BY}

Обновляем реестр

Реестр не стоит на месте и список заблокированных сайтов пополняется. Потому вам нужно время от времени выгружать актуальный список IP и добавлять его в ipset . Лучше всего это делать не выгружая весь список целиком каждый раз, а выкачивая только изменения, например, отсюда c GitHub .

#!/bin/bash set -e mkdir -p /var/local/blacklist cd /var/local/blacklist git pull -q || git clone https://github.com/zapret-info/z-i.git . ipset flush blacklist tail +2 dump.csv | cut -f1 -d \; | grep -Eo "{1,3}\.{1,3}\.{1,3}\.{1,3}" | tee /var/local/blacklist/blacklist.txt | xargs -n1 ipset add blacklist

Возможно удалять и добавлять только изменившиеся в списке IP, для чего вам может пригодится git whatchanged .

Если вам подходит скрипт выше, то ему самое место в /etc/cron.daily/blacklist-update . Не забудьте дать этому файлу права на выполнение.

chmod +x /etc/cron.daily/blacklist-update

Сохраняем настройки

apt install iptables-persistent

dpkg-reconfigure iptables-persistent

К сожалению, такого же удобного пакета для ipset пока нет, но эта проблема решается скриптом /etc/network/if-pre-up.d/ipset:

#!/bin/sh ipset -exist create blacklist hash :ip cat /var/local/blacklist/blacklist.txt | xargs -n1 ipset add -exist blacklist

Обязательно нужно дать и этому скрипту права на выполнение:

chmod +x /etc/network/if-pre-up.d/ipset

При следующей перезагрузке этот скрипт выполнится и восстановит список заблокированных IP.

Если забыть о серверах...

Окей, скажите вы, ну а что если я хочу получить все тот же удобный доступ к.onion , но без серверов - локально, на одном компьютере?

Нет проблем! В этом случае все даже проще. Хватить добавить эти три строчки в torrc:

AutomapHostsOnResolve 1 TransPort 9040 DNSPort 5300

Затем эти два правила для iptables:

iptables -t nat -A OUTPUT -p tcp -d 127.192.0.0/10 -j REDIRECT --to-port 9040 iptables -t nat -A OUTPUT -p udp --dport 53 -m string \ --hex-string "|056f6e696f6e00|" --algo bm -j REDIRECT --to-ports 5300

И можно проверять. Доступ к заблокированным сайтам настраивается по инструкции выше.

Ложка дёгтя

Несмотря на простоту и удобство этот подход наследует часть недостатков сети Tor.

На запрещенные сайты в сети вы заходите от имени выходных узлов , что даёт администраторам выходных узлов принципиальную возможность наблюдать ваш трафик и ваши пароли, если для доступа к целевому сайту не используется шифрование (должны быть https в начале адреса или зеленый замочек 🔒 в адресной строке).

Можно было бы понадеяться что администраторы таких узлов не будут следить за вами из соображений их собственного крепкого ночного сна, но...

Если вы заходите на какой-то сайт по незащещённому соединению, через Tor ли напрямую, нужно всегда иметь ввиду что ваши логины и пароли в принципе могут оказаться в папке с литерами на столке у человека в погонах.

Вот и все!

Что-то все еще непонятно? Что-то нужно исправить или что-то особенно понравилось? Напишите ниже в комментариях.

Сетевые файлы, использующиеся для установки соединения, могут быть заражены или повреждены вирусами, от чего либо браузер, либо прокси не получает доступ к необходимому объекту. Поэтому мы рекомендуем осуществить сканирование и дальнейшую очистку системы от вредоносных файлов одним из доступных методов.

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

Способ 4: Сканирование и исправление ошибок реестра

Большинство системных параметров ОС Windows хранятся в реестре. Иногда они повреждаются или начинают работать некорректно из-за каких-либо сбоев. Мы советуем провести сканирование реестра на наличие ошибок и по возможности исправить их все. После перезагрузки компьютера попробуйте заново настроить соединение. Развернуто об очистке читайте далее.

Tor - система запутанных прокси-серверов, маскирующая пребывание пользователя в интернете. Обычно её используют в специальном браузере (который так и называется - Tor Browser), однако её можно добавить и в более привычный большинству пользователей Google Chrome. Для этого потребуется лишь установить и настроить несколько расширений.

Сначала установите расширение Kronymous . Его значок появится во вкладке chrome://apps. Запустите Kronymous и нажмите OK под инструкцией по использованию, а затем "Start Tor Proxy". Дождитесь загрузки до 100% (если появится сообщение об ошибке, нажмите "Restart Tor Proxy"). Также не лишним будет установить галочку рядом с Autostart Tor Proxy - благодаря этому в случае потери связи с Tor будет автоматически установлено новое соединение. Не закрывайте терминал, иначе соединение с Tor будет потеряно.

Если на этом этапе проверить IP-адрес, ничего не изменится. Для того, чтобы скрыть его, нужно перенаправить браузер через прокси, а это можно сделать с помощью расширения Proxy Switcher Omega . Установите его, откройте настройки профилей, зайдите в раздел Proxy и укажите следующие параметры:

  • Protocol: SOCKS5
  • Server: 127.0.0.1
  • Port: 9999

Нажмите "Apply changes", а затем на кнопку Proxy Switcher Omega справа от адресной строки и выберите профиль (например, proxy). Проверьте IP-адрес своего компьютера. Если он изменился, значит Tor работает и маскирует вас. У каждой новой вкладки будет свой IP.

Это не всё. Если вы не хотите оставлять на сайтах следы, по которым вас можно идентифицировать, отключите использование javascript. Это можно делать в настройках браузера или с помощью расширения

Многие люди считают, что TOR – это стопроцентно приватный и безопасный способ пользоваться Всемирной Сетью без риска быть отслеженным. Правда ли это или только слухи? Есть много способов проверить, но об этом пишут не на всех сайтах.

На самом деле TOR не решает проблемы приватности и анонимности. У него есть множество ограничений и рискованных моментов, о которых следует знать, прежде чем вы начнёте пользоваться им.

Выходные узлы могут просматриваться

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

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

Эта проблема не надуманная. Используя TOR, всегда пользуйтесь зашифрованными HTTPS-сайтами, особенно если они содержат важные сведения. Траффик могут отследить, и это может сделать не только правительство, но и преступные элементы, желающий получить доступ к чужой информации.

Плагины, JavaScript и другие приложения, раскрывающие IP

В браузере TOR по умолчанию выставлены настройки, обеспечивающие безопасность – отключение JavaScript, плагинов, предупреждающие сигналы браузера при попытке скачать файл и открыть его в другом приложении.

Если вы пытаетесь изменить свой IP-адрес, следует избегать JavaScript. Применение JavaScripts в виде различных плагинов, Flash-приложений и т. д. может привести к утечке информации и, как следствие, открыть ваш настоящий IP.

По умолчанию браузер TOR не допускает появления таких проблем, однако эти установки можно изменить, отключить защиту и пользоваться Javascript или плагинами. Не стоит этого делать, если вы хотите сохранить анонимность. С другой стороны, если вы не хотите оставаться анонимным, то вам ни к чему пользоваться TOR.

Не относитесь к этому легкомысленно. Браузер TOR следует оставлять в безопасном режиме. Не следует использовать TOR при посредстве какого-нибудь другого браузера. Изначальные настройки браузера TOR не нуждаются в изменениях. Пользоваться другими приложениями при использовании TOR не следует.

При серфинге в интернете не всегда все проходит гладко. Иногда могут выскакивать различные ошибки, которые прерывают доступ в сеть. Одно из таких является это случай, когда прокси сервер отказывается принимать соединение в тор браузер. Проблема может появляться и в других клиентах.

Что означает ошибка

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

Причины возникновения

Как правило, доступ к глобальной паутине браузер получает автоматически при помощи проводного или беспроводного соединения. Необходима лишь первоначальная настройка.

Но бывает, что настройки прокси сервера сбиваются, и тогда сеть пропадает. Прокси сервер - это вроде компьютера посредника, через который проходит вся информация. В настройках указан его адрес (сервера), и все запросы идут уже через него. Но если он не работает, то браузер посылает сигнал без ответа, что и прерывает интернет.

Возникнуть такая проблема может по разным причинам. Настройки прокси могут сбиться, даже если выполнить неправильное отключение компьютера. Также наличие вирусов или посещение ненадежных сайтов может спровоцировать такую ошибку.

Читайте также:

Все способы устранения

Есть несколько способов исправления ошибки «Прокси-сервер отказывается принимать соединение» в Тор браузере. Эти же решения могут быть использованы и для устранения идентичной проблемы и в других клиентах. Рекомендуется выполнять все действия с учетной записи администратора.

Настройки прокси браузера

Для начала требуется попробовать изменить настройки в браузере. Для этого нужно сделать следующее:

Системные настройки прокси

Если после смены настроек браузера ничего не поменялось, то стоит проверить системные. Чтобы это сделать требуется проследовать инструкции:

  1. Зайти в меню поиска и вписать «Прокси» .
  2. В выдаче выбрать «Параметры прокси-сервера сети» .
  3. Откроется окно, в котором нужно установить автоматическое определение прокси.

После сохранения изменений проблема должна исчезнуть.

Другие решения

Если предыдущие варианты не помогли, стоит попробовать сделать следующее:

  • Проверить работает ли сеть через другой браузер. Если там все нормально, то поломанный стоит заново установить, предварительно удалив.
  • Отключить от браузера все дополнения и плагины.
  • Просканировать OC Windows на наличие вирусов и удалить их.
  • Сделать очистку кэша и куки клиента, реестр винды.

Заключение

Возникновение подобной ошибки во время использования Тор браузера всегда неприятно. Но при своевременных действиях ее можно быстро устранить. В случае, если ни один из методов не сработал, стоит попробовать откатить систему к моменту, где еще сохранялась работоспособность.

Похожие публикации