Padavan 固件搭建 OpenVPN 服务端异地组网 实现远程访问局域网
前言
之前给大家介绍过非常多的异地组网方式,像是 ZeroTier、Tailscale、WireGuard,这些工具在新一些的设备上使用非常的便捷,安装起来很简单,性能也不错。
反之,这些新工具对于老设备来说可能就没有那么友好了,比如 Tailscale 在我的之前分享过的 JCG Q20 上使用,在跑满 50M 上传的时候有概率死机,需要重启才能恢复,而 Padavan 3.4 由于内核版本太老,也无法原生安装 WireGuard。
因此对于 MT7621 的老路由器来说,刷个 Padavan 固件,通过传统的 OpenVPN 组网也许是更好的选择。
服务端
基础设置
来到 Padavan 的 VPN 服务器设置中,启用 OpenVPN,下面的选项可以参照下图:
- 通信协议:建议选择 TCP,UDP 容易被运营商 QoS,根据自己的公网 IP 选择 IPv4 或者 IPv6,两者都用的那就选择 Both
- 加密算法:建议选择 chacha20,老路由器不支持 AES 加密,用 chacha20 速度更快些(当然,你也可以选择不用加密算法,直接选 none)
- 剩余选项保持默认即可
提示
不需要单独放行 1194 端口,路由器在 OpenVPN 启动时会自动放行

接着是具体的隧道设置,不了解的可以直接照抄我的设置。
- 分配子网:建议选择是(使用 路由 选择),相比 NAT 的方式,对于老路由器的压力更小
- 隧道网络:一般情况用默认网段即可,我这里由于和其他设备上的 WireGuard 网段冲突,修改成了 10.9.0.0
- 转发所有客户端流量:一般选择否,只有在访问局域网时,才通过 OpenVPN
- 客户端访问:建议选择完全访问权限,这样可以访问整个局域网(包括路由器本身)

生成证书
来到 OpenVPN 证书和密钥这里,生成一下证书,可以把 Days valid 从默认的 365 天改长一些。点击生成之后,页面可能会卡住,进不去路由器管理页面,不用担心,等证书创建完之后就会恢复正常。

客户端
对于客户端,网上有很多早期的教程会让你切换到其他的协议,添加上客户端用户名和密码后,再切换回 OpenVPN,然后再在 client.ovpn
中添加上 auth-user-pass
。
其实以上步骤是多余的,client.ovpn
文件中包含了证书和私钥,客户端连接本身就是免密的,这也是为什么 Padavan 固件切换到 OpenVPN 后添加客户端,就无法设置客户端密码了——因为不需要密码。
添加客户端账号时,只需要设置一下用户名与静态 IP 即可

然后将客户端的 client.ovpn
文件下载下来,将 remote 中的 IP 地址替换为 DDNS 域名,接着将这个文件导入客户端就可以直接连接了。

预览: