我正在尝试设置 Squid 代理,以便将浏览器中的某些站点(使用 .pac 文件)路由到 VPN 之外(它们在隧道内无法访问)。因此,我在用户定义的桥接网络中使用 Squid 代理 docker 容器。
然而,默认情况下,隧道会进入您 PC 的整个网络,因此每个网络数据包都会经过隧道。第一个问题是docker网络不可达,因为本地网络的请求正在请求VPN服务器的本地网络。使用命令就可以轻松解决
ip rule add to 172.18.0.0/16 pref 100 table 1
ip route add table 1 to 172.18.0.0/16 dev br-43cb854b8af8
ip route flush cache
pref
需要选项,因为 VPN 也创建自己的规则。
但是,代理通过隧道发送请求,因此请求应该从 docker 网络“路由”到我的 PC 的以太网接口,而不是 VPN tun0(VPN 接口名称)
所以,主要问题是