OpenVPN Client 安裝測試

公司環境內還有一個地點是沒有拉專線, 而是走 ADSL 線路透過軟體式的 VPN 連到總公司來, 最近因為當地的 Server 產生故障, 計畫趁維修的機會一併調整一下網路設定, 當然Untangle 又被拿上來準備使用, 這次除了拿來當做多功能 Gateway 外, 再賦予一個新的角色 – VPN 連線.

Untangle 所 Bundle 進來的 OpenVPN 有兩種連線方式, Server to Server 及 Client to Server, 前者測試環境比較複雜, 直接server兩點對測環境不好準備, 所以先測試簡單的 Client, (其實也不容易, 因為要設定好幾個地方, 對網路還真的要有點觀念才行).

首先當然要把該服務啟動, 很簡單的再 Panel 的開關打開就好, 裡面已經有些數字是因為已經測試過.

OpenVPN Rack
OpenVPN Rack

其安裝步驟可參考 Untangle wiki (), 啟動成 VPN Server, 此 Server 可以同時接受 Desktop 端 (安裝 OpenVPN GUI Client 端的程式), 及另一台 Untangle Gateway 當做 Client 端 (簡單說總公司當作Server 端, 分子公司設定成 Client)

OpenVPN Settings
OpenVPN Settings

執行完 Wizard 之後, 先跳到 Advanced 檢查一下 VPN IP 連線進入所要使用的IP 設定, 這邊的 IP 建議不要跟內網一樣, 因為之後會有 Routing 及防火牆的設定問題.

OpenVPN Setting - Advance
OpenVPN Setting – Advance

另外讓外部連線來的人員可以看到內部資源, 就必須把 DNS Export 功能設定好, 記得把以下的 Site Name 及 DNS Primary IP 都設定好.

OpenVPN - DNS Exports
OpenVPN – DNS Exports

設定Untangle 內部網路 IP

OpenVPN - VPN IPs
OpenVPN – VPN IPs

最 後一個步驟就是產生Client 端的安裝程式, 在 Untangle 前幾版都需要產生憑證後, 然後再 Client 端匯入 (ps. 我也沒有試過, 看到文件是這樣寫), 新版本 Untangle 7 之後就會把憑證, 連結IP等等設定直接包覆執行檔案內, 簡單說 Untangle 已經做好傻瓜安裝封包, 直接點選 Distribute Client 下載執行檔 (setup.exe)

OpenVPN - Clinet software download
OpenVPN – Clinet software download

之後只要在 Windows 的環境安裝軟體, 程式一啟動會在螢幕右下角 Program Tray 多顯示一個連線, 雙擊這個Icon 就會出現以下的畫面 (借用 Untangle 說明的圖)

OpenVPN Client login screen - from Untangle Wiki
OpenVPN Client login screen – from Untangle Wiki

接下來就是在手冊上找不到的實作法, 首先要先把 Firewall 先關閉, 因為我有設定外對內是全部封鎖, 測試時先解開防止被防火牆擋住.

因為公司內部並不是用 untangle 當作主要的 Gateway, 所以一開始連線測試內部的 Server 完全 Ping 不到, 一直以為 VPN 沒有設定好, 花了一點時間重複的檢查, 並於晚上利用家裡的主機測試, 後來 Ping 自己公司的主機發現是可以通的, 進一步去偵錯發現只有把 gateway 設定到 Untangle 的主機能被 VPN Client Ping 得到, 此時就可以判斷是公司內網 Routing 的問題, 外部連線進來是採用 172.17.1.xxx 的 IP, 但是在公司內網路是沒有處理這一段的 Routing, 會把這段回應的封包往 Internet 丟, 所以當然會收不到.

之後把公司內的 Router 都必須加上 172.17.1.0 netmask 255.255.255.0的資料往 Untangle Gateway 丟, 這樣 VPN Client 才能收到回應的封包.

透過 OpenVPN 在公司外可以直接連線到公司內部的網路, 除了傳輸速度慢很多外, 其他跟在公司內部作業一樣. 因為安裝 OpenVPN 的電腦沒有加入網域, 所以每次去存取網路資源都會需要輸入 ID / Password.

在連線稽核上因為每個連線都有需要由 Untangle 所產生的憑證, 可以杜絕非法的連線, 更可以透過 OpenVPN 的 Event Log 得知連線進來的時間, 身份,來源IP及連線期間內所使用傳輸容量, 千萬不要偷懶只設定一組安裝檔案給所有的人使用, 這樣在驗證上會有實際上的困難.

未來計畫在 Firewall 上設定只允許透過申請確認的IP或 DNS 可以利用 VPN 的 Port (1194) 連線進來, 減少被入侵的機會.

發表迴響