跳至內容

如何在Ubuntu 22.04上安裝OpenConnect VPN伺服器

更新時間
连续6年不跑路的安全速度最适合国人VPN
连续6年不跑路的安全速度最适合国人VPN

本教學將向您展示如何透過在Ubuntu 22.04上安裝OpenConnect VPN伺服器(ocserv)來運行您自己的VPN伺服器。 OpenConnect VPN伺服器是Cisco AnyConnect VPN協定的開源實現,這種協定在企業和大學中被廣泛使用。 AnyConnect是一種基於SSL的VPN協議,允許用戶連接到遠端網路。

為什麼要設定自己的VPN伺服器?

  • 隱私權保護:如果您不信任VPN服務提供者的無日誌政策,那麼自託管是一個不錯的選擇。
  • 網路安全:您可以使用VPN實施網路安全政策。例如,如果您執行自己的郵件伺服器,可以透過在防火牆中建立IP位址白名單,要求使用者僅從VPN伺服器的IP位址登入,從而增強郵件伺服器的安全性。
  • 探索VPN工作原理:或許您只是想了解VPN伺服器的工作原理。

OpenConnect VPN伺服器的特點

  • 輕量且快速:在我的測試中,使用OpenConnect VPN可以觀看4K的YouTube視頻,而YouTube在我所在的國家(中國)是被封鎖的。
  • 相容性:可以在Linux和大多數BSD伺服器上運作。
  • Cisco AnyConnect用戶端相容:支援多種用戶端軟體,包括Linux、MacOS、Windows和OpenWRT,Android和iOS可以使用Cisco AnyConnect用戶端。
  • 認證方式:支援密碼認證和證書認證。
  • RADIUS計費支援:支援RADIUS計費功能。
  • 虛擬主機支援:支援多個網域的虛擬主機。
  • 設定簡單:相較於其他VPN技術,OpenConnect VPN對終端用戶非常友善。
  • 抗深度包檢測(DPI) :能夠抵禦深度包檢測。

安裝要求

要跟隨本教學課程,您需要一個可以自由存取被封鎖網站的VPS(虛擬私人伺服器)。我推薦使用Kamatera VPS ,其特點包括:

  • 30天免費試用
  • 最低4美元/月(1GB RAM)。
  • 高性能KVM基礎的VPS
  • 全球9個資料中心,包括美國、加拿大、英國、德國、荷蘭、香港和以色列。

請按照以下連結的教學建立您的Linux VPS伺服器:如何在Kamatera上建立Linux VPS伺服器

在Ubuntu 22.04上安裝OpenConnect VPN伺服器的步驟

步驟1:安裝OpenConnect VPN伺服器

登入您的Ubuntu 22.04伺服器。然後使用apt從預設的Ubuntu儲存庫安裝ocserv套件:

bash sudo apt update sudo apt install ocserv

安裝完成後,OpenConnect VPN伺服器會自動啟動。您可以使用以下命令檢查其狀態:

bash systemctl status ocserv

如果沒有運行,可以使用以下命令啟動它:

bash sudo systemctl start ocserv

預設情況下,OpenConnect VPN伺服器監聽TCP和UDP的443連接埠。如果該連接埠被Web伺服器佔用,VPN伺服器可能會啟動失敗。稍後我們會看到如何在OpenConnect VPN設定檔中變更連接埠。

如果您的伺服器上運行防火牆,您需要開啟80和443連接埠。例如,如果您使用UFW,請執行以下命令:

bash sudo ufw allow 80,443/tcp

步驟2:在Ubuntu 22.04伺服器上安裝Let's Encrypt客戶端(Certbot)

與ocserv一起安裝的gnutls-bin套件提供了創建您自己的CA和伺服器憑證的工具,但我們將取得並安裝Let's Encrypt憑證。使用Let's Encrypt憑證的好處是它是免費的,易於設置,並且被VPN客戶端軟體信任。

執行以下命令從預設的Ubuntu儲存庫安裝Let's Encrypt客戶端(certbot):

bash sudo apt install certbot

檢查版本號:

bash certbot --version

步驟3:從Let's Encrypt取得受信任的TLS憑證

我建議使用獨立外掛程式或webroot外掛程式為ocserv取得TLS憑證。

獨立插件

如果您的Ubuntu 22.04伺服器上沒有執行Web伺服器,並且您希望OpenConnect VPN伺服器使用443端口,則可以使用獨立插件從Let's Encrypt取得TLS憑證。運行以下命令。不要忘記為您的網域設定A記錄:

bash sudo certbot certonly --standalone --preferred-challenges http --agree-tos --email you

example.com -d vpn.example.com -w /var/www/ocserv

Nginx

如果您使用Nginx,運行:

bash sudo nano /etc/nginx/conf.d/vpn.example.com.conf

將以下內容貼到文件中:

```nginx server { listen 80; server_name vpn.example.com;

 root /var/www/ocserv/;

 location ~ /.well-known/acme-challenge {
 allow all;
 }

} ```

儲存並關閉文件。然後建立Web根目錄:

bash sudo mkdir -p /var/www/ocserv sudo chown www-data:www-data /var/www/ocserv -R

重新載入Nginx:

bash sudo systemctl reload nginx

建立並啟用虛擬主機後,執行以下命令以使用webroot插件取得Let's Encrypt憑證:

bash sudo certbot certonly --webroot --agree-tos --email you@example.com -d vpn.example.com -w /var/www/ocserv

總結

透過上述步驟,您可以在Ubuntu 22.04上成功安裝並設定OpenConnect VPN伺服器。無論您是為了個人隱私還是企業安全,擁有自己的VPN伺服器都將大大增強您的網路安全性。

更新時間