快轉到主要內容

Linux桌面如何連線到VPN(OpenVPN & WireGuard),免安裝VPN客戶端

· 民國115年丙午年
·
切換繁體/簡體
分類   Linux系統 Linux使用技巧
標籤   VPN NetworkManager Systemd KDE Plasma GNOME
目錄

*這篇文章討論的是Linux桌面如何用VPN上網,並非自架VPN伺服器。

現在VPN公司那麼多家,每家都會提供專門的VPN客戶端讓你下載。可是不見得每一家都是開放原始碼的,他們可能透過這個客戶端蒐集你的使用資料。

且要是你不把雞蛋放在同一個籃子裡面,同時使用多家VPN,要一直開不同的VPN客戶端也很煩吧?而且有的GUI寫的超爛。

其實你不需要針對每一家的VPN都下載一次客戶端,只要利用Linux桌面內建的機制來建立連線即可。

所有的VPN集中在一個界面管理,方便你任意切換。

g2.webp
k3.webp

1. 原理
#

Linux桌面多半有組態VPN設定的面板。

VPN的原理並不是高深的魔法。常見的VPN協定有:OpenVPN、WireGuard、IPsec 、L2TP等等。

有些比較強力反網路審查的VPN,如Shadowsocks、V2Ray、Trojan,會使用自研協定,這已經超出傳統VPN的範圍了,暫此不表。

主流的VPN供應商,只要不是老习VPN這種封閉的體系,都應該要提供你OpenVPN(.ovpn)或WireGuard(.conf)設定檔下載的管道。像ProtonVPN、AirVPN、Mullvad、Surfshark VPN、NordVPN都有提供便利的設定檔生成器。

AirVPN生成設定檔的界面

airvpn.webp

Linux桌面最常見的管理網路服務的乃是「NetworkManager」。它有很多network-manager-*外掛程式能夠處理各種VPN協定的連線。

使用者透過nmcli指令可以連線到VPN。

接著,Linux桌面環境的連線面板,多半有與NetworkManager整合。

那麼你只要下載VPN供應商給你的設定檔之後,點幾下設定檔就可以匯入連線。

2. 安裝NetworkManager的VPN外掛程式
#

以Ubuntu來說,先檢查管理網路的服務是否為NetworkManager並正在運作:

sudo systemctl status NetworkManager

然後,安裝對應的network-manager-*套件就可以了。例如,要OpenVPN和WireGuard的話:

sudo apt install openvpn network-manager-openvpn wireguard

# GNOME桌面
sudo apt install network-manager-openvpn-gnome

3. Linux桌面連線到VPN
#

GNOME
#

以GNOME 46為例

開啟系統設定 → 連線,新增VPN,匯入OpenVPN或WireGuard的檔案即可。

g1.webp

KDE Plasma
#

以KDE Plasma 6為例

OpenVPN的話,在Dolphin檔案管理器按二下.ovpn檔,就會自動打開系統設定的連線界面匯入。

k1.webp

WireGuard要打開KDE系統設定 → 連線,新增WireGuard,自行依照.conf的內容填寫伺服器資訊。

k2.webp

另一種方式是使用nmcli指令匯入,它會同步顯示在KDE系統設定面板。.conf的檔案名稱需要自行重新命名為wg-*開頭。

nmcli connection import type wireguard file wg0.conf

4. 延伸閱讀:只給單個應用程式啟用VPN
#

如果只要特定APP用VPN上網,其餘系統不受影響,那麼就用Docker + Gluetun關在裡面吧!

參考資料
#

相關文章

要用/mnt還是/media?Linux自動掛載硬碟建議的路徑
分類   Linux系統 Linux使用技巧
標籤   Systemd KDE Plasma GNOME Freedesktop Specifications
Linux筆電很耗電?使用這些省電技巧提昇續航
分類   Linux系統 Linux使用技巧
標籤   GNOME KDE Plasma Nvidia Systemd Linux Kernel
Linux如何設定開機自動執行應用程式,XDG Autostart與Systemd Service用法
分類   Linux系統 Linux使用技巧
標籤   Freedesktop Specifications GNOME KDE Plasma Systemd

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。

(留言板載入中)這是Giscus留言板,需要Github帳號才能留言。支援Markdown語法,若要上傳圖片請善用外部圖床。您的留言會在Github Discussions向所有人公開。

Click here to edit your comments.

(留言板載入中)這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用外部圖床網站。