我對使用 OS X Mountain Lion 的 VPN 伺服器進行了一些奇怪的設定。它本質上被用作繞過我公司的防火牆與外部網路連接的橋樑- 我們的團隊需要做的某些事情需要不受限制地訪問外部,而更改IT 策略以允許流量通過主防火牆是不可行的。
Extranet 連線是透過 Wireless-N 路由器(我們稱之為 Wi-Fi X)提供的。我的 Mac Mini 伺服器配置為將此路由器的連接作為主要連接,從而可以透過路由器不受限制地存取互聯網。可透過 LAN 連接埠連接到直接子網路上的該設備,但子網路外部的連接則較不可靠。
我能夠設定 VPN 伺服器以使用 PPTP 和 L2TP 向 192.168.11.150-192.168.11.200 範圍內的客戶端提供 IP 位址,並且我能夠使用標準 Mac OS X VPN 透過 VPN 連接到 Extranet客戶端在系統偏好設定中,但是毫不奇怪,本地地址(我們稱為internal.company.com)什麼也不回傳。
我嘗試透過在 VPN 設定中設定路由來繞過 VPN 伺服器的限制。我們公司對所有內部流量使用 13.xxx,而不是 10.xxx,因此路由表如下:
IP Address ---------- Subnet Mask ---------- Configuration
0.0.0.0 248.0.0.0 Private
8.0.0.0 252.0.0.0 Private
12.0.0.0 255.0.0.0 Private
13.0.0.0 255.0.0.0 Public
14.0.0.0 254.0.0.0 Private
16.0.0.0 240.0.0.0 Private
32.0.0.0 224.0.0.0 Private
64.0.0.0 192.0.0.0 Private
128.0.0.0 128.0.0.0 Private
我的印像是,如果此處未輸入任何內容,所有流量都會透過 VPN 路由。輸入某些內容後,只有專門標記為透過 VPN 的流量才會通過 VPN,所有其他流量將由用戶端使用自己的預設連線進行存取。這就是為什麼我必須將除 13.xxx 之外的每個子網路專門標記為專用。
我懷疑,由於我無法從本地子網外部訪問 VPN 伺服器,因此它沒有與主 DNS 伺服器建立連接,因此無法在更大的網路上存取。我認為輸入像internal.company.com這樣的主機名稱不會被踢回客戶端進行解析,因為伺服器不知道IP位址屬於公共範圍,因為我懷疑(可能應該對其進行ping測試,但現在無法存取它),它無法到達DNS 伺服器來查找有關該主機名稱的任何資訊。
在我看來,解決這個問題的所有選擇都歸結為同一類型的解決方案:
了解如何透過伺服器上的輔助連線到達 DNS。我在想,如果我能夠做[某事]讓我的伺服器認識到它還應該檢查我的本地網關(假設伺服器 IP == 13.100.100.50 和網關 IP == 13.100.100.1)。從那裡,網關 IP 可以告訴我去查找位於 13.1.1.1 的 DNS 伺服器,並提供有關我的內部網路的資訊。我對這條路感到非常困惑——真的不確定我是否有意義。
我曾想過嘗試做這個客戶端,但這也沒有意義,因為這會增加每個客戶端設定的時間。另外,在伺服器上解決它似乎更合乎邏輯 - 我可以完全擺脫我的路由表或保留它 - 我認為唯一的區別是內部流量也會通過伺服器 - 可能是不必要的負擔它。
有什麼幫助嗎?還是我有點不知所措?轉發代理或透明代理對我來說也是一個選擇,儘管我不知道如何設定其中任何一個。 (我知道,谷歌是我的朋友。)
答案1
好吧,我試試看:
我不確定如何只讓一些流量通過我可以解決您的問題,但這需要對您的設定進行一些更改。我假設您的 Mac 有兩個網路接口,我們稱它們為 eth0 和 eth1 :-)
我們假設 eth0 連接到您的工作網絡,並且內部(工作網絡)位址為 13.1.1.6,子網 255.0.0.0。
為了簡單起見,我們也假設 eth1 連接到您的 WiFi X,且位址(eth1 <---> WiFi X 網路)為 192.168.1.10,子網路 255.0.0.0。
我已經在 BSD 和 Linux 上設置了 VPN 伺服器,但沒有在 Mac 上設置,但是概念仍然是相同的,你有選擇,我將列出一個:
1)確保Mac上的路由表有以下條目:
$>sudo route add 13.0.0.0/8 eth0
這樣做的目的是確保透過 WiFi X 或 VPN 介面傳入的、發送到您公司網路(13 網路)的任何流量都會到達那裡。如果沒有這個,Mac(提供橋接器)確實無法知道如何在兩個接口之間路由流量,並且默認情況下它會嘗試將其發送到預設的任何接口,即您所說的 WiFi X。
我會撤消您對上面的 VPN 路由表所做的操作,並嘗試此操作(如果它(希望)不存在)。
如果上述方法不起作用,請更新您的 VPN 伺服器的路由表和 IP 位址列表,或更新您遇到的任何修復。希望這能為您指引正確的方向。