OPEN-VPN 安裝與設定

OPEN-VPN 安裝與設定

請先到官網下載 Windows 版安裝檔案 下載點,目前最新的版本為 OpenVPN 2.2.2 版

安裝時,直接使用預設值。

 

安裝路徑:

x64系統 C:\Program Files (x86)\OpenVPN

x86系統 C:\Program Files\OpenVPN

若是擔心有檔案權限的問題,建議安裝在 C:\OpenVPN

Sever 跟 Client 都是安裝同一套程式,基本上僅只有客戶端會需要使用到OpenVPN GUI。


Server端設定

1. 執行openvpn-2.2.2-install.exe安裝 OpenVPN軟體。

2. 安裝完成後,檢查是否已建立C:\OpenSSL\SSL資料夾。沒有建立時請手動建立,再至C:\OpenVPN\easy-rsa目錄下將openssl-1.0.0.cnf複製過去並更名為openssl.cnf。

3. 移到C:\OpenVPN\easy-rsa目錄下,編輯vars.bat.sample檔案

3.1 set HOME=%ProgramFiles%\OpenVPN\easy-rsa變更為您實際安裝的路徑

3.2 set KEY_DIR=keys設定產生金鑰檔的存放資料夾,預設為 keys (C:\OpenVPN\easy-rsa\keys)。

3.3 set KEY_SIZE=1024設定金鑰的加密位元長度,可設定為1024/2048/3072/4096等。設定長度越大產生金鑰的時間越長,但安全性也越高。

3.4 set KEY_COUNTRY=US設定國碼,例:TW。

3.5 set KEY_PROVINCE=CA設定州別/省份,例:TAIWAN。

3.6 set KEY_CITY=SanFrancisco設定城市,例:Taipei。

3.7 set KEY_ORG=OpenVPN設定公司/組織名稱,例:MyCompany。

3.8 set KEY_EMAIL=mail@host.domain設定管理者的郵件位址,例:admin@company.com。

3.9 set KEY_CN=changeme設定判別名稱,例:MyVPNClient,建立金鑰時不能重複。

3.10 set KEY_NAME=changeme設定使用名稱,例:Daniel。

3.11 set KEY_OU=changeme設定部門名稱,例:LabVPN

3.12 設定完成後存檔,並且依照設定建立金鑰檔的存放資料夾。

4. 執行init-config.bat初始化設定檔案。

5. 複製C:\OpenVPN\sample-config\server.ovpn到C:\OpenVPN\config資料夾,並且進行編輯。

5.1 local a.b.c.d設定伺服器要繫結的IP位址。

5.2 port 1194設定要繫結的埠口編號。(用戶端需同時設定)

5.3 proto tcp/udp設定通訊類別是TCP還是UDP(用戶端需同時設定)

5.4 dev設定VPN模式

5.4.1 tap – 網路橋接通道模式(Ethernet Tunnel)

5.4.2 tun – IP路由通道模式(IP Tunnel)

5.5 dev-node [網路連線定義名稱] 設定當有多個虛擬網卡時,要指定的網路卡連線名稱。

5.6 cert server.crt / key server.key 設定伺服器的金鑰檔案名稱

5.7 dh dh1024.pem設定所使用的加密檔案名稱

5.8 server 10.8.0.0 255.255.255.0 設定VPN網路所使用的網段。VPN伺服器會自動取得第一個IP位址即10.8.0.1。

5.9 ifconfig-pool-persist ipp.txt 設定使用者端IP位址的對應資訊檔。

5.10 server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100 設定橋接模式所使用的網路設定。

                          10.8.0.4為伺服器橋接網卡使用的IP位址

                          10.8.0.50 10.8.0.100為VPN用戶端的連線IP區段

5.11 server-bridge設定VPN為橋接模式

5.12 push "route 192.168.10.0 255.255.255.0" 新增VPN用戶端的路由

5.13 push "redirect-gateway def1 bypass-dhcp" 強制調整VPN用戶端的預設閘道設定

5.14 push "dhcp-option DNS 208.67.222.222" 設定VPN用戶端的DNS搜尋設定

5.15 client-to-client 設定VPN用戶端之間可以互相通訊

5.16 duplicate-cn 允許VPN網路上可以有重覆的使用端金鑰判別名稱(CN)

5.17 keepalive 10 120 設定保持連線的偵測。每10秒鐘PING一次、如果120秒內無回應則判定為斷線。

5.18 comp-lzo 啟用VPN傳輸的資料壓縮模式。(用戶端需同時設定)

5.19 max-clients 100 設定最大可同時連線的使用者數量。

5.20 status openvpn-status.log 設定目前連線狀態資訊檔案名稱

5.21 log openvpn.log / log-append openvpn.log 設定記錄檔案名稱

5.21.1 log 不保留之前的記錄

5.21.2 log-append 附加到之前的記錄

5.22 verb 3 設定記錄的等級

5.22.1 0 – 只記錄錯誤資訊

5.22.2 4 – 記錄一般性資訊

5.22.3 5/6 – 記錄偵錯資訊

5.22.4 9 – 記錄所有的資訊

5.23 mute 20 記錄最多相同訊息的次數

6. 執行DOS命令提示視窗,並且切換到C:\OpenVPN\easy-rsa

6.1 執行vars.bat設定環境變數

6.2 執行clean-all.bat清除先前產生的檔案

6.3 執行build-ca.bat產生CA憑證檔案 (ca.crt / ca.key)

6.4 執行build-dh.bat產生加密驗證檔 (dh????.pem)

6.5 執行build-key-server.bat <[FileName] server> 產生伺服器金鑰檔 server.crt / server.csr / server.key

6.6 完成金鑰建立後,將server.crt / server.key複製到C:\OpenVPN\config中。

6.7 檢查C:\OpenVPN\config中至少應該要有ca.crt、dh2048.pem、server.crt、server.key、server.ovpn這5個檔案。

7. 開啟服務管理員,將OpenVPN Service服務的啟動類型變更為自動,然後啟動服務。

恭喜您的 VPN 伺服器已設定完成,並且可以開始使用了。

【註】如果已產生過ca.key/ca.crt後又再執行build-ca.bat,那麼所有的金鑰檔都必需要再重新建立。





建立用戶端金鑰

1. 執行DOS命令提示視窗,並且切換到C:\OpenVPN\easy-rsa

2. 執行vars.bat設定環境變數

3. 執行build-key <[FileName] client01> 產生用戶端金鑰檔 client01.crt / client01.csr / client01.key

4. Common Name的設定值不能重複,所以請記下每一次的設定值。





Client 端設定

1. 執行openvpn-2.2.2-install.exe安裝 OpenVPN軟體。

2. 將伺服器產生的公鑰檔ca.crt複製到C:\OpenVPN\config資料夾。

3. 複製C:\OpenVPN\sample-config\client.ovpn到C:\OpenVPN\config資料夾,並且進行編輯。

3.1 dev設定VPN模式,需與伺服器設定相同。

3.1.1 tap – 網路橋接通道模式(Ethernet Tunnel)

3.1.2 tun – IP路由通道模式(IP Tunnel)

3.2 dev-node [網路連線定義名稱] 設定當有多個虛擬網卡時,要指定的網路卡連線名稱。

3.3 proto tcp/udp設定通訊類別是TCP還是UDP,需與伺服器設定相同。

3.4 remote my-server-1 1194 設定VPN伺服器IP位址/名稱與連接埠口。

3.5 remote-random 使用隨機模式存取VPN伺服器。必需要設定多筆remote才有作用。

3.6 resolv-retry infinite 使用反解方式來解析VPN伺服器的主機名稱

3.7 nobind 不指定繫結到指定埠口

3.8 ca ca.crt 公開憑證檔案

3.9 cert client.crt 用戶端憑證檔

3.10 key client.key用戶端金鑰檔

3.11 comp-lzo 啟用VPN傳輸的資料壓縮模式,需與伺服器設定相同。

3.12 verb 3 設定記錄的等級

3.12.1 0 – 只記錄錯誤資訊

3.12.2 4 – 記錄一般性資訊

3.12.3 5/6 – 記錄偵錯資訊

3.12.4 9 – 記錄所有的資訊

3.13 mute 20 記錄最多相同訊息的次數

4. 執行OpenVPN GUI

點選 Connect

5. 若正確執行無誤的話,此時OpenGUI的小圖示會由紅燈轉綠燈,並且告知所取得的IP位址。





設定用戶端為固定IP

編輯伺服器設定檔 server.ovpn

新增 client-config-dir /openVPN/ccd 設定用戶端的專屬設定檔存放資料夾

依照 Common Name(CN) 設定該用戶端專用的設定檔

例:用戶端client01

新增一個檔案client01,設定如下

ifconfig-push 10.8.0.2 255.255.255.0 指定該用戶端要使用的 IP 位址

push "route 10.8.0.0 255.255.255.0" 設定路由

push "dhcp-option WINS 10.8.0.1" 設定WINS伺服器

push "dhcp-option DNS 10.8.0.1" 設定DNS伺服器

用戶端重新連線後即可





設定用戶端開機自動執行

因為安裝OpenVPN的時候,已經有設定為服務,所以你只要把服務中的 OpenVPN Service設定為自動即可。開機後,他就會自動連線,而這種方式,是沒有UI的,所以你可以用 ipconfig的指令,來確認是否成功。


程式是運氣與直覺堆砌而成的奇蹟。
若不具備這兩者,不可能以這樣的工時實現這樣的規格。
修改規格是對奇蹟吐槽的褻瀆行為。
而追加修改則是相信奇蹟還會重現的魯莽行動。