OpenVPN Site to Site 聯結

前一陣子已經測試過 OpenVPN 兩個 Site 互相連結的設定, 也在公司其他的外點都已經安裝設定完畢, 由於其他的外點都存在現有的方式連線回總公司, 所以一直沒有真正來測試, 直到前幾天剛好有機會出差順便測試.

OpenVPN安裝參考聯結: http://markit.serveblog.net/wordpress/?p=501

我的連結測試方式或許僅適合用在某些特殊環境, 可能也不是最快速的方式, 給大家參考一下.

環境: 總公司及分公司的 Windows Server 各選一台
驗證條件: 兩台Server 都要能讀取到對方的分享
設定條件: 兩邊都架設好 Untangle 並設定每天自動更新, 總公司 (HQUT) 選擇 OpenVPN Server Mode, 分公司 (BHUT) 設定 Client 模式

設定好VPN 之後要能互相 Ping 到對方, 同時確認 Traceroute 經過 VPN Tunnel 互傳, 因為實際環境已經存在連線, 這兩台 Server 也都可以互通, 當初在設定時沒有考量清楚的話, 就常常發生調整設定但線路還是通的情況下, 不斷的作故障排除, 浪費的相當多的時間.

在不改變現有 Routing Table 下, 選擇兩台主機 Gateway 指定到 UT 機器上是最簡單的方式, 整個架構就變成

HQServer <==> HQUT <==> Internet <==> BHUT <==> BHServer

重點放在兩台 Untangle 的設定上, 測試期間不斷的去讀取另一台主機的分享資源確認設定是否成功.

同時由於Untangle 設定存檔時會有延遲的現象, 必須要等上一小段時間(幾分鐘)讓其設定套用; 變更 OpenVPN 設定則兩邊一定的斷線 (Client 端其實不用設定), 要有耐心等待設定完成.

我的測試程序如下:



1.    雙方互 Ping 必須要成功
2.    Tracert 指定確認路由
3.    設定 OpenVPN Server設定
A.    設定 Exported Hosts and Networks
i.    由於總公司還有聯結其他外點, 可以把所有外點連線的設定一併輸入
ii.    Default 只會帶出Server端的 IP Range 設定
B.    OpenVPN -> Advance
i.    設定好兩邊聯結的中間段 IP, 請不要設定成兩邊內網會使用到的IP
ii.    DNS Override 要設定內網的DNS, Optional 可以不設定.
4.    關閉 Firewall 及 Protocol Control 選項減少干擾
5.    測試兩邊 Server 是否可以相互分享, 如果沒有就是前幾個步驟有問題需要重新檢查
6.    在防火牆設定 VPN to LAN 及 LAN to VPN 的規則, 兩台 Untangle 都要設定, 如果有限制分公司的連線的話, 可以在這邊動手腳.
7.    打開 Protocol Control 及 Firewall, 測試兩邊分享, 其實 Protocol Control 應該是沒有影響, Default 值並不會擋掉任何封包.

以上應該就可以直接完成 Site to Site 的連結, 由於 VPN 是透過 Internet, 可以在兩邊 Untangle 主機上 QOS 上面調整一下讓 VPN 有優先的權限傳輸, 比較容易看得到成效.

結論:
1.    Untangle 套用設定的反應很慢, 一定要有耐心等待, 否則測試參數會得到相互矛盾的結論
2.    OpenVPN 的設定很簡單, 但是 Export network 及 Advance 的設定很重要, 原先以為由總公司轉介到其他分公司需要使用 Routing 設定, 但使用 Export network 的設定就可以達成
3.    測試環境一定要單純, 杜絕可能由其他路徑繞到的機會, 同時善用 Tracert 指令來確認
4.    遇到瓶頸時最好能休息一下, 喝杯飲料由最基本的架構重新思考

發表迴響