本指南将帮助你在Linksys OpenWRT路由器上设置OpenVPN。按照这些步骤,你就能通过VPN从世界任何地方安全连接到你的路由器。
如遇任何问题或需要进一步帮助,请参考OpenWRT论坛或OpenVPN文档。
- OpenWRT路由器: 确保你的路由器是运行OpenWRT的MBE70型号
- SSH 访问: 在路由器上启用 SSH 访问
- 检查NAT穿越情况: 如果你处于这种情况,还有一个额外的步骤需要执行。
1. 下载安装脚本
- 访问路由器: 使用SSH客户端连接到你的路由器。
嘘root@<router_ip>
- 下载脚本: 将设置脚本下载到你的路由器。
wget -O /tmp/setup_openvpn_server.sh <link_to_script>
注意:请检查 VPN_POOL 中使用的 IP 和VPN_DNS变量,是否与你的网络冲突。 上述脚本使用的是网络10.8.0.0/24。如果这个网络已经在使用中,无论是路由器端还是客户端,你都无法建立VPN连接。那你只需要编辑这些变量。
2. 将脚本可执行化
chmod +x /tmp/setup_openvpn_server.sh
3. 运行设置脚本
sh /tmp/setup_openvpn_server.sh
该脚本将:
- 安装必要的软件包(openvpn-openssl 和 openvpn-easy-rsa)。
- 生成密钥和证书。
- 配置OpenVPN服务器。
- 设置防火墙规则。
4. 传输客户端配置文件
运行脚本后,你需要将客户端配置文件传输到本地机器:
scp root@<router_ip>:/etc/openvpn/openvpn_client.ovpn /path/to/local/machine
5. 检查NAT遍历
你需要下载 check nat 脚本,在路由器上运行。它会告诉你是否处于NAT状态:
wget -O /tmp/check_nat.sh <link_to_script>
chmod +x /tmp/check_nat.sh
/tmp/check_nat.sh
脚本提供诊断。如果你得到下面的结果,说明你的路由器被 NAT 连接了:
设备很可能是NAT后面的。
如果你不处于这种情况,可以直接进入第6步。
如果你处于这种情况,需要遵循以下说明。注意,只有在没有静态公共IP的情况下,步骤5.a才是强制的。如果你确定自己有静态公共IP,可以直接进入第5.b步。
a. 建立动态DNS服务
有很多免费的动态DNS服务。你可以选择任何你想要的。为了举例,我们选择 https://www.dynu.com。你将被要求选择一个域名。假设我选择了“remote_me.ddnsfree.com”。
现在,你需要配置路由器将其地址推送到服务中。这样,如果你的IP发生变化,你就不用在 dynu.com, 上手动设置,路由器会自动帮你设置。
要做到这一点,连接你的路由器并选择“动态DNS”:

然后编辑你的my_ddns_IPv4服务或创建一个新的服务:

然后进入高级设置,按照以下方式配置:

如果不这样做,路由器会尝试共享其私有IP地址,但动态DNS服务会拒绝该IP地址。.
完成后,点击“保存并应用”,返回DynamicDNS页面。在那里你需要启动服务并点击“开始”:

b. 编辑OpenVPN文件
对于那些因为有静态IP而不需要动态DNS服务的用户,请取回你的静态IP。你可以问你最喜欢的搜索引擎,或者运行一个更简洁的命令:
curl ifconfig.me
既然我们知道了 IP,需要编辑描述连接的 opvn 文件。打开你之前取用的文件“openvpn_client.ovpn”,编辑第4行:
远程 192.168.1.22 1194
变为:(上述IP地址仅为示例):
删除my_own_chosen_ddns_name.my_ddns_service.com 1194
或者如果你知道你的静态公共IP:
远程 X.X.X.X 1194
好了,现在保存你的档案。你可以进入下一步。
c. 配置ISP路由器
这是最棘手的部分,也很大程度上取决于你的ISP,所以给出清晰的解释会很复杂。首先,你需要连接到执行NAT的路由器。要找到该路由器的IP,可以在你的OpenWRT路由器上按以下命令:
route
你会得到类似这样的内容:
Kernel IP路由表
你需要找默认网关。在上述情况下,默认网关是192.168.1.1。
现在,你需要连接到那个设备,找到路由/NAT设置。然后你需要配置来自外部的1194端口,将其传输到你的私有网络内的1194端口到你的OpenWRT设备。我的情况是这样的:

同样,这会因你的ISP而异。如果你能做到这一点,你终于可以进入第六步了!
如果你无法通过这一步,不要慌,可以再设置一次,请查看 “ZeroTier VPN的远程访问设置”。
6. 使用 OpenVPN 客户端连接
- 安装OpenVPN客户端: 从OpenVPN官方网站 下载并安装适用于你操作系统的OpenVPN客户端。
- 导入配置文件: 打开OpenVPN客户端,导入你转移的openvpn_client.ovpn文件到本地机器。
- 连接VPN: 选择导入的配置并点击“连接”。
7. 验证关联
连接后,确认你的IP地址是否更改,这样你就能访问网络中的内部资源。如果你没有编辑本文开头提供的OpenVPN_Remote.sh脚本,那么你可以尝试用以下IP地址SSH路由器:10.8.0.1
常见问题
- 连接被拒: 确保你的路由器防火墙允许OpenVPN端口的入站连接。
配置错误: 检查OpenVPN日志是否有配置错误sss:
logread -e openvpn
对于高级用户,你可以进一步定制OpenVPN配置。编辑位于 /etc/openvpn/openvpn_server.conf 的服务器配置文件,并进行必要的修改。
- 使用强密码: 确保所有密码都坚固且安全。
- 保持软件更新: 定期更新OpenWRT和已安装的软件包到最新版本。
- 监控日志: 定期检查OpenVPN和系统日志,寻找异常活动。

