我需要创建一个仅加密的代理服务器。我的意思是,在世界任何地方,我都希望公司的所有笔记本电脑的互联网流量都经过加密并通过这台服务器进行路由。缓存会很好,但不是必需的;笔记本电脑和服务器之间的加密是唯一的要求。
有哪些方法可以完成此设置?我一直在阅读 Squid,但没有找到太多关于加密的信息。我认为会涉及到一些 SSL 或 SSH,但我对这个领域真的很陌生。浏览器将是连接的主要用户,但支持 IM 和电子邮件客户端也很好。客户端可以是 Windows 和 nix,而服务器可以是任何开源的。
编辑:很明显,VPN 将是比代理更好的解决方案。在我接受答案之前,有人可以对此发表评论:
当笔记本电脑插入另一个公司网络时会发生什么?例如,顾问坐在 ABC 公司的办公室。无论出于何种原因,他们都需要建立一个像 myabc.internal.com 这样的内部网站。我相信 Intranet DNS 服务器通常会正确解决这个问题。如果我连接到这个 VPN 会这样吗?我知道连接到代理的浏览器会遇到同样的问题,但您可以有两个浏览器:一个通过代理,一个不是。或者这不是VPN的问题吗?
我同意 w/pjz——听起来你正在寻找一个 VPN。
OpenVPN 是一种很棒的、免费的 VPN 入门方法。它稳定且可用于生产,但即使您最终不使用它,它也是熟悉 VPN 的好工具。使用静态密钥设置非常容易(用于玩耍),而使用证书设置(用于生产使用)则稍微困难一些。
你在你的问题中说“互联网流量”,但不清楚这是否只是意味着浏览网站,或者实际上是所有到互联网的 IP 流量。您可以将“默认网关”路由向下传递到带有 OpenVPN 的客户端,这样他们的 Internet 绑定流量将通过 OpenVPN“管道”路由到服务器,然后服务器可以将其放到 Internet 上。
如果您只希望通过 OpenVPN 路由 HTTP/HTTPS(即,如果他们 PING、运行 Skype 等,则流量可以直接进入 Internet),您可以考虑部署类似 Squid Cache 之类的东西,然后配置客户端浏览器使用该代理服务器,使到代理的流量仅通过 OpenVPN“管道”路由(即,将代理放在 VPN 可访问的 IP 地址上,但不理会客户端的默认网关)。(我相信,您甚至可以执行“推送“dhcp-option 252 ...”来通过 OpenVPN 向客户端推送代理自动配置 URL。)
你有一些选择,这取决于你想做什么。
回复:您对 pjz 关于 Intranet 站点访问的评论
你将不得不以某种方式“付钱给吹笛者”。
如果您只是通过默认网关更改将他们所有的 Internet 绑定流量路由到 VPN,那么任何与他们在子网上的 Web 服务器的流量仍然会“直接”。但是,如果 Intranet Web 服务器位于不同的子网中,则它们到该子网的流量将通过 OpenVPN 管道而不是到现场路由器。那会很糟糕。
如果您按照我上面的建议通过 OpenVPN(或其他方式)向客户端推送代理自动配置脚本,您可以在该文件中放置“异常”以使客户端“直接访问”。我通常在代理自动配置文件中这样做:
这会导致直接访问其中没有任何点的主机名。
如果您知道需要直接访问的特定主机(或通配符匹配模式):
如果您知道您的用户将在哪里工作,您可以在事前将异常放入 proxy-autoconfiguraiion 文件。但是,如果没有,您将不得不被动地处理此类问题。但是,如果您事先不知道,那么您正在寻求一种可以自动“做正确的事情”的解决方案。不幸的是,计算机在这方面做得很糟糕。>微笑<
无论您部署什么来使用代理自动配置文件,我都会花额外的时间。它为您提供了一种集中式方法(可以在不接触客户端计算机的情况下“即时”更新)来控制将 HTTP 流量转移到代理服务器或让它直接进入 Internet。它们对于这种应用程序非常方便。
听起来您需要 VPN 而不是代理服务器 - 或者至少,您想要的最容易通过所有笔记本电脑连接的 VPN 服务器来实现。代理服务器(除了某些特定的应用程序服务器)不会加密其客户端与自身之间的流量,而这正是 VPN 服务器存在的理由。
就 VPN 服务器本身而言,我很幸运能够在 linux、windows 和 mac 客户端上运行openvpn 。
“我希望公司所有笔记本电脑的互联网流量都经过加密并通过这台服务器进行路由。”
“浏览器将是连接的主要用户,尽管支持 IM 和电子邮件客户端也很好。”
您描述的服务和功能是 VPN,尽管有些人认为他们的 VPN 是提供网络级服务的网络硬件,而不是将其称为“服务器”。
VPN 是要走的路,因为您正在谈论在网络级别保护所有流量并将其重定向到单个提供服务的主机。
当您访问他们的站点时,VPN 将在私有公司网络上运行,只要该网络允许访问公共网络(并且不会阻止访问您的 VPN 主机的 IP 地址)。
唯一的限制是大多数 VPN 客户端软件是“全有或全无”的,它们封装了来自您系统的所有流量(本质上,它们拒绝信任任何其他人的本地网络服务)。如果您需要在本地网络和您的网络上工作,时髦/简单的解决方法是在小型虚拟化系统(如 VMWare)上运行您的 VPN 连接,并让您的主/主机操作系统正常访问本地访问。
至于(网络)代理:
很久以前,有几种应用代理,但互联网已经将“代理”的常用用法改为“Web代理”。这些代理通常不使用加密,尽管它们可以。但它们专注于“web/internet”,它们通常代理 HTTP、HTTPS、FTP 和 Gopher。他们不能发送电子邮件或即时消息。