如何通过 redsocks 代理运行 pptp

如何通过 redsocks 代理运行 pptp

我在 Ubuntu 中有一个 (虚拟) Linux 机器,其中已设置好 redsocks。在机器内部,我可以确认 redsocks 确实有效(用于wget检查外部 IP)。

现在,我想让其他客户端机器共享相同的 redsocks 代理。因此,我在 Linux 机器上设置了一个 PPTP 服务器 (linux-pptp),并使用 PPTP 将客户端机器连接到 Linux 机器。

PPTP连接后客户端虽然还能连上网络,但是没有redsocks代理的效果,不知怎么的PPTP和redsocks没有连在一起。

这是我的 iptables 规则:

iptables -t nat -N REDSOCKS
iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN
iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN
iptables -t nat -A REDSOCKS -p tcp -o eth1 -j DNAT --to 127.0.0.1:12345

iptables -t nat -A OUTPUT -p tcp -j REDSOCKS

iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth1 -j MASQUERADE
iptables -A FORWARD -p tcp --syn -s 192.168.10.0/24 -j TCPMSS --set-mss 1356

请注意,机器中只有一张lan卡(eth1),redsocks服务位于127.0.0.1:12345

我已经卡了整整一天,任何帮助我都会非常感激。谢谢。

答案1

终于解决了。

iptables -t nat -I PREROUTING -i ppp+ -p tcp -j REDIRECT --to 12345

相关内容