我希望有人可以帮助我 – 我一直在撕掉我的头发!
我有pptpd和鱿鱼设置。 我想让这些用户访问互联网,但想通过鱿鱼代理发送httpstream量。
希望这个粗略的图表能给你一个我想要实现的想法:
VPN users connect to pptpd (via eth0) \ | / | | / \ http everything else | | | | | | squid | | | \ / \ / | NAT | internet (via eth0)
如果我设置了以下iptables规则,用户可以连接到互联网:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
我也可以直接连接到鱿鱼,它按预期工作。
现在,我希望另一个简单的规则将通过鱿鱼redirect所有的httpstream量:
iptables -t nat -A PREROUTING -i ppp+ -p tcp --dport 80 -j REDIRECT --to-port 3128
但是这似乎并不奏效(我也希望ppp +是通配符的正确格式)。 Httpstream量永远不会redirect并绕过代理。
任何人都可以build议如何得到这个工作?
我对这个东西恐怕不是很了解。 我也喜欢一些关于如何debugging系统的build议,比如要查看哪些日志文件,tcpdump命令等。我发现iptables文档非常令人迷惑!
谢谢!
你的规则是正确的,你需要检查它是否真的被匹配。
iptables -t nat -vnL