通过 Tor 隧道传输 FON 流量

通过 Tor 隧道传输 FON 流量

我想通过隧道传输我的流量广域网路由器通过托尔。为此,我向本地服务器添加了第二块网卡,并将 FON 路由器连接到它。然后我设置了 DHCP 服务器并配置了 Tor 服务。这一切都有效。现在是不起作用的部分:我配置了一些 iptables 规则,通过正常的互联网连接重定向 FON 流量,并通过 Tor 重定向 FON 客户端流量。这有点有效:FON 路由器可以在 FON 上注册自己,但不知何故,一段时间后 fon 说路由器离线。 iptables 规则是:

    # 192.168.69.0/24 -> fon lan

# destinations not routed through Tor
NON_TOR="192.168.0.0/16 172.29.0.0/24"

# TOR user
TOR_UID="117"

# Tor's TransPort
TRANS_PORT="9040"

# interface to tor router
INT_IF="eth2"
# interface to internet
EXT_IF="eth0"

iptables -F
iptables -t nat -F

iptables -t nat -A POSTROUTING -o $EXT_IF -j MASQUERADE
# radius
for i in 160 161 162 163
do
    iptables -A INPUT -i $INT_IF -p udp --destination-port 1812:1813 -j ACCEPT
    iptables -A FORWARD -i eth2 -o $EXT_IF -p udp -s 192.168.69.0/24 --destination-port 1812:1813 -d 213.134.45.$i -j ACCEPT
    iptables -A OUTPUT -p udp -s 192.168.69.0/24 --destination-port 1812:1813 -d 213.134.45.$i -j ACCEPT
    iptables -A INPUT -i $INT_IF -p tcp --destination-port 1812:1813 -j ACCEPT
    iptables -A FORWARD -i eth2 -o $EXT_IF -p tcp -s 192.168.69.0/24 --destination-port 1812:1813 -d 213.134.45.$i -j ACCEPT
    iptables -A OUTPUT -p tcp -s 192.168.69.0/24 --destination-port 1812:1813 -d 213.134.45.$i -j ACCEPT
    iptables -A INPUT -i $INT_IF -p udp --destination-port 1812:1813 -j ACCEPT
done
# 1938
iptables -A INPUT -i $INT_IF -p tcp --destination-port 1938 -j ACCEPT
iptables -A FORWARD -i eth2 -o $EXT_IF -p tcp -s 192.168.69.0/24 --destination-port 1938 -d 213.134.45.190 -j ACCEPT
iptables -A OUTPUT -p tcp -s 192.168.69.0/24 --destination-port 1938 -d 213.134.45.190 -j ACCEPT
# 53
iptables -A INPUT -i $INT_IF -p udp --destination-port 53 -j ACCEPT
iptables -A FORWARD -i eth2 -o $EXT_IF -p udp -s 192.168.69.0/24 --destination-port 53 -d 213.134.45.190 -j ACCEPT
iptables -A OUTPUT -p udp -s 192.168.69.0/24 --destination-port 53 -d 213.134.45.190 -j ACCEPT
# 1937
iptables -A INPUT -i $INT_IF -p tcp --destination-port 1937 -j ACCEPT
iptables -A FORWARD -i eth2 -o $EXT_IF -p tcp -s 192.168.69.0/24 --destination-port 1937 -d 213.134.45.191 -j ACCEPT
iptables -A OUTPUT -p tcp -s 192.168.69.0/24 --destination-port 1937 -d 213.134.45.191 -j ACCEPT
# 123
iptables -A INPUT -i $INT_IF -p udp --destination-port 123 -j ACCEPT
iptables -A FORWARD -i eth2 -o $EXT_IF -p udp -s 192.168.69.0/24 --destination-port 123 -j ACCEPT
iptables -A OUTPUT -p udp -s 192.168.69.0/24 --destination-port 123 -j ACCEPT

iptables -A FORWARD -i eth2 -o $EXT_IF -d 192.168.0.0/16 -j REJECT
iptables -A FORWARD -i eth2 -o $EXT_IF -p udp -d 0.0.0.0/0 -j REJECT
iptables -t nat -A OUTPUT -o lo -j RETURN
iptables -t nat -A OUTPUT -m owner --uid-owner $TOR_UID -j RETURN
for NET in $NON_TOR; do
  iptables -t nat -A OUTPUT -d $NET -j RETURN
  iptables -t nat -A PREROUTING -i $INT_IF -d $NET -j RETURN
done
iptables -t nat -A OUTPUT -p udp --dport 53 -j REDIRECT --to-ports 53
iptables -t nat -A OUTPUT -p tcp --syn -j REDIRECT --to-ports $TRANS_PORT

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

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

相关内容