[攻略] 自己的VPN自己架:OpenVPN-AS 架設

作者: takahashikag (那來自某島的蘇州軍部長)   2015-06-13 23:30:45
前面 Akaz 大講述了開使用源的 OpenVPN,安裝後再使用 easy-rsa 套件簽發伺服端、連
接者端與使用者端共三組數位憑證,接著撰寫供 OpenVPN 使用的 .ovpn 檔案的模式,而
這邊要實作的是採用 OpenVPN Access Server 的方案,一樣有圖文並茂版的網誌:
http://goo.gl/HtEUbF (網址太長了,只好用縮網址 www
==
https://c1.staticflickr.com/1/468/18538827888_7ca1388750_b.jpg
先說,美雲このは真的好可愛(滾動
==
在前篇以 Vultr VPS 搭配 Ubuntu 14.04 64-Bit 架設 PPTP 服務之後,這次要示範的是
在日本主機商 ConoHa.jp 上架設 VPN 服務,由於 ConoHa.jp 阻擋了 GRE 通訊協定,因
此無法在上面架設 PPTP 服務,考慮到以 Linux 系統架設 L2TP/IPSec 或是 Cisco IPsec
服務有一定難度與低容錯性,這裡以較為簡單的 OpenVPN 作實作
OpenVPN 可以說是一個用於建立虛擬私人網路絡加密通道的整合軟體環境,在建立連線上
,OpenVPN 允許使用公開金鑰、電子憑證、或者使用者名稱、密碼的方式來進行身份驗證
,進而產生連線,而在運行 Linux/UNIX 系統的 VPS 上建立 OpenVPN 服務有兩種方式,
一種是藉由 apt-get 獲得整合好的安裝套件 OpenVPN Access Server,另一種也是透過
apt-get,但採用的是開源的 openvpn,安裝後再使用 easy-rsa 套件簽發伺服端與使用者
端共三組數位憑證,接著撰寫供 OpenVPN 使用的 .ovpn 檔案,而這次實作的是前著,採
用 OpenVPN Access Server 的方案
接著談一談 ConoHa.jp,ConoHa.jp 算是日本主機商之中較為的國際化的一家,相較於俗
稱櫻花 VPS 的 SAKURA VPS 與 CloudCore 一般排外,沒有限定日本地區信用卡、註冊時
需要驗證日本電話號碼與地址的要求,反而一開始就提供了英文與簡體中文的介面,也支
援國際信用卡與 PayPal 等支付方式
而在規格上,ConoHa.jp 使用的是 Xen 虛擬化技術,故不會有採用 OpenVZ 技術的 VPS
廠商一樣發生超賣單位,超出的伺服器極限的問題,而以最低規格而言,就提供了兩個處
理器虛擬單位,1GB 記憶體,與 50GB 容量的固態硬碟,傳輸流量方面無限制,上下速度
100Mbps,預設提供 IPv4 與 IPv6 位址,價格則是每個月 900 円
https://c1.staticflickr.com/1/427/18726592055_af696d819e_b.jpg
ConoHa 的英文版介面
https://c1.staticflickr.com/9/8833/18700286626_ae71c0726e_b.jpg
以基本的 1GB 記憶體,50GB 容量的固態硬碟方案而言,每小時 1.3 円,一天 31.2 円,
一個月則算成 900 円
https://c1.staticflickr.com/1/276/18538813748_0a6ee0383b_b.jpg
單位部屬速度比 Vultr 還要快,登入方式一樣是 ssh root@VPS 的網路位址 ,輸入管理
密碼後以 root 權限登入
root 帳號的密碼就是剛才在部屬單位時你設定的 root password,這邊要特別說一點,由
於 ConoHa.jp 預設是沒有任何方式去保護你的單位,在安全登入上, 由於改 SSH 連接埠
的工程浩大,因此建議安裝一個名叫 fail2ban 的安全套件來防止惡意登入者去猜 root
密碼,進而取得 VPS 的操控權
這邊先使用 apt-get install fail2ban 來獲得安全套件
安裝後使用 cp -a /etc/fail2ban/jail.conf /etc/fail2ban/jail.local 複製設定檔
然後使用 vim /etc/fail2ban/jail.local 修改設定檔,關於 fail2ban 在 Ubuntu 的設
定網路上很多了,這邊就不贅述了,但是要確認 SSH 防護有打開
** 這邊簡單敘述一下 Vim 文字編輯器的指令,i 是進入編輯模式、Esc 會離開編輯模式
到上層,在上層 :w 是存檔、:wq 是存檔後離開、:q 是直接離開不存檔
使用 /etc/init.d/fail2ban restart 來重新啟動 fail2ban 服務,至此 fail2ban 安裝
完成
https://c1.staticflickr.com/1/412/18540394989_9aec602c1e_b.jpg
用 fail2ban-client status 可以確認 fail2ban 的運作模式,看到附圖那樣基本就沒問
題了
https://c1.staticflickr.com/1/373/18540394919_e434b2f3ce_b.jpg
順手用 apt-get install iptables 安裝路由表套件,接著用 wget 指令獲得 OpenVPN A
ccess Server 安裝包
https://c1.staticflickr.com/1/358/18103962664_074523edcd_b.jpg
wget http://swupdate.openvpn.org/as/openvpn-as-2.0.17-Ubuntu14.amd_64.deb 是給
64 位元 Ubuntu 14.04 LTS 使用
https://c1.staticflickr.com/9/8857/18538813518_eea28ac732_b.jpg
下載完成後使用 dpkg -i openvpn-as-2.0.17-Ubuntu14.amd_64.deb 來安裝剛才下載的套

接著就可以看到如上圖的畫面,管理者介面是 https://主機位址:943/admin,一般使用者
則是 https://主機位址:943/,同時會要你創一個管理 OpenVPN Access Server 服務的帳
號,預設名稱是 openvpn,密碼則是自行輸入,會作一次確認
與開源的 OpenVPN 安裝套件不同,OpenVPN Access Server 是由開發 OpenVPN 的母公司
所開發的簡易安裝套件,與前者不同,OpenVPN Access Server 安裝過程較為方便,伺服
端與客戶端的設定也已經做好了,但是有著除非購買授權碼,一般用戶最大兩個客戶端同
時連線的限制,當然對於小規模的應用來說,兩個人同時連線已經堪用,如果需要更多連
線的話,建議使用開源的 OpenVPN 安裝套件做架設
https://c1.staticflickr.com/9/8891/18729014621_d44aaca884_b.jpg
以 https://主機位址:943/admin 進入管理者介面,看到CA憑證錯誤的資訊不用驚慌,那
是正常的
https://c1.staticflickr.com/1/348/18721735892_5ddce4c39a_b.jpg
第一次啟動會看到 OpenVPN Access Server 的 EULA(終端用戶許可協議)
https://c1.staticflickr.com/1/306/18105927023_2cd671de96_b.jpg
同意之後就可以看到這個管理畫面
==
接下來要解釋如何在 OpenVPN Access Server 添加使用者帳號,這裡需要再次以 root 權
限的帳號進去創立新帳號
可以先輸入 vim /etc/group 與 vim /etc/passwd 來檢視使用者群組與狀態,沒意外的話
會看到使用者最下方有一個 openvpn,這是你在架設 OpenVPN Access Server 時創的管理
者帳號,其實這個帳號也可以擁有設定檔、連線到 OpenVPN 的功能,不過我建議另外創兩
個單純用於連線的帳號
https://c1.staticflickr.com/1/510/18105926883_8940d7cd9a_b.jpg
以 vim /etc/group 檢視使用者群組,接著以 :q 離開
https://c1.staticflickr.com/1/471/18700291646_3d327957c3_b.jpg
以 vim /etc/passwd 檢視使用者狀態與權限,接著以 :q 離開
https://c1.staticflickr.com/1/395/18538900360_d6a30b4d04_b.jpg
輸入 adduser client01 指令會創造出一個名叫 client01 的帳號
https://c1.staticflickr.com/1/309/18103967634_3a27db63f2_b.jpg
輸入 client01 的密碼,輸入後會再作一次確認,接著會確定使用者組態,一路 Enter 下
去吧
https://c1.staticflickr.com/9/8849/18729020191_364059279f_b.jpg
最後會確認使用者組態是否正確,沒錯就按 Y 確認並離開,在依照一樣的流程創一個 cli
ent02
https://c1.staticflickr.com/9/8889/18726597075_9dbd860a77_b.jpg
再次以 vim /etc/group 就會看到剛才創立的兩個帳號,接著以 :q 離開
https://c1.staticflickr.com/1/448/18540399909_f738d8c3a6_b.jpg
在就可以在 OpenVPN Access Server 管理介面以管理帳號創兩個一樣名稱的帳號
https://c1.staticflickr.com/1/547/18538900000_8036bd19c4_b.jpg
以 https://主機位址:943/ 進入使用者介面,看到CA憑證錯誤的資訊一樣不用驚慌,那是
正常的
https://c1.staticflickr.com/1/372/18700291326_56a15a96ac_b.jpg
右下點選 Login ,輸入使用者帳號與密碼,密碼是剛剛創立帳號時輸入的
https://c1.staticflickr.com/1/498/18105936403_b7384f5552_b.jpg
接著會看到這個畫面,你可以下載上方設定好的連線軟體,或是下載下方的設定檔搭配自
己的 OpenVPN 連線軟體
https://c1.staticflickr.com/1/499/18538909720_dc8035f249_o.png
下方的設定檔會下載一個 .ovpn 檔頭的設定檔到你的電腦,我使用 Tunnelblick 這套軟

https://c1.staticflickr.com/1/331/18540409499_66ae34d08f_o.png
匯入設定檔後,第一次連線時依照設定檔跟軟體的差別,可能會詢問使用者帳號與密碼
基本上以 OpenVPN Access Server 為基礎架設的 VPN 服務就完成了,再來是實作測試,
以花蓮地區的 vDSL 服務作測試,理論頻寬 60M/20M,離光纖交換機箱距離約三百米以內
,國內直接連線到伺服器延遲約 46 至 55 微秒
https://c1.staticflickr.com/9/8838/18105936253_06c8ccde19_b.jpg
單向測試,連線到日本後在連線到東京地區的測試點
https://c1.staticflickr.com/9/8847/18540409409_4ca0c53d6a_b.jpg
雙向來回,先連線到日本再連線回台北地區的測試點
基本上延遲是在可以接受的範圍,封包遺失率在可以接受的水準,而連線速度上拜廠商東
家 GMO Internet Inc. 那條高速回線的威能,以國內個人使用最高速的 100M 而言,可以
衝到你自己網路的極速
==
話說日本的主機廠商很喜歡玩二次元形象這種公關行銷,在 CloudCore 的雲野コア、櫻花
VPS 的桜葉愛 之外,ConoHa.jp 的 美雲このは 與 美雲あんず 姊妹二人組也很紅,不過
在出現頻率上美雲このは比例比較高就是了
話說このは的聲優是上坂堇,其姐妹あんず的聲優是內田真禮,這根本就是凸守早苗和小
鳥游六花的搭配(拖走
https://c1.staticflickr.com/1/386/18700300826_d2dfb79b07_b.jpg
把 ConoHa.jp 的主網址改成 https://www.conoha.jp/conoha ,美雲このは會出來跟你打
招呼
https://c1.staticflickr.com/1/533/18729029191_5d9651c402_b.jpg
在主機管理面板也可以看到她噢,不過介面語言要選日文,再把介面風格切換成 このはモ
ード ,其他介面語言下不知為什麼出不來
https://c1.staticflickr.com/1/335/18581529170_2130fda72c_b.jpg
美雲このは同時也擔任東家 ConoHa.jp 的錯誤娘
作者: sk10037643 (毫無動靜就是一杯電漿)   2015-06-13 23:42:00
所以說 那個噗浪狀態列到底是怎麼一回事w(重點錯
作者: clse0190 (shadow)   2015-06-13 23:49:00
可能的話 用預先密鑰的ONEBYONE會比較好基於握手是明文,容易被針對,預先交換的.KEY在個人使用上反而不容易被干擾,是比較推薦的選項

Links booklink

Contact Us: admin [ a t ] ucptt.com