[教學] OPEN VPN for Windows 環境設定整理

 

這裡我整理了其設定方法,文字檔的設定還真有些複雜
整理起來備忘
參考自http://www.kerobbs.net/thread-9082-1-1.html

——————————————————————————–

所需工具

  1. OpenVPN GUI for Windows
  2. Notepad++ 或是其他非內建記事本文字編輯器
  3. 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-configserver.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\keysca.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了!耶!萬歲!我們成功了!

 

 

 

在〈[教學] OPEN VPN for Windows 環境設定整理〉中有 4 則留言

  1. Dear Sir:
    請問我如果只是想要藉由 VPN 當跳板, 連外.
    照您的教學設定即可, 或者要注意什麼呢?
    因為我常常出差大陸, 想在台灣住家架設跳板.
    並 share 給同事使用.
    感謝
    March
    版主回覆:(03/23/2010 03:16:48 PM)
    跟你說聲拍謝,這部分我還沒有整理完畢
    且在Windows下無法做你所說的跳板,因為XP下沒有完整的防火牆及封包管理
    (除非有找到另一套防火牆軟體,能處理NAT連線)
    只能做基本的對連(網芳分享連線,但要設定WINS)
    同樣的方法你可能要換到LINUX下做(例如Fedora)
    一樣照該方法建立起來連線
    iptables下做封包轉送,藉由該電腦NAT出去
    請參考
    http://j796160836.pixnet.net/blog/post/25721059
    http://j796160836.pixnet.net/blog/post/25721078
    設定VPN連線就用此篇
    http://j796160836.pixnet.net/blog/post/25271623#comment-28255123
    融合一下
    目前敝人有測試成功做到跳板
    但網芳分享的部分還要再研究,跟你說聲不好意思
    因為要牽扯到Samba下設定WINS等概念
    linux還要另外做學習,推薦去看鳥哥的文章
    http://linux.vbird.org/
    至少要會網路的處理,vi 的使用,yum安裝套件
    防火牆管理,路由
    祝您成功

  2. 受教了,感謝您~!
    版主回覆:(04/07/2010 02:28:48 AM)
    希望這些文章能對你有所幫助

  3. 很棒的文章 我實作過是OK的 但希望這行各位記得修改一下
    remote my-server-2 1194
    ^^^^^^^^ 改成VPN Server的IP即可 ^.^
    版主回覆:(04/29/2010 06:10:50 PM)
    恭喜你呀,要用VPN的全功能還是要換到linux底下運作
    方便私下流一下聯絡方式交流一下嗎

  4. 想請教一下大大
    由於小弟我住校使用學術網路..因學術網路會封鎖特定的網站..
    導致無法連結開啟如大陸、香港以及遊戲等特殊網頁(導致查資料很麻煩甚至連育樂消遣都沒有了)..
    我是想從學校連回我家裡的桌電在藉由我家的有線電視cable去上網..
    想確認使用這兩個產品的其中一種就可以自行在家架設SSL VPN嗎??
    我不是只要連到內網喔..我是要透過家裡當中繼站在連外的~~
    目前本學校只能走SSL VPN途徑..昨天我已經有透過網路朋友測試過了
    (但那大大堅持不透露要,透露要$$)..
    之前也有看我朋友試過用fortigate 60來架設SSL VPN..效果很好..只可惜我太晚問他了..
    他人已經畢業出國去了~~暫時沒法請教..
    因為學校把PPTP、ISP、VPN、proxy等等遠端連線方式、爬牆的方式都封鎖..只剩下SSL VPN途徑
    懇請善心人士來教我一下吧~~用openVPN軟體來完成SSL VPN伺服器!!
    或者使用USG 50-H與NBG-510S這兩個產品來輔助..另外我家的桌電作業系統是windows~
    重點我是要從學校連回我家裡電腦,再由家裡連上網路~~
    版主回覆:(05/25/2013 01:56:08 PM)
    SSL VPN…..= =
    另請高明,話說你學校也太會鎖了= =
    我有空研究看看linux上的設定
    至於用分享器的方式,你要贊助我機器嗎XD

留言功能已關閉。