![集中工作站上所有应用程序的代理设置](https://linux22.com/image/1343491/%E9%9B%86%E4%B8%AD%E5%B7%A5%E4%BD%9C%E7%AB%99%E4%B8%8A%E6%89%80%E6%9C%89%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%E4%BB%A3%E7%90%86%E8%AE%BE%E7%BD%AE.png)
作为一名顾问,我曾经在不同的客户处工作过。
经常发生的情况是,大多数应用程序都有特定的代理设置,但并非所有我安装在笔记本电脑上的应用程序都能从系统偏好设置中获取设置,以便让我在一个地方更改设置。
其中一些完全绕过系统偏好设置,提出自己的掩码来输入特定数据,例如用户名、主机和密码。
我正在寻找一种方便且不太具侵入性的方式来共享一个公共访问点,我可以在该访问点上输入数据并可能保存它们。
“自动”切换是理想的,例如基于某些网络识别,但对于我来说手动输入数据也没有问题。
我不是 IT 专家,但为了清楚地解释自己,我正在寻找像 .pac 文件一样适用于浏览器的解决方案。
我使用的相关操作系统是 MacOSX 和 Linux(Ubuntu)。
答案1
我无法回答有关 Mac OS X 的这个问题,因为我没有运行该操作系统,所以至少需要另一个答案(或编辑这个答案!)。
在一般情况下,你可以“强制”所有流量通过代理进行路由,localhost
然后使用如下配置通过组织的 HTTP(S) 或 SOCKS 代理进行路由乌贼。这应该适用于所有操作系统,但配置会略有不同。这尤其适用于 Ubuntu,但我不知道 Squid 在 Mac OS X 上运行得如何。
要设置 Squid,您可以按照这教程,或者按照这些一般步骤(这里简要概述;如果您了解这些工具,应该足够了):
- 在本地设置 Squid 以监听本地主机并将所有流量转发到下游代理(组织的 HTTP 或 SOCKS 代理,取决于他们向您提供的信息)。
- 使用
iptables
(或您的操作系统使用的任何静态路由/端口转发工具;在 Mac OS X 上可能有所不同,在 Windows 上肯定不同)将流量从端口 80(HTTP)和端口 443(HTTPS)静态转发到 Squid。
请注意,许多组织的代理只能处理HTTP和HTTPS连接,并且不旨在通过执行状态数据包检查并拒绝所有其他协议来处理(或彻底拒绝)其他协议。它们还可能限制您可以使用的端口。此 Squid 方法应该适用于所有遵守 IP 堆栈路由规则的出站 HTTP/HTTPS 流量,所有应用程序流量都应该如此。它不需要任何特殊硬件,但需要对您自己的系统具有管理/根访问权限。