如何使用 Linux 和 redsocks 代理 Windows 接收的所有流量?

如何使用 Linux 和 redsocks 代理 Windows 接收的所有流量?

我有一台 Windows 机器,它的所有流量都通过 Linux 机器路由,只需更改 Windows 路由即可: Linux 机器的 IP 地址在route add 0.0.0.0 mask 0.0.0.0 192.168.1.48哪里192.168.1.48。问题是,我希望流量通过 socks5 代理,我已经知道如何使用它,redsocks但问题是我不知道如何正确设置iptables以便一切正常工作。我希望来自 Windows 的流量被“代理”到 socks5 服务器,来自 Linux 本身的流量也是如此。将这些规则添加到 iptables 后,来自 Linux 的流量按预期“代理”,一切正常,但我在 Windows 端丢失了连接。Linux 端启用了 IP 转发。

我所尝试的只是添加这些规则:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

sudo iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345
    
sudo iptables -t nat -A OUTPUT -p tcp --dport 443 -j REDSOCKS
sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDSOCKS
    
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDSOCKS
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDSOCKS

redsocks 守护进程监听端口 12345

相关内容