使用 OpenVPN 直接在路由器上配置 VPN 这是保护整个家庭或企业网络最强大、最灵活的方式之一,无需在每台设备上安装应用程序。正确配置后,任何连接到 Wi-Fi 或通过网线连接的设备都将通过加密隧道访问互联网,就像它实际连接到另一个网络一样。
本指南收集、整理并扩展了来自 TP-Link、华硕、Omada 等厂商以及 OpenVPN 官方文档的技术信息,让您在一篇文章中即可获得所需的一切:它是什么? OpenVPN的使用它可以获得什么,失去什么,如何在路由器和服务器上设置它,如何从电脑和手机连接,以及如何解决最常见的错误。
什么是 OpenVPN?为什么要在路由器上使用它?
OpenVPN 是一种 开源 VPN 软件 它会在客户端(例如笔记本电脑、手机等)和服务器(例如路由器、Linux 服务器、NAS 等)之间创建一个加密的“隧道”。它基于 SSL/TLS 协议工作,允许使用数字证书、密钥、用户名和密码,以及各种现代加密算法。
与其他协议(例如 IPsec)相比,它的一大优势在于: 更容易设置此外,它几乎可以在任何操作系统上使用(Windows、macOS、GNU/Linux、Android、iOS、路由器、防火墙、NAS……)。
当您在路由器上安装并激活 OpenVPN 时, 路由器本身充当 VPN 服务器。 您的本地网络成为“安全侧”,远程设备(VPN客户端)通过互联网从您的家或办公室外部连接,整个过程始终加密。路由器充当VPN和您的局域网之间的网关。
结果是你可以 通过公共 WiFi 网络安全浏览网页您可以像在家一样访问您的内部资源(NAS、打印机、IP摄像头、SMB/FTP服务器……),还可以根据您的配置设置隐藏您的真实IP地址或绕过地理限制。
使用 VPN 和 OpenVPN 的优缺点
使用 OpenVPN 在路由器上设置 VPN 有 许多实际优势但在开始之前,您也应该了解一些缺点,以便选择合适的设备、网络服务提供商和安装方法。以下是具体内容:
- 能够更改或隐藏您的IP地址。
- 加密网络流量以防止被窥探(在开放 WiFi 环境下尤其有用)。
- 访问受国家/地区限制的内容。
- 浏览时可享受更高程度的匿名性。
在隐私部分, VPN可以防止任何人轻易看到你的隐私。 您访问的网站和连接位置不会被追踪,尽管您的互联网服务提供商始终能够获取一些信息。即便如此,通过嗅探器、不安全的接入点或共享网络追踪您也变得极其困难。
作为回报, 通过 VPN 服务器进行加密和路由会消耗资源。 它们通常还会降低网速和可用带宽,尤其是在路由器性能不足或使用免费服务的情况下。此外,一款好的杀毒软件仍然必不可少,下载软件时也应格外小心,因为VPN并不能保护您免受恶意软件的侵害。
他们的 长处 它们具有安全性、稳定性、广泛的自定义功能(第 2 层或第 3 层、TUN 或 TAP 隧道、无问题的动态 IP、NAT 兼容性……)以及对防火墙规则和启动脚本的强大控制能力,但这需要对其配置有很好的了解,尤其是在要自定义算法和证书的情况下。
前提条件和重要注意事项(CG-NAT、公网 IP 和动态 DNS)
在路由器上启用 OpenVPN 之前,您需要检查几项内容。 关键点:
- 如果您的路由器支持 OpenVPN 服务器。
- 请确保您的互联网连接具有公网 IP 地址。
- 如果您需要使用动态 DNS。
TP-Link、华硕或欧玛达等品牌的许多中高端路由器都已集成 OpenVPN 服务器,但并非所有型号都包含此功能,也并非所有固件版本都支持此功能。建议…… 请查看您型号的规格说明。 如有必要,请将固件更新至制造商提供的最新版本。
最关键的要求是 路由器的广域网 (WAN) 上有一个公网 IP 地址。如果您的网络服务提供商 (ISP) 使用 CG-NAT 并为您提供共享私有 IP 地址(常见于 4G/5G 连接或某些 ISP),您将无法将端口从互联网转发到您的路由器,因此 VPN 将无法从外部访问。在这种情况下,您需要向 ISP 申请静态或公共 IP 地址。
能够通过名称而不是数字 IP 地址找到路由器,这非常实用。 在路由器上启用动态 DNS 服务 (例如 NO-IP、DynDNS、厂商自有服务等)。这样您就可以连接到 mydomain.no-ip.org,而无需记住可能会更改的公网 IP 地址。
另外, 建议将路由器的系统时间与互联网时间正确同步。这是因为数字证书和TLS功能依赖于正确的日期和时间。日期和时间的不一致会导致异常的证书验证错误。

OpenVPN 的技术工作原理及其提供的模式(TUN/TAP、UDP/TCP)
OpenVPN 可以运行 在 TUN 或 TAP 模式下传输协议可以选择UDP或TCP。每种选择都会影响性能、兼容性以及客户端和服务器之间建立的网络类型。
- TUN 模式模拟点对点接口 它仅处理 IP 流量。它非常适合创建新的虚拟子网(例如 10.8.0.0/24),VPN 客户端就位于其中,与物理 LAN 隔离。这是最常用的远程访问模式,通常性能更佳。
- TAP 模式模拟二层以太网接口这涉及到直接封装以太网帧。这使得远程设备可以与局域网位于同一子网,当您希望 VPN 客户端对本地交换机而言如同“已连接”时非常有用,但如果网络范围重叠,则可能会导致问题,而且通常效率较低。
关于协议方面, 建议使用UDP协议而非TCP协议。 对于 VPN 隧道而言,TCP 是更佳选择,因为它避免了不必要的内部重传,并且能更好地抵御丢包和拒绝服务攻击。虽然 TCP 也可以使用,但它会引入更多开销并重复会话控制。
实际上,大多数推荐配置 他们使用基于 UDP 的 TUN,为 VPN 提供专用虚拟子网,并设置特定路由以访问 LAN 或强制所有互联网流量通过隧道。
OpenVPN中的加密、证书和高级安全功能
OpenVPN 的优势之一是它允许您相当精确地选择对称、非对称和哈希加密算法,以及 TLS 版本和各种额外的防止拒绝服务攻击的措施。
为 公钥基础设施(PKI)通常使用基于椭圆曲线 (EC) 的证书,而不是传统的 RSA 证书。例如,Easy-RSA 3 可以配置为使用 secp521r1 曲线生成 CA 证书、服务器证书和客户端证书,并使用 SHA512 对其进行签名,从而生成高度安全且相对轻量级的密钥。
在 控制通道(TLS协商)OpenVPN 至少支持 TLS 1.2,并且在最新版本中支持 TLS 1.3。建议使用具有完美前向保密性的强加密套件,例如 TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384 或更新的 TLS_AES_256_GCM_SHA384 和 TLS_CHACHA20_POLY1305_SHA256(适用于 TLS 1.3),始终使用 openvpn --show-tls 检查您的安装支持哪些加密套件。
为 数据通道(真实 VPN 流量)推荐使用 AES-256-GCM 或 AES-128-GCM 加密算法,它们集成了身份验证 (AEAD),无需单独的哈希运算。如果您的处理器不支持 AES-NI 加速,CHACHA20-POLY1305 加密算法通常性能更佳,并且从 OpenVPN 2.5 版本开始也受支持。
另一个重要的额外层是 使用额外的 HMAC 密钥 tls-crypt(或旧版本中的 tls-auth)可以保护连接的初始阶段免受 UDP 端口泛洪、SYN 攻击和扫描的侵害,并且在使用 tls-crypt 时还会隐藏预共享密钥本身。如果使用第一个版本,所有客户端必须共享同一个密钥;而使用 tls-crypt-v2,每个客户端都可以拥有不同的密钥。
使用 Easy-RSA 创建 PKI 和证书组织
如果你设置了一个 在 GNU/Linux 或类似系统上运行的“纯”OpenVPN服务器通常的做法是使用 Easy-RSA 3 创建自己的证书,调整 vars 文件来定义是使用 RSA 还是 EC、哈希值、曲线、CA 和证书的过期时间等等。
将 vars.example 复制到 vars 并进行编辑后,您可以选择 cn_only 模式来简化 DN,激活 EASYRSA_ALGO ec,选择 secp521r1 曲线,配置过期时间(例如,CA 为 10 年,证书为 1080 天),并将 EASYRSA_DIGEST 设置为 sha512。
文件准备就绪后,您可以使用 `./easyrsa init-pki` 命令初始化 PKI。您可以使用 ./easyrsa build-ca 创建 CA(私钥可以设置密码,也可以不设置),然后,您可以为服务器生成证书请求,并根据需要为客户端生成多个证书请求,然后分别对它们进行服务器或客户端签名。
此时强烈建议 整理文件 在干净的文件夹中:
- 服务器端需要提供以下文件(ca.crt、server.crt、server.key、ta.key,如果您不使用 ECDHE,则还可以选择提供 dh.pem)。
- 每个客户端对应一个(ca.crt、clientX.crt、clientX.key 和 ta.key)。
这样可以避免密钥和证书混淆。
除了证书之外,OpenVPN 还允许使用 额外的身份验证 通过用户名/密码,可以针对系统本身,也可以针对 RADIUS 服务器或其他数据库进行验证,从而加强对证书被盗的安全性。
在PC、移动设备和路由器上配置OpenVPN客户端
下一步是 配置远程客户端可以是 Windows 或 Linux 计算机、Android/iOS 手机、其他路由器,甚至是像 Omada 这样的控制器连接的设备。
在一个 经典桌面客户端client.ovpn 文件包含诸如 client、dev tun、proto udp、包含路由器公网 IP 或域名和所选端口的远程行、resolv-retry infinite、nobind 以及客户端自己的证书和密钥 ca.crt 的路径,以及 tls-crypt ta.key。
为了增强安全性, 客户端验证服务器 使用 `remote-cert-tls server` 时,请使用与服务器相同的加密算法和身份验证方式,并且最好使用相同的受支持 TLS 套件。加密算法和曲线必须匹配,这一点至关重要;否则,TLS 握手将会失败。
在安卓系统上,您可以使用官方的 OpenVPN 应用。 或者使用支持最新功能的更高级的第三方应用程序。通常情况下,只需将包含 ca.crt、cliente.crt、cliente.key、ta.key 和 .ovpn 文件的文件夹复制到手机内存,然后从应用程序内部导入该配置文件即可。
在 Windows 系统上,OpenVPN Community 客户端 通常情况下,您需要将 .ovpn 文件和证书复制到 C:\Program Files\OpenVPN\config 目录(或安装过程中指定的路径)。然后,右键单击系统托盘中的 OpenVPN 图标,选择配置文件,并连接。

在TP-Link路由器上配置OpenVPN
多款新一代TP-Link路由器都集成了OpenVPN服务器。 它拥有先进的网页界面,大大简化了操作,因为它会自动为客户端生成证书和 .ovpn 文件。
在一个简单的场景中, 网络上的单个路由器流程通常是:进入网页界面,转到“高级”>“VPN 服务器”>“OpenVPN”,勾选“启用 VPN 服务器”,如果是第一次,则点击“生成”创建内部证书。
接下来,做出选择。 服务类型 (UDP 或 TCP),服务端口定义在 1024 到 65535 之间,VPN 子网和掩码已配置,客户端访问类型已选择:仅限家庭网络(仅限 LAN 192.168.xx)或互联网和家庭网络(所有互联网流量都通过 VPN)。
后 保存配置并生成/更新证书点击“导出”按钮下载客户端将使用的 OpenVPN 配置文件。然后只需在您的电脑或移动设备上安装 OpenVPN 客户端,将导出的文件复制到 config 文件夹,然后连接即可。
当家庭拓扑结构中有两个或多个路由器时 (例如,一个 ISP 路由器,其后是一个 TP-Link 路由器),除了在第二个路由器上配置 OpenVPN 之外,您还必须在第一个路由器上创建一个端口转发(虚拟服务器),将外部端口指向第二个路由器的 LAN IP 地址,并将内部端口指向 OpenVPN 使用的相同端口。
在华硕路由器上配置 OpenVPN
MGI 搭载 ASUSWRT 固件的华硕路由器 它们还包括一个 OpenVPN 服务器,具有相当友好的图形界面,尽管在 3.0.0.4.388.xxxx 之前的固件版本和之后的固件版本之间,屏幕略有不同。
过程开始 访问路由器的图形用户界面 从 http://www.asusrouter.com 或您的 LAN IP,使用您的管理员用户名和密码登录,然后转到 VPN > VPN 服务器以激活 OpenVPN。
在一般设置中 服务器端口已定义 (例如,2000 或 1024 到 65535 之间的值),默认的 RSA 加密长度,以及客户端是否只能访问本地网络或也可以通过路由器访问互联网。
所有步骤完成后, client.ovpn 文件已导出 这是 OpenVPN 服务器部分的文件。该文件已包含必要的证书、密钥和参数。如果您之后更改了密钥或证书,则需要重新导出该文件并将其分发给客户端。
在 VPN 详细信息 > 高级设置部分 您可以手动编辑密钥和证书,调整 TLS 版本或算法等参数,并将配置调整到要求更高的环境,而无需触及固件。
在 Omada(TP-Link)中配置 OpenVPN 服务器并创建用户
在控制器管理的环境中 Omada 您可以为客户端到站点的访问定义 OpenVPN 服务器类型的 VPN 策略,这非常适合在单个面板中集中管理时使用。
从控制器访问 配置> VPN点击“添加”创建新策略并指定名称(例如“测试”),将其设置为“启用”,选择“客户端到站点用途”和“VPN 类型:VPN 服务器 - OpenVPN”。
在同一项政策中 您可以自行决定是使用分体式隧道还是全隧道。您可以选择“分离隧道”模式,仅允许内部网络流量通过 VPN;或者选择“全隧道”模式,所有互联网流量也通过服务器。您还可以选择协议(TCP/UDP)、服务端口(默认 1194)、身份验证模式(本地)、本地网络类型以及分配给客户端的 IP 地址范围。
然后 您可以在“设置”>“VPN”>“用户”中创建 VPN 用户。这包括分配账号和密码、选择 OpenVPN 协议,以及将用户连接到新创建的 VPN 服务器。之后,每个用户都将拥有自己的基本凭据。
最后,从策略列表中导出 .ovpn 文件。将文件复制到客户端(PC、笔记本电脑等),安装 OpenVPN Community 软件,将文件放入配置文件夹,然后连接。您可以在控制器上的“Insight”>“VPN 状态”中查看状态。
OpenVPN 最新更新及可用替代方案
OpenVPN 在每个版本中都在不断发展增加了安全性、性能和易用性方面的改进。最近的更改包括 tls-crypt-v2(用于分配客户端特定密钥并进一步缓解 DoS 攻击)、对 CHACHA20-POLY1305 的支持,以及改进了使用数据密码进行数据密码协商的方式。
与此同时, 已停止支持过时的密码算法 例如,默认配置中使用 BF-CBC,这促使管理员使用 AES-GCM 或 CHACHA20,而这些加密方式在实践中更加安全、速度更快。
在公司里,这种情况也很常见。 结合 OpenVPN 借助 Azure VPN 网关等云解决方案 或者使用集成了 IPsec 和其他协议的防火墙进行站点到站点连接,而在家庭环境中,配置良好的 OpenVPN 兼容路由器通常可以提供所需的一切。
所见即所得, 使用 OpenVPN 在路由器上配置 VPN 只要满足基本要求(公网 IP、兼容的路由器、一些耐心),并遵循清晰的结构,它就能从一个神秘的项目变成一个完全可控的项目:准备证书或使用路由器生成的证书,激活并调整服务器,导出客户端配置并冷静地进行测试,纠正常见错误;作为回报,您将获得一个更加安全、灵活的网络,既可用于远程办公,也可用于保护家中所有设备。

