我正在尝试设置一个公共 squid 代理,通过世界其他地方的 VPN 服务器路由它的流量。它在 VPS 主机上的 docker 容器内运行。
使用推送网关的默认设置,我可以访问 VPS 本身上的 squidproxy,它确实通过 vpn 路由它的流量。
但是,没有外部 IP 可以访问 squid 代理。我确实有 docker 转发端口 3128:3128。
这与创建的 OpenVPN 路由有关(因为在 OpenVPN 启动之前可以访问 Squid 代理)
我发现正是这条路线似乎“阻止”了我的外部流量。
128.0.0.0/1 via 10.91.10.5 dev tun0
(10.91.10.5是VPN的网关)
如果我删除它,我可以再次访问 squid,但传出请求不使用 VPN。
我可以通过像这样显式添加它来使我的外部 IP 工作
ip route add 203.X.X.X via 172.18.0.1 dev eth0
(172.18.0.1 是 docker 网关)
但我需要它与任何外部 IP 一起工作。
我试过 ip route add 0.0.0.0 via 172.18.0.1 dev eth0。
但这不起作用,因为 128.0.0.0/1 更具体,所以首先匹配。
综上所述
1) 需要任何 IP 才能访问 SquidProxy(端口 3128)
2) 需要所有传出的 SquidProxy 请求 (80,443) 通过 VPN
任何帮助将不胜感激!