如何设置TOR Middlebox路由所有VirtualBox虚拟机通过TOR网络流量
本教程将向您展示如何通过Tor网络重新路由虚拟机的所有流量,以确保匿名。 它假定一台独立的机器有一个Linux操作系统,并安装了VirtualBox。 在这种情况下,我们将在主机上使用Ubuntu。
谢谢
- http://www.tolaris.com/2009/03/05/using-host-networking-and-nat-with-virtualbox/
- https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy
- http://www.rootdamnit.eu/2011/12/10/virtualbox-tor-backtrack-aka-how-to-become-almost-invisible/
主机上的所有命令都应该以root身份运行(sudo或su。
第1步 - 在主机(HM)上为您的虚拟机(VM)添加一个桥接口
# apt-get install bridge-utils
将以下内容添加到/ etc / network / interfaces中
:
# VirtualBox NAT bridge auto vnet0 iface vnet0 inet static
address 172.16.0.1
netmask 255.255.255.0
bridge_ports none
bridge_maxwait 0
bridge_fd 1
up iptables -t nat -I POSTROUTING -s 172.16.0.0/24 -j MASQUERADE
down iptables -t nat -D POSTROUTING -s 172.16.0.0/24 -j MASQUERADE
启动桥接口:
# ifup vnet0
第2步 - 为客户端设置DHCP和DNS
# apt-get install dnsmasq
编辑/etc/dnsmasq.conf
以包括:
interface=vnet0 dhcp-range=172.16.0.2,172.16.0.254,1h
启动守护进程:
# /etc/init.d/dnsmasq restart
第3步 - 安装和设置TOR
安装TOR - INSTUCTIONS
编辑/ etc / tor / torrc
并添加:
VirtualAddrNetwork 10.192.0.0/10 AutomapHostsOnResolve 1 TransPort 9040 TransListenAddress 172.16.0.1 DNSPort 53 DNSListenAddress 172.16.0.1
重启TOR:
#/etc/init.d/tor restart
在HM上创建和编辑middlebox.sh
:
#!/bin/sh
# destinations you don't want routed through Tor
NON_TOR="192.168.1.0/24"
# Tor's TransPort
TRANS_PORT="9040"
# your internal interface
INT_IF="vnet0"
iptables -F
iptables -t nat -F
for NET in $NON_TOR; do
iptables -t nat -A PREROUTING -i $INT_IF -d $NET -j RETURN
done
iptables -t nat -A PREROUTING -i $INT_IF -p udp --dport 53 -j REDIRECT --to-ports 53
iptables -t nat -A PREROUTING -i $INT_IF -p tcp --syn -j REDIRECT --to-ports $TRANS_PORT
并运行它:
#./middlebox.sh
第4步 - 在HM上设置虚拟机
打开VirtualBox,启动机器。 转到设备>网络适配器
。 禁用适配器1以外的所有网络适配器
设置以下选项:
连接到: 桥接适配器
名称: vnet0
单击确定
。
最后确保您的虚拟机通过DHCP获取其IP地址,并刷新DHCP客户端/重新启动虚拟机。 应该有一个IP范围为172.16.0.n
,名称解析器172.16.0.1
和网关172.16.0.1
。