大家好 !
我有一台运行 squid 缓存代理服务器的 Ubuntu 服务器,我想知道是否可以设置 squid 通过 vpn(PureVPN)“连接到互联网”。但问题在于,只有 squid 必须使用 VPN,其他服务(如 Plex/Apache)则不应该 :/
你可以帮帮我吗 ?
谢谢
答案1
是的,可以做到。你policy routing
需要IE能够同时处理两个不同的路由表。原因是您需要同时拥有两个网关,一个用于 Squid,另一个用于其余应用程序。操作系统不允许有两个网关,唯一的例外是 Linux 内核中的策略路由。
你会发现一个非常好的、非常简短的策略路由(有时也称为源路由)解释David Schwartz 的回答回答姊妹网站(Unix 和 Linux)上的一个问题。
您需要设置您的 VPN,以便其路由表是选择路由表。详细信息取决于您使用的 VPN 类型。
现在,假设 VPN 虚拟接口名为tun0
,其 IP 地址为10.0.0.2
,您将需要一条使用第二个路由表(我们称之为table2
)的规则,用于来自 的应用程序10.0.0.2
:
ip rule add from 10.0.0.2 table table2
你还需要确保Squid
绑定到10.0.0.2
其传出地址:为此,你需要指令
tcp_outgoing_address 10.0.0.2