== Торификация виртуальной машины == Чтобы торифицировать виртуалку, необходимо для начала выбрать подсеть, в которой будет жить гейтвей и виртуалки. В нашем случае это будет 10.0.0.0/24. Гейтвей будет 10.0.0.1. В /etc/torrc добавляем следующее: {{{ AutomapHostsOnResolve 1 TransPort 10.0.0.1:9040 DNSPort 10.0.0.1:53 }}} Для примера рассмотрим конфигурирование виртуалок на основе !VirtualBox. В других системах виртуализации будут небольшие различия. В /etc/vbox/networks.conf разрешаем !VirtualBox создание виртуальной сети в нашем диапазоне: {{{ * 10.0.0.0/24 }}} После чего !VirtualBox следует перезапустить. В гуйне !VirtualBox идём в File -> Tools -> Network Manager, где добавляем новую Host-only Network с нашим диапазоном, гейтвеем и DHCP-сервером раздающим адреса начиная с 2; интерфейс предложит название сети - vboxnet0 - его и оставим: * Adapter: * [x] Configure adapter manually * IPv4 Address: 10.0.0.1 * IPv4 Network Mask: 255.255.255.0 * IPv6 Address: пофиг * IPv6 Prefix Length: пофиг * DHCP Server: * Server Address: 10.0.0.1 * Server Mask: 255.255.255.0 * Lower Address Bound: 10.0.0.2 * Upper Address Bound: 10.0.0.254 Эту Host-only Network выбираем как бекенд единственного сетевого интерфейса в настройках конкретной виртуалки. Далее необходимо завернуть весь трафик приходящий в хост-систему по интерфейсу vboxnet0 в Tor (а точнее, все доступы к DNS и весь TCP-трафик) и запретить всё, что завернуть мы не можем. Делаем это посредством iptables: Заворот: {{{ iptables -t nat -I POSTROUTING -s 10.0.0.0/24 -j MASQUERADE iptables -t nat -A PREROUTING -i vboxnet0 -p udp --dport 53 -j REDIRECT --to-ports 53 iptables -t nat -A PREROUTING -i vboxnet0 -p tcp --syn -j REDIRECT --to-ports 9040 }}} Фаервол: {{{ iptables -A INPUT -i vboxnet0 -p udp --dport 53 -j ACCEPT iptables -A INPUT -i vboxnet0 -p tcp -j ACCEPT iptables -A INPUT -i vboxnet0 -j DROP iptables -A FORWARD -i vboxnet0 -j DROP }}} Конфигурировать IPv6 лень, поэтому просто запретим его: {{{ ip6tables -t raw -A PREROUTING -i vboxnet0 -j DROP }}} Всё это добро исполняем, а так же пихаем куда там в вашей системе модно для автозапуска; в Debian это /etc/rc.local После перезапуска Tor наш сетап готов к использованию. Для проверки того, что соединение и правда идёт не через хостовый адрес, запускаем в госте: {{{ curl ifconfig.me }}} и сравниваем полученный IP-адрес с хостовым.