如何使用 OpenVPN 逐步設定 VPN
OpenVPN 透過 TLS 1.2/1.3、AEAD 和 tls-crypt 提供強大的安全性。
AES-GCM 和 ChaCha20 之間的選擇取決於 硬件 和性能。
具有 Easy-RSA 和每個用戶端原則的 PKI 允許控制和撤銷。
DNS/IPv6 洩漏測試和路由調整確保無意外使用。
如果您正在尋找一種可靠的方法來保護您的連接或從任何地方訪問您的網絡, OpenVPN 是最安全、用途最廣泛的協定之一 您可以在家中或公司中實施。本指南將幫助您從頭開始:它是什麼,您需要什麼,如何在 Linux, Windows 和路由器,以及如何連接不同系統上的客戶端。
除了簡單的開關之外, 您將學習如何設定現代加密、避免典型故障、測試 DNS/IPv6 洩漏以及最佳化效能。。包括 TUN 和 TAP 模式、tls-crypt 與 tls-auth、存取伺服器使用、在 Omada 和 ASUS 上的部署,以及 技巧 CG-NAT、路由和防火牆的金鑰。
什麼是 VPN 以及為什麼使用 OpenVPN?
一 VPN 在您的裝置和伺服器之間建立加密隧道,以便 您的真實 IP 被隱藏,您的資料傳輸受到保護這允許安全的遠端工作、存取內部資源以及負責任地規避地理封鎖。
另一方面,OpenVPN 是免費軟體,也是經過廣泛審核的協議, 適用於 Windows、macOS、GNU/Linux, iOS y Android以及許多路由器它基於 SSL/TLS,支援數位憑證以及透過使用者名稱和密碼進行附加身份驗證。
使用VPN的優點和缺點
您會發現最明顯的好處包括隱私和安全: 流量被加密,追蹤被最小化,您可以更安心地瀏覽。它還支援對內部網路的安全遠端訪問,這在專業環境中至關重要。
此外,許多人利用 VPN 來 存取其他國家或實施阻止的網路上可用的內容,始終尊重各平台的法律和服務條款。
不太友善的一面是, 速度可能會受到加密和資料包反彈的影響。,尤其是在免費服務中,或在沒有加速的硬體上演算法選擇不當的情況下。 應用程序 以避免惡意軟體。
OpenVPN效能:速度、延遲和穩定性
透過適當的設置, OpenVPN 提供穩定的速度、良好的延遲和高穩定性。一般來說,與 TCP 相比,使用 UDP 可以減少開銷,並且在大多數情況下速度更快。
韋瓦第是什麼?用途、特色、意見、價格在沒有 AES-NI(硬體加速)的電腦上, ChaCha20-Poly1305 通常比 AES-GCM 表現更好如果您的 CPU 確實加速了 AES,請嘗試兩者來決定;有時 AES-GCM 在吞吐量方面勝出。
在家中或工作中設定 OpenVPN 的目的是什麼?
設定自己的伺服器可以讓您即使在公共 Wi-Fi 上也能安全瀏覽, 像在家一樣上網並存取內部服務 例如檔案、印表機、IP 攝影機或 NAS 伺服器。
當然,你需要你的連線有一個公共IP或解決方案 避免使用 CG-NAT(運營商級 NAT),因為如果沒有開放端口,您將無法接收傳入連接。。具有良好上傳速度(例如 30 Mbps 或更高)的連線可大幅改善體驗。
TUN 和 TAP 模式:我該選擇哪一種?
OpenVPN 可以在第 3 層(TUN)或第 2 層(TAP)工作。 TUN 建立點對點 IP 隧道,是最常見的模式 以較少的開銷路由單獨的子網路。
TAP 模式作為乙太網路橋接器工作, 封裝 L2 幀,如果需要端點位於同一子網,則很有用,但當子網路重疊時,它會增加更多的流量和潛在的衝突。
推薦的加密和 TLS 版本
對於證書,目前非常常見的是使用 EC(橢圓曲線)和 secp521r1 和 SHA-512 作為哈希,只要客戶端和伺服器相容且是最新的。
在控制通道(TLS)上, 最小化到 TLS 1.2 並啟用 TLS 1.3(如果可用) 使用類似 TLS_AES_256_GCM_SHA384 或 TLS_CHACHA20_POLY1305_SHA256 的套件。必須存在 PFS over ECDHE。
對於數據通道, AES-256-GCM 或 CHACHA20-POLY1305 是可靠的選擇兩者都是 AEAD,因此無需單獨驗證。避免使用 BF-CBC 等傳統密碼。
加強第一階段談判 TLS加密 (或適用時使用 tls-crypt-v2)以減輕 DoS 攻擊並隱藏初始封包元資料。 tls-auth 提供舊版支持,但 tls-crypt 提供 HMAC 通道加密。
基本準備
開始之前: 檢查你的公網IP,打開 路由器 並確保您沒有落後於 CG-NAT如果您沒有固定的 IP 位址,請考慮使用 DDNS 將網域與您的動態 IP 位址關聯。
在 Linux 伺服器上,為 PKI 準備 Easy-RSA 3 和 保持 OpenVPN 和加密庫更新. 在 Windows 上,OpenVPN GUI 安裝 驅動程序 TAP並提供設定範例。
使用 Tor 和 ChatGPT:瀏覽隱私的逐步指南使用 Easy-RSA 3 在 GNU/Linux(Debian/Ubuntu)上安裝和設定
使用 APT 安裝軟體包: sudo apt 更新 && sudo apt 安裝 openvpn。然後下載 Easy-RSA 3,解壓縮,並使用所需的 EC、曲線和哈希參數配置 vars 檔案。
有用的例子: set_var EASYRSA_ALGO ec; set_var EASYRSA_CURVE secp521r1; set_var EASYRSA_DIGEST 'sha512'。如果您希望將 DN 簡化為通用名稱,請使用 cn_only 模式。
使用以下方式初始化 PKI ./easyrsa 初始化 pki,使用以下方式建立您的憑證授權單位 ./easyrsa 構建-ca (強烈建議使用 CA 私鑰的密碼)並為伺服器和每個用戶端產生請求和金鑰 ./easyrsa gen-req 名稱.
使用以下方式簽署伺服器證書 ./easyrsa sign-req 伺服器伺服器名稱 以及那些擁有 ./easyrsa sign-req 客戶端 客戶端名稱。然後,使用 openvpn –genkey –secret ta.key 用於 tls-crypt。
整理資料夾以免迷路: 伺服器(ca.crt、server.crt、server.key、ta.key) 每個客戶端都有一個 crt、key、ca 和 ta.key。
OpenVPN 伺服器設定範例(Linux)
設定連接埠和協定(建議使用UDP), 選擇 dev tun,定義密碼和 tls-ciphersuites、ECDH 曲線和最低 TLS 版本。它還設定虛擬子網路、您將推送的 DNS 以及守護程式上的使用者權限。
伺服器框架(根據您的環境進行調整): 使用客戶端支援的本地路由、DNS 和加密。請記住,使用 AEAD 加密您不需要單獨的身份驗證。
port 1194
proto udp
dev tun
ca ca.crt
cert servidor.crt
key servidor.key
dh none
# HMAC y ocultación del canal inicial
tls-crypt ta.key
# Cifrado y TLS (comprobar compatibilidad)
cipher AES-256-GCM
tls-ciphersuites TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
tls-version-min 1.2
ecdh-curve secp521r1
reneg-sec 0
# Topología y red virtual
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
# Rutas y DNS para clientes
push 'route 192.168.1.0 255.255.255.0'
push 'redirect-gateway def1'
push 'dhcp-option DNS 208.67.222.222'
push 'dhcp-option DNS 208.67.220.220'
client-to-client
keepalive 10 120
max-clients 100
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
explicit-exit-notify 1
從...開始 sudo openvpn 伺服器.conf 並等待“初始化序列完成”訊息。如果沒有,請檢查檔案路徑和密碼相容性。
客戶端設定(Linux/Windows/macOS)
為每個客戶端建立一個與伺服器具有相同加密和 TLS 設定的設定檔。 主要區別在於「客戶端」指令、帶有 IP 或網域的「遠端」指令及其身分文件.
client
dev tun
proto udp
remote ejemplo.dyndns.org 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert cliente1.crt
key cliente1.key
remote-cert-tls server
cipher AES-256-GCM
# Para TLS 1.3 si aplica
tls-ciphersuites TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
# HMAC/ocultación
tls-crypt ta.key
verb 3
在 Windows 上,將 .ovpn 和憑證放在 OpenVPN GUI 資料夾中(預設位於「C:\\Users\\YourUser\\OpenVPN\\config」), 從通知區域圖示連接在 macOS 上,使用 OpenVPN Connect 或相容的用戶端。
完整指南:如何在 Windows 11 中逐步啟用和使用金鑰網路上的路由和 NAT
為了使遠端 LAN 上的電腦可以透過 VPN 訪問, 您的路由器可能需要靜態路由 指向 10.8.0.0/24 子網,以 OpenVPN 伺服器為網關。
如果您希望透過 VPN 路由所有用戶端流量, 使用“push redirect-gateway def1”並提供 DNS 可靠。透過調整客戶端解析器和防火牆來防止 DNS 洩漏。
在 Linux 上使用 OpenVPN 存取伺服器
OpenVPN Access Server 透過 Web 控制台簡化管理: 您安裝軟體包,造訪 https://IP:943/admin,接受條款並啟動服務。您可以為每個系統建立使用者、下載設定檔和用戶端。
免費版本有一些限制(例如, 兩個同時連接) 和進階選項,如自動登入設定檔或停用壓縮(如果壓縮導致問題)。
Windows、macOS、Linux、Android 和 iOS 用戶端
在 Windows 和 macOS 上,您可以使用 OpenVPN Connect 或社群 GUI; 導入 .ovpn 設定檔並進行身份驗證。在 Linux 上,安裝 openvpn 包,將設定檔放在「/etc/openvpn」中並啟動服務。
在 Android 和 iOS 上,OpenVPN Connect 應用程式允許 透過伺服器 URL 或上傳 .ovpn 導入設定檔。確保輸入正確的連接埠、使用者名稱以及(如果適用)密碼或 2FA。
路由器和控制器上的設定:ASUS 和 Omada
許多華碩路由器內建 OpenVPN 伺服器: 在路由器的網站上啟用它,選擇端口,創建用戶,並導出.ovpn. 最適合與公共 WAN IP 和更新的韌體配合使用。
在 Omada 環境中,您可以設定用戶端到網站的 VPN 策略: 將 OpenVPN 定義為伺服器、連接埠、完整或分割隧道、DNS 和用戶. 為客戶端匯出 .ovpn 設定檔。
艾薩克對字節世界和一般技術充滿熱情的作家。我喜歡透過寫作分享我的知識,這就是我在這個部落格中要做的,向您展示有關小工具、軟體、硬體、技術趨勢等的所有最有趣的事情。我的目標是幫助您以簡單有趣的方式暢遊數位世界。