Jak przekierować cały ruch internetowy przez Tor (router cebulowy)?

14

Czy możesz wyjaśnić, jak kierować cały ruch internetowy przez tor? Używam Ubuntu. Naprawdę nie wiem, jak to zrobić. Właściwie używam Tora tylko do Twittera i obawiam się wycieku DNS. Więc muszę poprowadzić wszystko przez tor.

użytkownik178493
źródło
Możliwy duplikat instalacji Tora?
David Foerster,

Odpowiedzi:

15

Szukasz tego: TransparentProxy .

Lokalne przekierowanie przez Tor

Dodaj do swojego torrc:

VirtualAddrNetwork 10.192.0.0/10
AutomapHostsOnResolve 1
TransPort 9040
DNSPort 53

W ten sposób konfigurujesz serwer DNS na Ubuntu na porcie 53 i transparentnym proxy: 127.0.0.1:9040.

Następnie dodaj do pliku /etc/resolv.conf

nameserver 127.0.0.1

W ten sposób zapobiegniesz wyciekom DNS z twojego systemu.

Dlatego skonfiguruj swoją zaporę ogniową w świetle, że każde połączenie będzie przechodzić przez TransPort oprócz użytkownika Tora:

#!/bin/sh

# destinations you don't want routed through Tor
NON_TOR="192.168.1.0/24 192.168.0.0/24"

# the UID Tor runs as
TOR_UID="109"

# Tor's TransPort
TRANS_PORT="9040"

iptables -F
iptables -t nat -F

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
for NET in $NON_TOR 127.0.0.0/9 127.128.0.0/10; do
 iptables -t nat -A OUTPUT -d $NET -j RETURN
done
iptables -t nat -A OUTPUT -p tcp --syn -j REDIRECT --to-ports $TRANS_PORT

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
for NET in $NON_TOR 127.0.0.0/8; do
 iptables -A OUTPUT -d $NET -j ACCEPT
done
iptables -A OUTPUT -m owner --uid-owner $TOR_UID -j ACCEPT
iptables -A OUTPUT -j REJECT

Czytaj dalej oficjalne wiki, istnieje rodzaj ataku na tę metodę i rodzaj rozwiązania: IsolatingProxy .

niewinny świat
źródło