要将 iptables 配置为将全局流量转发到 Socks5,可以按照以下步骤进行操作。
- 首先确保已经安装了 iptables 工具。如果没有安装,可以使用以下命令来安装:
sudo apt-get install iptables
- 创建一个新的 iptables 规则集并设置默认动作为 ACCEPT(接受)所有传入连接:
sudo iptables -F INPUT
sudo iptables -P INPUT ACCEPT
- 添加一条规则,将所有传入连接重定向到本地的 Socks5 服务器上:
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports <socks5_server_port>
其中 <socks5_server_port> 需要替换成你的 Socks5 服务器正在运行的端口号。
- 最后,保存这些规则并应用更改:
sudo sh -c "echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf" sudo sysctl -p
现在,当有任何 TCP 数据包通过网络时,都会被重定向到指定的 Socks5 服务器上。
方法2
- 同上, 安装iptables
- 创建iptables_forward文件
vim /etc/network/if-up.d/iptables_forward
输入以下内容#!/bin/sh echo "1" > /proc/sys/net/ipv4/ip_forward iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to <socks5_server>:80 iptables -t nat -A PREROUTING -p udp --dport 80 -j REDIRECT --to <socks5_server>:80 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
- 设置文件可执行权限
chmod +x /etc/network/if-up.d/iptables_forward
- 最后,重新加载网络配置以应用更改
sudo service networking restart
现在,所有从 Debian 主机传出的 TCP 或 UDP 连接都会被自动转发到指定的 Socks5 服务器。