2024/04/20

Chromebook上經OpenVPN連接虛擬私人網絡回家

本文已發佈逾1 年,除非文中有標注更新,否則內含的資訊有可能不合時宜,敬請注意!

好一陣子沒有寫過Chromebook的文章,肥叔叔絕對不是可以去旅行後就得意忘形,絕對不是。

今次講講怎樣在Chromebook上設定連接家用的VPN(虛擬私人網絡)連線回家

不,筆者說的不是Youtube上的tuber們贊助的收費年繳跨境翻牆看別處Amazon、Netflix、美國的D站、或者是日本的D站…總之就不是那種跨境VPN。

是從外面連往自己家裡NAS的VPN,最簡單的就是去旅行時備份照片超級有用(建議別在新幹線普通席上的30分鐘免錢wifi連回家,火車跑得比網速快…)。當然大家付錢課金去買iCloud、Google甚至百度雲的儲存空間去備份照片,您的光顧對MPF中的股票基金投資的企業的業績很有幫助,筆者也很 歡迎的~

這篇文章主要不是講如何設定家裡的VPN,是假設家裡已經有VPN而怎樣去在Chromebook上設定OpenVPN回家的連接,因為ChromeOS的系統沒有。家裡己有VPN,來找答案的可直接跳到【這裡

事前準備:家中的VPN伺服器

如何在家中設定OpenVPN的文章,網上超級多,而且視乎不同地區的網絡服務供應商可能有不同限制,這裡就不重複了。

如果用路由器上的VPN,就看看說明書吧。

筆者只有幾個重點分享:
  • 不要使用PPTP或者LT2P的VPN,一是技術太舊不安全、二是連接埠(port)不能改動,網絡服務供應商可能會禁用。OpenVPN會好一點。
  • 在家裡連接的話,IP可能會不時改變,可能用上動態域名,動態域名要另外申請。大牌子的網絡設備、NAS廠商等都可能相關服務提供。
  • 密碼、密鑰、伺服器證書之類要好好設定。
  • VPN的密碼不要放在設定檔裡面
  • 路由器上僅開放一個連接埠port供VPN來用,隨機選個都可以,只要不和其他應用相同即可,所有「虛擬回家」的連接都只經過VPN使用。

筆者家裡是用了家裡的中階路由器作為VPN伺服器的,同時用了路由器廠商的動態域名服務。

路由器的VPN可以選用PPTP或者OpenVPN方式,後者的連接埠是新設定時路由器隨機產生的,用戶也可以自選。

設定好後就可以產生並匯出一個「.ovpn」為副域名的OpenVPN設定檔案。ovpn是個可以經文字編輯軟件修改的文字檔,內含產生VPN連接的各種設定,也可能附有經過加密的證書/金鑰,而生成ovpn的工具沒有加上的設定也可以自己編輯加入。

像筆者的路由器生成的ovpn檔就要自行編輯了,因為生成ovpn檔的都是以當時的動態公網IP作為主機名稱(hostname)的,這時候就要人手把hostname從IP修改成動態域名的設定

如在設定檔指明要用Google的DNS伺服器、在設定檔內預設VPN用戶名字等,也可以自行編輯,相關資料就不在這裡詳述了。

另外,可能會有工具會把證書和金鑰另外轉存成獨立檔案而不是直接嵌入到ovpn檔裡面,這就視乎大家的OpenVPN伺服器的功能了。

把OpenVPN的opvn設定檔套用在ChromeOS上

如果在Windows、Mac、iOS或Android上用過OpenVPN的朋友,大致也知道OpenVPN相關的設定很依賴ovpn檔(如需要,則外加相關的金鑰/證書檔)。

在這些熱門系統(甚至是不甚熱門的桌面Linux),基本上都是找出OpenVPN的連接工具,把ovpn檔抄寫到裝置上,匯入ovpn(和其他輔加的檔案),再輸入VPN的賬號和密碼即可。

可是,這在ChromeOS上,是行不通的。ovpn檔還是要的,但ChromeOS不愛吃。

要先把ovpn檔轉成onc檔才行。

為甚麼呢?這個就別問了… 真心沒有耐性去考究…

那就先用由Thomas MK在Github上發佈的Ovpn2onc工具,把ovpn轉成onc檔。

為免用戶名稱和密碼等在網上傳送產生風險,還是推薦先把ovpn2onc轉換工具下載到本機使用。

在Github上下載壓縮了的轉換工具ZIP檔並存在本機上。解壓,找出ovpn2onc.html,點擊在瀏覽器打開。

填上VPN的名字,以「home」 舉例,就會生成home.onc檔。

在工具的頁面上加進ovpn檔,如果產生ovpn時有輔加的檔案也得一併加進去。

最終是要得到單一個onc檔。

注意:Ovpn2onc工具純粹是文字內容格式轉換的工具,在本機運行即可。如工具原作者Thomas MK所說,大家是「可以」把ovpn和金鑰檔上傳到在網上的ovpn2onc工具,但是此舉會把ovpn和金鑰上傳到網上。風險頗大,不建議!

在ChromeOS上匯入OpenVPN設定onc檔

這時,在ChromeOS裝置上,打開Chrome瀏覽器。

在網址列輸入:

chrome://network/#general

Chrome瀏覽器會出現ChromeOS系統的深層(!?)網絡設定界面。

ChromeOS的「深層次」設定界面,找出匯入onc的表格。

找出「Import ONC File」,按指示匯入onc檔。

onc檔先傳到ChromeOS上。

成功匯入後,如無意外,在桌面右下功能列點擊後出現的系統版面上就會出現一個「VPN」的圖示(圖示太多的可能會在第二頁)。

匯入onc檔後,在System Panel會有「VPN」圖示。

這時應該見到剛匯入的VPN連接設定。如果先前輸入的連線名字是home,VPN連接設定就是「home」。

主機名稱(域名非IP:如果IP是靜態不變的話)和VPN用戶名(在 VPN伺服器上的用戶名)均可以在原有的ovpn檔上加入或修改。

點擊打開,就可以見到VPN連接設定的內容。

輸入VPN伺服器上的密碼(和用戶名,如果沒有加到原本的ovpn檔上的話),「應該」可以成功連線回家。

成功連接家中網絡的樣子。

為甚麼要VPN回家?

前面講過,通過VPN能夠相對安全地在外面(旅行也好,在街上/上班時也罷)連線回家,存取家裡NAS的資料文件、照片,甚至是家裡其他電腦等(長開、不關機的話)都可以。

筆者有朋友過去就試過沒有用VPN,直接用動態域名(dynamic domain)連回家,再把家中的路由器的防火牆關掉,家用網絡設成不設防,NAS的操作界面、web的port 80、FTP的port 21、SSH的22都全開了。

然後…不久,朋友的NAS就被ransomeware鎖了…

最後沒給錢,東西全部放棄。據說好像NAS上的資料也沒有全部備份,一怒之下把NAS和硬碟全部二手賣掉以付費雲儲存代之。

有關OpenVPN的連接埠

記得坊間一般建議10000或以上,不過筆者以前就用過MSN messanger的port 1863和Yahoo messanger的5050(2023年,誰還在用?),因為很多地方都不會攔截,反之其他應用,如電郵25/110/995、網頁80/443/8080倒有可能被自己的網絡商屏掉。

另外,如果路由器開了比較通用的port,也可能會招徠惡意滿滿的白撞流量,有更大潛在風險,還是小心為上。

更多家用保安注意事項: