Vpn
IPTABLES:通過透明 Squid 路由 VPN 使用者
我希望有人能幫助我——我一直在為此扯頭髮!
我已經設置了 pptpd 和 squid。我想讓這些使用者訪問網際網路,但想通過 squid 代理髮送 http 流量。
希望這張粗略的圖表能讓您了解我想要實現的目標:
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
我也可以直接連接到 squid,它按預期工作。
現在,我希望另一個簡單的規則可以通過 squid 重定向所有 http 流量:
iptables -t nat -A PREROUTING -i ppp+ -p tcp --dport 80 -j REDIRECT --to-port 3128
但這似乎不起作用(我也希望 ppp+ 是萬用字元的正確格式)。Http 流量永遠不會重定向並繞過代理。
誰能建議如何使它工作?
恐怕我對這些東西知之甚少。我也喜歡一些關於我可以調試系統的方法的建議,例如要查看的日誌文件、tcpdump 命令等。我發現 iptables 文件非常令人困惑!
謝謝!
您的規則是正確的,您需要檢查它是否實際匹配。
iptables -t nat -vnL