
本教學將向您展示如何透過在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伺服器都將大大增強您的網路安全性。