Files
setup-ipsec-vpn/README-zh-Hant.md
2026-05-15 22:40:12 -05:00

23 KiB
Raw Blame History

English | 简体中文 | 繁體中文 | 日本語 | Русский

IPsec VPN 伺服器一鍵安裝腳本

Build Status GitHub Stars Docker Stars Docker Pulls

使用 Linux 腳本一鍵快速架設自己的 IPsec VPN 伺服器。支援 IPsec/L2TP、Cisco IPsec 和 IKEv2 協議。

IPsec VPN 可以加密你的網路流量,以防止在透過網際網路傳送時,你和 VPN 伺服器之間的任何人對你的資料進行未經授權的存取。在使用不安全的網路時,這一點特別有用,例如在咖啡廳、機場或旅館房間。

我們將使用 Libreswan 作為 IPsec 伺服器,以及 xl2tpd 作為 L2TP 提供者。

功能特性:

  • 全自動的 IPsec VPN 伺服器設定,無需使用者輸入
  • 支援具有強大且快速加密演算法(例如 AES-GCM的 IKEv2 模式
  • 生成 VPN 設定檔以自動設定 iOS、macOS 和 Android 裝置
  • 支援 Windows、macOS、iOS、Android、Chrome OS 和 Linux 客戶端
  • 包含輔助腳本以管理 VPN 使用者和憑證

另提供:

快速開始

首先,在你的 Linux 伺服器* 上安裝支援的作業系統

使用以下命令快速架設 IPsec VPN 伺服器:

wget https://get.vpnsetup.net -O vpn.sh && sudo sh vpn.sh

你的 VPN 登入憑證將會自動隨機生成,並在安裝完成後顯示。

Tip

你可以選擇在同一台伺服器上安裝 WireGuardOpenVPN 和/或 Headscale

查看腳本的範例輸出(終端記錄)。

註: 此終端記錄僅用於示範目的。該記錄中的 VPN 憑據 無效

如果無法下載,請點這裡。

你也可以使用 curl 下載:

curl -fsSL https://get.vpnsetup.net -o vpn.sh && sudo sh vpn.sh

或者,你也可以使用這些連結:

https://github.com/hwdsl2/setup-ipsec-vpn/raw/master/vpnsetup.sh
https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/vpnsetup.sh

如果無法下載,打開 vpnsetup.sh,然後點擊右側的 Raw 按鈕。按快捷鍵 Ctrl/Cmd+A 全選,Ctrl/Cmd+C 複製,然後貼上到你喜歡的編輯器。

IPsec VPN 也提供預先建構的 Docker 映像。如需了解其他選項以及客戶端設定,請繼續閱讀以下部分。

* 一個雲端伺服器、虛擬專用伺服器 (VPS) 或專用伺服器。

系統需求

一個雲端伺服器、虛擬專用伺服器 (VPS) 或專用伺服器,安裝以下作業系統之一:

  • Ubuntu 26.04、24.04 或 22.04
  • Debian 13、12 或 11
  • CentOS Stream 10 或 9
  • Rocky Linux 或 AlmaLinux
  • Oracle Linux
  • Amazon Linux 2
其他受支援的 Linux 發行版。
  • Raspberry Pi OS (Raspbian)
  • Kali Linux
  • Alpine Linux
  • Red Hat Enterprise Linux (RHEL)

這也包括公共雲服務中的 Linux 虛擬機,例如 DigitalOceanVultrLinodeOVHMicrosoft Azure。公共雲使用者也可以使用使用者資料部署。

使用以下按鈕快速部署:

Deploy to Linode  Deploy to AWS  Deploy to Azure

» 我想建立並使用自己的 VPN但沒有可用的伺服器

對於有外部防火牆的伺服器(例如 EC2/GCE),請為 VPN 開啟 UDP 連接埠 500 和 4500。

IPsec VPN 也提供預先建構的 Docker 映像。進階使用者可以在 Raspberry Pi 上安裝。[1] [2]

Warning

不要 在你的 PC 或 Mac 上執行這些腳本!它們只能用在伺服器上!

安裝說明

首先,更新你的伺服器:執行 sudo apt-get update && sudo apt-get dist-upgrade (Ubuntu/Debian) 或 sudo yum update 並重新啟動。此步驟為可選,但建議執行。

要安裝 VPN請從以下選項中選擇一個

選項 1 使用腳本隨機生成的 VPN 登入憑證(完成後會顯示)。

wget https://get.vpnsetup.net -O vpn.sh && sudo sh vpn.sh

選項 2 編輯腳本並提供你自己的 VPN 登入憑證。

wget https://get.vpnsetup.net -O vpn.sh
nano -w vpn.sh
[替換為你自己的值: YOUR_IPSEC_PSK, YOUR_USERNAME 和 YOUR_PASSWORD]
sudo sh vpn.sh

Note

一個安全的 IPsec PSK 應至少包含 20 個隨機字元。

選項 3 將你自己的 VPN 登入憑證定義為環境變數。

# 所有變數值必須用 '單引號' 括起來
# *不要* 在值中使用這些字元:  \ " '
wget https://get.vpnsetup.net -O vpn.sh
sudo VPN_IPSEC_PSK='你的IPsec預共享金鑰' \
VPN_USER='你的VPN使用者名稱' \
VPN_PASSWORD='你的VPN密碼' \
sh vpn.sh

Tip

你可以選擇在同一台伺服器上安裝 WireGuardOpenVPN 和/或 Headscale。如果你的伺服器執行 CentOS Stream、Rocky Linux 或 AlmaLinux請先安裝 OpenVPN/WireGuard然後再安裝 IPsec VPN。

如果無法下載,請點這裡。

你也可以使用 curl 下載。例如:

curl -fL https://get.vpnsetup.net -o vpn.sh
sudo sh vpn.sh

或者,你也可以使用這些連結:

https://github.com/hwdsl2/setup-ipsec-vpn/raw/master/vpnsetup.sh
https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/vpnsetup.sh

如果無法下載,打開 vpnsetup.sh,然後點擊右側的 Raw 按鈕。按快捷鍵 Ctrl/Cmd+A 全選,Ctrl/Cmd+C 複製,然後貼上到你喜歡的編輯器。

我需要安裝較舊版本的 Libreswan 版本 4。

一般建議使用最新的 Libreswan 版本 5它是本專案的預設版本。不過如果你想要安裝較舊版本的 Libreswan 版本 4

wget https://get.vpnsetup.net -O vpn.sh
sudo VPN_SWAN_VER=4.15 sh vpn.sh

註: 如果 Libreswan 版本 5 已經安裝,你可能需要先解除安裝 VPN,然後再安裝 Libreswan 版本 4。或者你也可以下載升級腳本,編輯它並指定 SWAN_VER=4.15,然後執行腳本。

自訂 VPN 選項

使用其他 DNS 伺服器

在 VPN 已連線時,客戶端預設設定為使用 Google Public DNS。在安裝 VPN 時,你可以為所有 VPN 模式指定其他 DNS 伺服器。此為可選設定。示例如下:

sudo VPN_DNS_SRV1=1.1.1.1 VPN_DNS_SRV2=1.0.0.1 sh vpn.sh

使用 VPN_DNS_SRV1 指定主要 DNS 伺服器,使用 VPN_DNS_SRV2 指定次要 DNS 伺服器(可選)。

以下是一些常見的公共 DNS 提供商列表,供你參考。

提供商 主 DNS 輔助 DNS 註解
Google Public DNS 8.8.8.8 8.8.4.4 本專案預設
Cloudflare 1.1.1.1 1.0.0.1 另見:Cloudflare for families
Quad9 9.9.9.9 149.112.112.112 阻擋惡意網域
OpenDNS 208.67.222.222 208.67.220.220 阻擋網路釣魚網域,可設定。
CleanBrowsing 185.228.168.9 185.228.169.9 提供網域過濾器
NextDNS 依需求選擇 依需求選擇 廣告攔截,提供免費方案。了解更多
Control D 依需求選擇 依需求選擇 廣告攔截,可自訂設定。了解更多

如果你需要在安裝 VPN 之後更改 DNS 伺服器,請參見進階用法

Note

如果伺服器上已經設定 IKEv2以上變數對 IKEv2 模式無效。在此情況下,如需自訂 IKEv2 選項(例如 DNS 伺服器),你可以先移除 IKEv2,然後執行 sudo ikev2.sh 重新設定。

自訂 IKEv2 選項

在安裝 VPN 時,進階使用者可以自訂 IKEv2 選項。此為可選設定。

選項 1在安裝 VPN 時跳過 IKEv2然後使用自訂選項設定 IKEv2。

在安裝 VPN 時,你可以跳過 IKEv2只安裝 IPsec/L2TP 和 IPsec/XAuth"Cisco IPsec")模式:

sudo VPN_SKIP_IKEV2=yes sh vpn.sh

(可選)如果要為 VPN 客戶端指定其他 DNS 伺服器,你可以定義 VPN_DNS_SRV1VPN_DNS_SRV2(可選)。更多資訊請參見使用其他 DNS 伺服器

然後執行 IKEv2 輔助腳本,以互動方式使用自訂選項設定 IKEv2

sudo ikev2.sh

你可以自訂以下選項VPN 伺服器的網域名稱、第一個客戶端的名稱與憑證有效期限、VPN 客戶端的 DNS 伺服器,以及是否對客戶端設定檔進行密碼保護。

註: 如果伺服器上已經設定 IKEv2VPN_SKIP_IKEV2 變數無效。在此情況下,如需自訂 IKEv2 選項,你可以先移除 IKEv2,然後執行 sudo ikev2.sh 重新設定。

選項 2使用環境變數自訂 IKEv2 選項。

在安裝 VPN 時,你可以指定一個網域名稱作為 IKEv2 伺服器位址。此為可選設定。該網域名稱必須是完整網域名稱 (FQDN)。示例如下:

sudo VPN_DNS_NAME='vpn.example.com' sh vpn.sh

同樣地,你也可以指定第一個 IKEv2 客戶端的名稱。如果未指定,則使用預設值 vpnclient

sudo VPN_CLIENT_NAME='your_client_name' sh vpn.sh

在 VPN 已連線時,客戶端預設設定為使用 Google Public DNS。你可以為所有 VPN 模式指定其他 DNS 伺服器。示例如下:

sudo VPN_DNS_SRV1=1.1.1.1 VPN_DNS_SRV2=1.0.0.1 sh vpn.sh

預設情況下,匯入 IKEv2 客戶端設定時不需要密碼。你可以選擇使用隨機密碼保護客戶端設定檔。

sudo VPN_PROTECT_CONFIG=yes sh vpn.sh
供參考IKEv1 和 IKEv2 參數列表。
IKEv1 參數* 預設值 自訂(環境變數)**
伺服器位址DNS 網域名稱) - 不能,但你可以使用 DNS 網域名稱進行連線
伺服器位址(公網 IP 自動偵測 VPN_PUBLIC_IP
IPsec 預共享金鑰 自動生成 VPN_IPSEC_PSK
VPN 使用者名稱 vpnuser VPN_USER
VPN 密碼 自動生成 VPN_PASSWORD
客戶端的 DNS 伺服器 Google Public DNS VPN_DNS_SRV1, VPN_DNS_SRV2
跳過 IKEv2 安裝 no VPN_SKIP_IKEV2=yes

* 這些 IKEv1 參數適用於 IPsec/L2TP 和 IPsec/XAuth ("Cisco IPsec") 模式。
** 在執行 vpn(setup).sh 時將這些定義為環境變數。

IKEv2 參數* 預設值 自訂(環境變數)** 自訂(互動式)***
伺服器位址DNS 網域名稱) - VPN_DNS_NAME
伺服器位址(公網 IP 自動偵測 VPN_PUBLIC_IP
第一個客戶端的名稱 vpnclient VPN_CLIENT_NAME
客戶端的 DNS 伺服器 Google Public DNS VPN_DNS_SRV1, VPN_DNS_SRV2
保護客戶端設定檔 no VPN_PROTECT_CONFIG=yes
啟用/停用 MOBIKE 如果系統支援則啟用
客戶端憑證有效期限 10 年120 個月) VPN_CLIENT_VALIDITY****
CA 和伺服器憑證有效期限 10 年120 個月)
CA 憑證名稱 IKEv2 VPN CA
憑證金鑰長度 3072 bits

* 這些 IKEv2 參數適用於 IKEv2 模式。
** 在執行 vpn(setup).sh 時,或在自動模式下設定 IKEv2 時 (sudo ikev2.sh --auto) 將這些定義為環境變數。
*** 可以在互動式設定 IKEv2 期間自訂 (sudo ikev2.sh)。參見上面的選項 1。
**** 使用 VPN_CLIENT_VALIDITY 定義客戶端憑證的有效期限(單位:月)。它必須是 1 到 120 之間的整數。

除了這些參數,進階使用者還可以在安裝時自訂 VPN 子網(簡體中文)。

下一步

其他語言版本: English, 简体中文, 繁體中文, 日本語, Русский

設定你的電腦或其他裝置使用 VPN。請參見以下連結簡體中文

設定 IKEv2 VPN 客戶端(推薦)

設定 IPsec/L2TP VPN 客戶端

設定 IPsec/XAuth ("Cisco IPsec") VPN 客戶端

閱讀 📖 VPN book 以存取額外內容

開始使用自己的專屬 VPN! :sparkles::tada::rocket:

重要提示

Windows 使用者 對於 IPsec/L2TP 模式,在首次連線之前需要修改登錄檔,以解決 VPN 伺服器或客戶端與 NAT例如家用路由器的相容問題。

同一個 VPN 帳戶可以在你的多個裝置上使用。但由於 IPsec/L2TP 的限制,如果需要連線到同一個 NAT例如家用路由器後面的多個裝置你必須使用 IKEv2IPsec/XAuth 模式。要查看或變更 VPN 使用者帳戶,請參見管理 VPN 使用者

對於有外部防火牆的伺服器(例如 EC2/GCE),請為 VPN 開啟 UDP 連接埠 500 和 4500。阿里雲使用者請參見 #433

在 VPN 已連線時,客戶端設定為使用 Google Public DNS。如果偏好其他的網域解析服務,請參見進階用法

使用核心支援有助於提升 IPsec/L2TP 效能。它在所有支援的系統上可用。Ubuntu 系統需要安裝 linux-modules-extra-$(uname -r) 軟體套件並執行 service xl2tpd restart

這些腳本在變更現有設定檔之前會先建立備份,並使用 .old-日期-時間 作為檔名後綴。

升級 Libreswan

使用以下命令更新你的 VPN 伺服器上的 Libreswan更新日誌 | 通知清單)。

wget https://get.vpnsetup.net/upg -O vpnup.sh && sudo sh vpnup.sh
如果無法下載,請點這裡。

你也可以使用 curl 下載:

curl -fsSL https://get.vpnsetup.net/upg -o vpnup.sh && sudo sh vpnup.sh

或者,你也可以使用這些連結:

https://github.com/hwdsl2/setup-ipsec-vpn/raw/master/extras/vpnupgrade.sh
https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/extras/vpnupgrade.sh

如果無法下載,打開 vpnupgrade.sh,然後點擊右側的 Raw 按鈕。按快捷鍵 Ctrl/Cmd+A 全選,Ctrl/Cmd+C 複製,然後貼上到你喜歡的編輯器。

目前支援的 Libreswan 最新版本是 5.3。查看已安裝版本:ipsec --version

註: xl2tpd 可以使用系統的套件管理器進行更新,例如 Ubuntu/Debian 上的 apt-get

管理 VPN 使用者

請參見管理 VPN 使用者(簡體中文)。

進階用法

請參見進階用法(簡體中文)。

移除 VPN

要移除 IPsec VPN執行輔助腳本

Caution

此輔助腳本將從你的伺服器中刪除 IPsec VPN。所有 VPN 設定將被永久刪除,並且 Libreswan 和 xl2tpd 將被移除。此操作無法復原

wget https://get.vpnsetup.net/unst -O unst.sh && sudo bash unst.sh
如果無法下載,請點這裡。

你也可以使用 curl 下載:

curl -fsSL https://get.vpnsetup.net/unst -o unst.sh && sudo bash unst.sh

或者,你也可以使用這些連結:

https://github.com/hwdsl2/setup-ipsec-vpn/raw/master/extras/vpnuninstall.sh
https://gitlab.com/hwdsl2/setup-ipsec-vpn/-/raw/master/extras/vpnuninstall.sh

更多資訊請參見移除 VPN

問題與回饋

授權條款

版權所有 (C) 2014-2026 Lin Song View my profile on LinkedIn
基於 Thomas Sarlandie 的工作(版權所有 2012

Creative Commons License
此專案採用 Creative Commons 姓名標示-相同方式分享 3.0 授權條款。
必須署名:請在任何衍生作品中包含我的名字,並且讓我知道你是如何改進它的!