在 Linux 中使用 iptables nat 路由所有流量

在 Linux 中使用 iptables nat 路由所有流量

我想通过 Linux 中的 iptables NAT 路由所有流量,我想通过 TOR 路由所有流量。

我的脚本仅接受 TCP 和 UDP 协议,但我需要通过 NAT 路由所有协议。

而且我需要允许发送无效数据包。

这是我的 bash 脚本:

#!/bin/bash

# flush iptables
iptables -F
iptables -t nat -F

# Tor's UID
TOR_UID="debian-tor"

# Tor's TransPort
TOR_PORT="9040"

# Destinations you don't want routed through Tor
TOR_EXCLUDE="192.168.0.0/16 172.16.0.0/12 10.0.0.0/8"

cp /etc/resolv.conf /etc/resolv.conf.bak
touch /etc/resolv.conf
echo -e 'nameserver 127.0.0.1\nnameserver 92.222.97.144\nnameserver 92.222.97.145' > /etc/resolv.conf
echo -e " $GREEN*$BLUE Modified resolv.conf to use Tor and FrozenDNS"

# set iptables nat
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
iptables -t nat -A OUTPUT -p tcp --dport 53 -j REDIRECT --to-ports 53
iptables -t nat -A OUTPUT -p udp -m owner --uid-owner $TOR_UID -m udp --dport 53 -j REDIRECT --to-ports 53

#resolve .onion domains mapping 10.192.0.0/10 address space
iptables -t nat -A OUTPUT -p tcp -d 10.192.0.0/10 -j REDIRECT --to-ports 9040
iptables -t nat -A OUTPUT -p udp -d 10.192.0.0/10 -j REDIRECT --to-ports 9040

#exclude local addresses
for NET in $TOR_EXCLUDE 127.0.0.0/9 127.128.0.0/10; do
    iptables -t nat -A OUTPUT -d $NET -j RETURN
done

#redirect all other output through TOR
iptables -t nat -A OUTPUT -p tcp --syn -j REDIRECT --to-ports $TOR_PORT
iptables -t nat -A OUTPUT -p udp -j REDIRECT --to-ports $TOR_PORT
iptables -t nat -A OUTPUT -p icmp -j REDIRECT --to-ports $TOR_PORT

#accept already established connections
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#exclude local addresses
for NET in $TOR_EXCLUDE 127.0.0.0/8; do
    iptables -A OUTPUT -d $NET -j ACCEPT
done

#allow only tor output
iptables -A OUTPUT -m owner --uid-owner $TOR_UID -j ACCEPT
iptables -A OUTPUT -j REJECT

例如,如果我使用 nmap 网络扫描器,它根本无法工作,因为它使用其他协议并向目标发送无效数据包。但使用代理链,可以使其通过 TOR 网络工作,但不能在多线程异步模式下工作,并且它仍然会发送一些不通过代理链的数据包,因此情况并非如此。

有人能帮忙吗

相关内容