Vpn

IPTABLES:通過透明 Squid 路由 VPN 使用者

  • August 22, 2010

我希望有人能幫助我——我一直在為此扯頭髮!

我已經設置了 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

引用自:https://serverfault.com/questions/173232