我需要建立一個僅加密的代理伺服器。我的意思是,我希望來自世界任何地方的公司筆記型電腦的所有網路流量都經過加密並透過這台伺服器進行路由。快取會很好,但不是必需的;筆記型電腦和伺服器之間的加密是唯一的要求。
有哪些方法可以完成此設定?我一直在閱讀 Squid,但沒有找到太多有關加密的資訊。我認為會涉及一些 SSL 或 SSH,但我對這個領域確實很陌生。瀏覽器將是連接的主要用戶,不過支援 IM 和電子郵件用戶端也很好。客戶端可以是 Windows 和 nix,而伺服器可以是任何開源的東西。
編輯:很明顯,VPN 是比代理商更好的解決方案。在我接受答案之前,有人可以對此發表評論嗎:
當筆記型電腦插入另一個公司網路時會發生什麼?例如,顧問們坐在 ABC 公司的辦公室。無論出於何種原因,他們都需要建立一個像 myabc.internal.com 這樣的內部網站。我相信內網 DNS 伺服器通常可以正確解決此問題。如果我連接到此 VPN,這會起作用嗎?我知道連接到代理的瀏覽器也會遇到同樣的問題,但您可以有兩種瀏覽器:一種透過代理,一種不透過代理。或者這不是 VPN 的問題嗎?
答案1
我同意 w/pjz——聽起來你正在尋找 VPN。
OpenVPN 是一種很好的、免費的 VPN 入門方法。它很穩定,可供生產使用,但即使您最終沒有使用它,它也是一個熟悉 VPN 的好工具。使用靜態密鑰設定確實很容易(用於玩耍),而使用證書設定(用於生產使用)則稍微困難一些。
- http://openvpn.net/static.html- 靜態金鑰迷你指南。出於安全考慮,不建議使用,但這是在深入研究簡單的 PKI 之前了解 OpenVPN 工作原理的好方法。
- http://openvpn.net/howto.html
您在問題中提到了“互聯網流量”,但不清楚這是否僅僅意味著瀏覽網站,或者實際上意味著所有到互聯網的 IP 流量。您可以將「預設閘道」路由向下傳遞到具有 OpenVPN 的用戶端,這樣它們的 Internet 綁定流量將沿著 OpenVPN「管道」路由到伺服器,然後伺服器可以將其放到 Internet 上。
如果您只希望 HTTP/HTTPS 在 OpenVPN 上路由(即,如果它們 PING、運行 Skype 等,則流量可以直接進入 Internet),您也可以考慮部署 Squid Cache 之類的東西,然後配置客戶端瀏覽器使用該代理伺服器,使到代理的流量僅沿著OpenVPN「管道」路由(即,將代理放在VPN 可存取的IP 位址上,但保留客戶端的預設閘道)。 (我相信,您甚至可以執行“push “dhcp-option 252 ...”,透過 OpenVPN 將代理自動設定 URL 推送到客戶端。)
您有一些選擇,具體取決於您想做什麼。
回覆:您對 pjz 關於 Intranet 網站訪問的評論
你將不得不為此「付出代價」。
如果您只是透過預設閘道變更將其所有 Internet 綁定流量路由至 VPN,則任何到子網路上的 Web 伺服器的流量仍將「直接傳送」。但是,如果 Intranet Web 伺服器位於不同的子網路上,則到該子網路的流量將透過 OpenVPN 管道而不是到達現場路由器。那就糟糕了。
如果您按照我上面的建議透過 OpenVPN(或其他方式)將代理自動配置腳本推送到客戶端,您可以在該文件中添加“例外”,以使客戶端“直接訪問”。我通常在代理自動設定檔中使用以下命令來執行此操作:
if ( isPlainHostName(host) ) { return "DIRECT"; }
這會導致主機名稱中沒有任何點可以直接存取。
如果您知道需要直接存取的特定主機(或通配符匹配模式):
if ( shExpMatch(url,"http://*.customer.com")) { return "DIRECT"; }
if ( shExpMatch(url,"http://known-intranet-server.customer.com")) { return "DIRECT"; }
如果您知道使用者將在哪裡工作,您可以提前將例外情況放入 proxy-autoconfiguraiion 檔案中。但如果不是,您將不得不被動地處理此類問題。但是,如果您事先不知道,那麼您需要的是一種可以自動「做正確的事情」的解決方案。不幸的是,計算機在這方面做得很糟糕。 >微笑<
我會花額外的時間來處理您部署的任何內容以使用代理自動設定檔。它為您提供了一種集中方法(可以「即時」更新,無需接觸客戶端電腦)來控制將 HTTP 流量轉移到代理伺服器或讓它直接進入 Internet。它們對於此類應用程式非常方便。
答案2
聽起來您更想要 VPN 而不是代理伺服器 - 或者至少,您想要的東西可以透過所有筆記型電腦連接到的 VPN 伺服器輕鬆實現。代理伺服器(除了某些特定的應用程式伺服器)不會對其用戶端與其自身之間的流量進行加密,而這正是 VPN 伺服器存在的理由。
就 VPN 伺服器本身而言,我運行得很幸運開放VPN具有 Linux、Windows 和 Mac 用戶端。
答案3
“我希望公司所有筆記型電腦的互聯網流量都經過加密並通過這台伺服器進行路由。”
“瀏覽器將是連接的主要用戶,不過支援 IM 和電子郵件用戶端也很好。”
您所描述的服務和功能是VPN,儘管有些人認為他們的VPN是提供網路級服務的網路硬件,並且不稱為「伺服器」。
VPN 是最佳選擇,因為您正在談論保護網路層級的所有流量並將其重定向到單一提供服務的主機。
當您造訪其網站時,VPN 將在專用公司網路上運行,只要該網路允許存取公共網路(並且不會阻止存取您的 VPN 主機的 IP 位址)。
唯一的限制是,大多數 VPN 用戶端軟體都是“全有或全無”,它們包裝來自您系統的所有流量(本質上,它們拒絕信任任何其他人的本地網路服務)。如果您需要在本地網路和您的網路上工作,時髦/簡單的解決方法是在小型虛擬化系統(如 VMWare)上運行 VPN 連接,並讓您的主/主機作業系統正常存取本地存取。
至於(網路)代理:
很久以前,有多種應用程式代理,但互聯網使“代理”的常見用法成為“網絡代理”。這些代理通常不使用加密,儘管它們可以。但它們專注於“網路/網際網路”,通常代理 HTTP、HTTPS、FTP 和 Gopher。他們無法發送電子郵件或即時訊息。