−25%

Windows 年繳方案適用,至 10 月 31 日。 檢視方案

EQVPS
開始使用

如何在 VPS 上搭建 OpenVPN 伺服器

用 openvpn-install 指令碼在 Ubuntu 或 Debian 上執行自己的 OpenVPN 伺服器:UDP 1194 或 TCP 443、用戶端檔案、撤銷存取權限,以及與 WireGuard 的對比。

如今大部分關注都給了 WireGuard,這也理所當然。但 OpenVPN 仍有它的一席之地:它能跑在 TCP 443 埠上,路由器和企業用戶端裡都內建了它,而且在基於 UDP 的 VPN 被遮蔽的網路裡,它有時還能透過。如果您正是這種情況,下面是通往一台能用的伺服器最短、最可靠的路。

需要準備什麼

  • 一台有獨立公用 IP 的 VPS。用戶端從網際網路連進來,所以 NAT 方案不行——個人使用的話,每月 $8 的 Nano-IP 足夠了。
  • Ubuntu 22.04/24.04 或 Debian 12,以及 root 或 sudo 使用者。
  • 大約十分鐘。

1. 執行安裝指令碼

手動搭建憑證頒發機構、金鑰和路由,一下午就沒了。angristan 寫的常用指令碼 openvpn-install 能一次搞定。下載下來,執行前先讀一遍——這是一個會修改您網路設定的 shell 指令碼,您應該知道它在做什麼:

curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
chmod +x openvpn-install.sh
less openvpn-install.sh
sudo ./openvpn-install.sh

指令碼會問幾個問題。合理的回答是:

  • IP 位址: 伺服器的公用 IPv4(它會自動偵測)。
  • IPv6: 如果想讓 IPv6 也走通道,選 yes。
  • 埠: 預設 1194,如果打算用 TCP 就選 443。
  • 協議: UDP 更快;TCP 能穿過嚴格的防火牆。
  • DNS: 任何您信任的公共解析伺服器。
  • 壓縮: 不要。它和加密一起用有已知的安全問題。

最後它會產生第一個用戶端檔案,比如 /root/phone.ovpn。

2. 開放埠

指令碼會設定自己的 iptables 規則。如果您還在用 UFW,要顯式放行 VPN 埠:

sudo ufw allow 1194/udp
sudo ufw status

如果選了 TCP,就換成 443/tcp。

3. 把用戶端檔案傳到裝置上

透過 SSH 複製 .ovpn 檔案:

scp -P 22 root@203.0.113.10:/root/phone.ovpn .

把它匯入 OpenVPN Connect 應用、Linux 的 NetworkManager 或您的路由器。這個檔案裡有該用戶端的私鑰,要像密碼一樣對待:不要用郵件傳送,也不要放在共享資料夾裡。

4. 確認可以用了

在伺服器上:

systemctl list-units --type=service | grep -i openvpn
journalctl -u 'openvpn*' --since "10 min ago"

在用戶端連線後查一下您的公用 IP,應該顯示的是伺服器的位址。

新增和撤銷裝置

再執行一次指令碼:

sudo ./openvpn-install.sh

它會讓您選擇新增新用戶端、撤銷某個用戶端,或者徹底解除安裝 OpenVPN。每台裝置一個用戶端,這點小麻煩很值——筆電被偷時,您只撤銷那一個檔案,其他什麼都不用動。

實話實說的取捨

OpenVPN 比 WireGuard 更老也更重。它只在一個核心上加密,所以在 1 vCPU 的方案上,您跑不滿高速家庭頻寬。握手更慢,手機也更費電。如果您用不上 OpenVPN 特有的功能,那就改看我們的 WireGuard 指南——對大多數人,我們會推薦它。

OpenVPN 勝在相容性:在普通防火牆看來,TCP 443 跟平常的 HTTPS 流量沒什麼兩樣,而且很多裝置開箱就支援 OpenVPN。

關於個人 VPN 的更多背景,見 VPN 使用場景頁面;IPv4/IPv6 在我們各方案上的工作方式,見網路文件。

常見問題

OpenVPN 還是 WireGuard?

WireGuard 更快、更簡單,CPU 佔用也更少——預設選它。如果需要在遮蔽 UDP 的網路裡走 443 埠的 TCP,或者裝置、公司政策只支援 OpenVPN,再選 OpenVPN。

NAT 方案能跑 OpenVPN 嗎?

不能。用戶端需要從外部透過 UDP 1194 或 TCP 443 連線伺服器,而 NAT 方案只轉發您的專屬 SSH 埠。請使用獨立 IP 方案——個人 VPN 用每月 $8 的 Nano-IP 就夠了。

速度能有多快?

OpenVPN 只在一個 CPU 核心上加密,所以一個 vCPU 就是吞吐量的上限。瀏覽網頁、看影片、遠端辦公綽綽有餘;想跑滿高速家庭頻寬的話,WireGuard 明顯更強。

怎麼新增或刪除裝置?

再執行一次指令碼。它會讓您選擇新增用戶端(產生新的 .ovpn 檔案)或撤銷已有用戶端。給每台裝置單獨一個用戶端,這樣丟了手機只切斷它,不影響其他裝置。

支援 IPv6 嗎?

支援。獨立 IP 方案同時提供 IPv4 和 IPv6,只要伺服器有 IPv6 位址,指令碼就能讓 IPv6 也走通道。

評論

目前還沒有評論。歡迎成為第一位。

發表評論

評論在顯示前會經過審核。