這裡我整理了其設定方法,文字檔的設定還真有些複雜
整理起來備忘
參考自http://www.kerobbs.net/thread-9082-1-1.html
——————————————————————————–
所需工具
- OpenVPN GUI for Windows
- Notepad++ 或是其他非內建記事本文字編輯器
- Cmd Here PowerToy
請先到這裡下載OpenVPN GUI for Windows
http://openvpn.se/download.html
找Installation Package安裝
我用的版本openvpn-2.0.9-gui-1.0.3-install.exe
請將之安裝,請記得安裝路徑
我是裝在D:\Program Files\OpenVPN
NotePad++請到這裡下載安裝
http://notepad-plus.sourceforge.net/tw/download.php?lang=tw
因為用Windows內建的記事本開設定檔無法正確換行
Cmd Here PowerToy載點在這
http://download.microsoft.com/download/whistler/Install/2/WXP/EN-US/CmdHerePowertoySetup.exe
目的是方便開啟某目錄的命令提示字元而不用一直用cd切換資料夾
——————————————————————————–
到安裝OpenVPN的目錄 (我是裝在 D:\Program Files\OpenVPN 目錄)
先備份easy-rsa和sample-config子目錄 (包成二個7z壓縮檔丟在旁邊)
用cmd切到easy-rsa目錄
編輯vars.bat.sample,修改以下資料
(rem那整行是註解)
————————————————————
rem 改目錄成正確的
set HOME=D:\Program Files\OpenVPN\easy-rsa
rem 視情況選擇金鑰長度要1024或2048(但2048編碼時要等很久,之後的設定值要跟它一樣)
set KEY_SIZE=1024
rem 下面設定值一需要改一改
set KEY_COUNTRY=TW
set KEY_PROVINCE=TW
set KEY_CITY=Taipei
set KEY_ORG=home
set KEY_EMAIL=[email protected]
————————————————————
執行init-config.bat,建置設定檔
正常來說會沒有錯誤訊息,它會copy二個檔案出來。
執行vars.bat,初始環境變數
然後再執行clean-all.bat,清空keys資料夾
在這邊要注意,當你執行這個時,keys目錄裡的東西將會被刪
這邊也要注意是否有錯誤訊息發生。如無意外,就會copy二個檔案出來。
再執行build-dh.bat,製作亂數 (要稍等電腦一段時間)
執行build-ca.bat,要作伺服器的認証 (產生keys\ca.key檔)
這邊如果在[]之間有資料,(也就是之前你改的vars.bat.sample值),可以直接按「enter」表示與左邊的預設值相同。
我覺得用戶端的資料若沒有合乎的話,可能會產生不出來!
多以下這二個參數,請務必抄下來
Organizational Unit Name (eg, section) []:user
Common Name (eg, your name or your server’s hostname) []:johnny
請執行build-key-server.bat server指令,製作伺服器端的秘鑰 (產生keys\server.key檔)keys\server.key
請注意有加入「 server」參數(請務必空一格,代表它帶有參數)
資料一定要統一,例如section跟host name等等。
密碼請變更成難猜的密碼。
後面是告訴你是否要認証,當然是輸入「y」,後面也是輸入「y」。
到此步驟已經將伺服器所有認証的部份全建立好了。
以下是執行時的重點部份
Organizational Unit Name (eg, section) []:user
Common Name (eg, your name or your server’s hostname) []:johnny
A challenge password []:12341234
An optional company name []:user
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
———————————————————————————
接下來製作用戶端的秘鑰
請執行build-key.bat client1
請注意有加入「 client1」參數(請務必空一格,代表它帶有參數,本參數可以隨意變換,例如:「build-key jack」,或「build-key john」)
在這邊你有多少台電腦需連到伺服器就建立幾個,名字可以取自己容易記的。
這裡請注意,當製作client端連線資料時,主機名稱不可重覆。
否則會出現.old的錯誤訊息,只能再重作一次囉!
Organizational Unit Name (eg, section) []:user
Common Name (eg, your name or your server’s hostname) []:clinet1
A challenge password []:12341234
An optional company name []:user
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
———————————————————————————
將伺服器端所需要的檔案(ca.crt、ca.key、dh2048.pem、server.crt、server.key)
複製一份到 config 資料夾。
然後將sample-config的server.ovpn
複製一份到 config 資料夾。
然後修改config的server.ovpn檔
以下是設定重點,全部都要看
———————————————————————————
# 若你有多組ip,可以在local中輸入你要指定的ip,記得前面的分號要拿掉。
local 192.168.1.2
# 要連線的連接埠,請確認防火牆有正確的開啟且導向該連接埠
port 1194
# 使用TCP連線或UDP連線
proto udp
# 看是要走tun模式還是tap模式(這邊我是用預設,其它都改為自己能用的)。
# “dev tun” will create a routed IP tunnel,
# “dev tap” will create an ethernet tunnel.
# tap模式是要建一張虛擬網卡,用它來橋接網路
# tun模式是直接現有用IP做通道
dev tun
# dh這邊是密鑰長度,如果你改了預設數字1024,就要改成符合你之前設定的數字!
dh dh1024.pem
# server這邊的參數是指定你的vpn的網段,我是使用192.168.2.0 255.255.255.0
server 192.168.23.0 255.255.255.0
ifconfig-pool-persist ipp.txt
# 開啟push “route 192.168.2.0 255.255.255.0″後可以使用戶端電腦知道要走vpn。
push “route 192.168.23.0 255.255.255.0“
# 開啟client-to-client後可以使用戶端電腦連往別台用戶端電腦。
client-to-client
# 開啟duplicate-cn是怕用戶端電腦名稱可能會取一樣的情況發生。
# (這個用途在於,若你想要分享給大家使用,
# 又不想每個人都建一個連線檔案的話,就必須設定,
# 設定之後每個人的ip連上來就不會被固定下來!)
duplicate-cn
———————————————————————————
到此就作好伺服器端電腦的設定了,記得要存檔(Ctrl+S),開始執行看看是否有誤。
右點在OpenGUI的小圖示,選「connect」
會另開一視窗,如果沒問題,該視窗會自行關閉。
若正確執行無誤的話,此時OpenGUI的小圖示會由紅燈轉綠燈,並且告知ip為何。
查看一下網路連線資料,果然多了一個網路卡,並且多了一個ip。
———————————————————————————
以下為用戶端的設定:
用戶端也是要安裝OpenVPN GUI才能使用,詳情不再敘述。
安裝完後,在config子目錄中,將用戶端認証需要的檔案置放其中,
複製伺服器端easy-rsa\keys的ca.crt、client1.crt、client1.key 到用戶端的config資料夾
從「sample-config」目錄中複製「client.ovpn」 到用戶端的config資料夾
修改client.ovpn設定檔
————————————————————
# 看伺服器是走tap還是tun,需跟server端設定一致。
dev tun
# 看伺服器是走tcp還是udp,需跟server端設定一致。
proto udp
# remote的參數,如果你架的伺服器有DNS,可以在此設定,
# 例如:remote john.dyndns.org 1194
# 1194指的是port,這也要看伺服器是設成哪一port。
remote my-server-2 1194
# ca ca.crt是不動它的,要動的是用戶端,如果你的用戶端名稱為john,
# 則cert跟key後面接的檔名一定要改為john,否則會找不到檔案。改完後就存檔(Ctrl+S)。
ca ca.crt
cert client1.crt
key client1.key
————————————————————
右點在右下角找OpenVPN GUI小圖示,選「Connect」
執行後,會跳出視窗,若連線成功,此視窗會自動消失。
瞧,我們就得到ip了!耶!萬歲!我們成功了!