Настройка Tor в OpenWRT (GLe роутер)

IMG_20220716_195844_090.jpg
В данной статье, я хотел бы максимально просто и доступно описать процесс настройки вашего роутера для обхода блокировок и анонимной работы в интернете.

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

Для реализации данного метода вам понадобится любой роутер, работающий под управлением OpenWrt(Важно, чтобы на роутере хватало памяти для установки необходимых пакетов).

OpenWrt — встраиваемая операционная система, основанная на ядре Linux, предназначенная, в первую очередь, для домашних маршрутизаторов.

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

После того, как вы установили OpenWrt на свой роутер, вам необходимо подключить его к интернету (лично я использую роутер на OpenWrt, в качестве моста).

После подлючения роутера к интернету, вам необходимо подключиться к нему по SSH с вашего компьютера.

Подключение по SSH:
На ОС Windows:

Подкючить по SSH на Windows, можно с помощью программы PuTTY:

Скачиваем её, и в окне программы вводим IP-адрес и ssh-логин(root по стандарту) вашего роутера.

На UNIX-подобных системах
На таких системах как: Linux, macOS и BSD системах всё намного проще
Для подключения по SSH необходимо ввести в терминале команду

ssh ssh_логин@ip-адрес_роутера
Для примера:
ssh [email protected]

После ввода команды, система попросит вас ввести пароль, который вы указали при входе в web-панель роутера.

Если всё было введено верно, вы увидете в своём терминале нечто подобное:
IMG_20220716_190842_545.jpg
router_openwrt_ssh_en_img

Теперь приступим к установке Tor:

Т.к. данная статья написана с целью максимально быстрой настройки, использовать будем скрипт для автоматической установки и настройки Tor.

В терминале последовательно вводим эти команды(для упрощения понимания выделю отдельные команды разным цветом):

opkg update

opkg install libustream-mbedtls

URL="https://openwrt.org/_export/code/docs/guide-user/services/tor"

cat << EOF > tor-client.sh

$(uclient-fetch -O - "${URL}/client?codeblock=0")


$(uclient-fetch -O - "${URL}/client?codeblock=1")

$(uclient-fetch -O - "${URL}/client?codeblock=2")

$(uclient-fetch -O - "${URL}/client?codeblock=3")

$(uclient-fetch -O - "${URL}/client?codeblock=4")

EOF

sh tor-client.sh

После выполнения этих команд, перезагрузите роутер, теперь ваш роутер перенаправляет весь трафик в сеть тор.


Проверить логи тор можно помощью данной команды:

logread -e Tor

На этом настройка роутера завершена.

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

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

Все эти действия были произведены на роутере ASUS RT-N14U на прошивке OpenWrt 19.07.

+
Tor Bridges Proxy - OpenWrt LuCI модуль

Решил вынести на роутер часть служб, которые были в docker-контейнерах на домашнем сервере. Tor не стал исключением. Одна незадача, готового LuCI модуля с минимальным функционалом под данную задачу в репозитории нет. Что ж, исправим этот недостаток, ниже представляю OpenWrt LuCI модуль для Tor с SOCKS 5 proxy сервером и возможностью работы с мостами. Без функции выходного узла, только SOCKS 5 proxy.
IMG_20220716_195404_442.jpg
Установка зависимостей
opkg install wget-ssl tor tor-geoip obfs4proxy

Установка luci-app-torbp
cd /tmp
wget https://github.com/zerolabnet/luci-app-torbp/releases/download/1.0/luci-app-torbp_1.0-1_all.ipk
opkg install luci-app-torbp_1.0-1_all.ipk
rm *.ipk


Порты по умолчанию
9150 - порт SOCKS 5 proxy для трафика через сеть Tor

Можем использовать в OpenClash:
- name: "Tor"
type: socks5
server: ROUTER_IP
port: 9150

источник

1) BDF Club
2) zerolab.net
3) Shipollino onion Club
 
и получается всё готово?
Что будет с трафиком, который нельзя завернуть в Тор? Он блочится по такой инструкции или это надо отдельно настроить?
Да, всё верно, мосты будут работать, на счет трафика точно сказать не могу, не помню наизусть настройки фаервола при данном методе настройки, но вроде бы в тор заворачивается весь трафик
 
Да, всё верно, мосты будут работать, на счет трафика точно сказать не могу, не помню наизусть настройки фаервола при данном методе настройки, но вроде бы в тор заворачивается весь трафик
Может пригодится. настройка iptables на transparent tor proxy, взятая из gentoo linux официального свйта

Следующие правила iptables предотвратят отток не-Tor-трафика от хоста и отключат все новые подключения извне в случае, если хост должен быть настроен как клиент Tor:

root #iptables -F

root #iptables -P OUTPUT DROP

root #iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

root #iptables -A OUTPUT -m owner --uid-owner tor -j ACCEPT

root #iptables -P INPUT DROP

root #iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

root #iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Перенаправьте ВЕСЬ исходящий трафик не через Tor на прозрачный прокси-сервер Tor:

root #iptables -t nat -A OUTPUT -p TCP -m owner ! --uid-owner tor -j DNAT --to-destination 127.0.0.1:9040
 
Если мне память не изменяет, на гидре когда-то продавали настроенные роутеры
 
Верх Низ