tor

Создаём виртуальную сетку с шлюзом через tor

allow-hotplug eth0
iface eth0 inet static
  address 192.168.227.3
  netmask 255.255.255.0
  gateway 192.168.227.2 # ip шлюза вирутальной сети
VirtualAddrNetwork 10.192.0.0/10
AutomapHostsOnResolve 1
TransPort 0.0.0.0:9040
DNSPort 0.0.0.0:53
StrictExitNodes 1
#ExitNodes {us}
ExcludeNodes {pl},{no}
# iptables rules
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A OUTPUT -p icmp -j REJECT --reject-with icmp-port-unreachable
COMMIT

*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

-A PREROUTING -p udp -m iprange --src-range 192.168.227.4-192.168.227.254 --dport 53 -j REDIRECT --to-port 53
-A PREROUTING -p tcp -m iprange --src-range 192.168.227.4-192.168.227.254 -j REDIRECT --to-ports 9040
-A PREROUTING -p udp -m iprange --src-range 192.168.227.4-192.168.227.254 -j REDIRECT --to-ports 9040

# необходимый uid можно выяснить так: getent passwd | grep Debian-tor
-A OUTPUT -d 10.192.0.0/10 -p tcp -j REDIRECT --to-ports 9040
-A OUTPUT -p udp -m owner ! --uid-owner 121 -m udp ! --dport 53 -j REDIRECT --to-ports 9040
-A OUTPUT -p tcp -m owner ! --uid-owner 121 -j REDIRECT --to-ports 9040

COMMIT
# comment default option domain-names, domain-name-servers
subnet 192.168.227.0 netmask 255.255.255.0 {
  range 192.168.227.5 192.168.227.200;
  option routers 192.168.227.3;
  option domain-name-servers 192.168.227.3;
}