Весь трафик в Tor

Весь трафик в Tor


Это восстание из могилы очень древней статьи для Linux.

Порой, бывают ситуации когда нам нужна безоговорочная анонимность постоянно. Винда тут никак не вяжется. Значит идем на строну света и ставим чистый Debian(лучше конечно Arch, но я упростил статью, чтоб все могли сделать).

Установка и настройка TOR

Для настройки используем конфиг /etc/tor/torrc. Открываем/создаём и пишем туда такое:

VirtualAddrNetworkIPv4 10.192.0.0/10

AutomapHostsOnResolve 1

TransPort 9040

DNSPort 53

# для жителей СНГ рекомендую исключить Exit-ноды следующих стран

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

Настройка DNS

Использовать DNS от Google или любые другие - плохая идея. Они Вас сразу деанонимизируют. Будем юзать свой локальный DNS средствами Tor. Для этого выполняем такую команду:

удалим, т.к. иногда это сим-линк

Поскольку всякие NetworkManager очень любят перезаписывать этот файл - лучше его вообще залочить на запись:

(для анлока юзайте -i вместо +i)

Настройка Iptables и проверка работоспособности

Создаём скрипт

#!/bin/sh

### установка переменных

#назначения, которые не должны идти через тор

_non_tor="192.168.1.0/24 192.168.0.0/24"

#UID с которым стартует Тор

_tor_uid="XYZ" # XYZ меняем на UID пользователя TOR (!)

#Траспортировочный порт Тора

_trans_port="9040"

### чистим iptables

iptables -F

iptables -t nat -F

### устанавливаем iptables *nat

iptables -t nat -A OUTPUT -m owner --uid-owner $_tor_uid -j RETURN

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

#Позволяем доступ в обход Тора в $_non_tor

for _clearnet in $_non_tor 127.0.0.0/9 127.128.0.0/10; do

iptables -t nat -A OUTPUT -d $_clearnet -j RETURN

done

#редиректим все остальное в Тор

iptables -t nat -A OUTPUT -p tcp --syn -j REDIRECT --to-ports $_trans_port

### устанавлиеваем iptables-фильтр

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#Позволяем клирнет доступ хостам $_non_tor

for _clearnet in $_non_tor 127.0.0.0/8; do

iptables -A OUTPUT -d $_clearnet -j ACCEPT

done

#Позволяем только вывод Тора

iptables -A OUTPUT -m owner --uid-owner $_tor_uid -j ACCEPT

iptables -A OUTPUT -j REJECT

Переменную_tor_uid меняем на uid пользователя под которым работает tor. Определить это значение можно так:

Первая цифра, то есть 135 - uid, меняем в скрипте _tor_uid="135"

Запуск:

Проверяем работу. Включаем Tor:

Пробуем зайти на https://check.torproject.org/. Должны увидеть надпись "Congratulations. This browser is configured to use Tor".

Теперь останавливаем TOR:

И повторно пробуем зайти на сайт, либо запускаем любую другую программу (например, IM-клиент), интернет не должен работать, т.к. выключен TOR. Если всё верно, то прописываем правила iptables в автозагрузку:

Открываем файл /etc/rc.local и перед exit 0 вставляем:

Добавляем запуск TOR в автозагрузку:

Чтобы отключить перенаправление надо написать такой скриптик:

#!/bin/sh

echo "Stopping firewall and allowing everyone..."

iptables -F

iptables -X

iptables -t nat -F

iptables -t nat -X

iptables -t mangle -F

iptables -t mangle -X

iptables -P INPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -P OUTPUT ACCEPT

Советую все проводить на виртуалке, чтобы не напартачить.


Report Page