步骤 1:确保路由器连接到互联网
在开始之前,确保你的 OpenWRT 设备已连接到互联网,因为我们需要安装一些软件包。
步骤 2:更新软件包列表
首先,登录到你的 OpenWRT 路由器管理界面(通常是 http://192.168.1.1
),然后打开 System -> Software 页面,点击 Update lists 按钮来更新软件包列表。
如果你更喜欢使用 SSH 来完成这些操作,你可以通过 SSH 连接到路由器并运行以下命令:
opkg update
步骤 3:安装 OpenVPN 软件包
接下来,安装 OpenVPN 服务器及相关软件包。你可以在 Web 管理界面的 Software 页面搜索并安装以下软件包,或者通过 SSH 安装它们。
通过 SSH 安装命令如下:
opkg install openvpn-openssl openvpn-easy-rsa luci-app-openvpn
openvpn-openssl
:OpenVPN 主程序,基于 OpenSSLopenvpn-easy-rsa
:用于生成证书的工具luci-app-openvpn
:OpenVPN 的 LuCI(Web 界面)配置界面
步骤 4:生成加密证书
使用 easy-rsa
工具生成所需的 CA 证书和密钥。
-
创建 Easy-RSA 环境:
easyrsa init-pki
-
创建 CA(证书颁发机构):
easyrsa build-ca nopass
-
生成服务器证书和密钥:
easyrsa gen-req server nopass
-
签署服务器证书:
easyrsa sign-req server server
-
生成 Diffie-Hellman 参数:
easyrsa gen-dh
-
生成客户端证书:
easyrsa gen-req client1 nopass easyrsa sign-req client client1
-
生成 HMAC 密钥(用于增加安全性):
openvpn --genkey --secret /etc/openvpn/ta.key
步骤 5:配置 OpenVPN 服务器
编辑 OpenVPN 服务器的配置文件,通常位于 /etc/openvpn/server.conf
。如果该文件不存在,你需要手动创建它。
一个典型的 OpenVPN 服务器配置文件示例如下:
根据自身情况,自行百度解决
步骤 6:配置防火墙
确保 OpenVPN 所需的端口(如 1194)已在防火墙中开放。你可以在 OpenWRT 的 Web 界面中进行设置:
- Network -> Firewall,创建一个新的 Traffic Rule。
- 允许 UDP 1194 端口的输入流量。
步骤 7:启动 OpenVPN 服务
完成所有配置后,启用并启动 OpenVPN 服务。你可以通过以下命令启动 OpenVPN:
/etc/init.d/openvpn enable /etc/init.d/openvpn start
步骤 8:配置客户端
将生成的 ca.crt
、client1.crt
、client1.key
和 ta.key
文件传输到你的客户端设备。创建一个新的 OpenVPN 客户端配置文件,例如:
client dev tun proto udp remote your_openwrt_ip 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client1.crt key client1.key tls-auth ta.key 1 cipher AES-256-CBC verb 3
将此配置文件导入到你的 OpenVPN 客户端中,并启动连接。
步骤 9:测试连接
使用 OpenVPN 客户端尝试连接到你的 OpenWRT VPN 服务器。如果一切设置正确,你应该能够成功连接到你的家庭网络。
如果你遇到任何问题,可以检查 OpenVPN 的日志文件 /tmp/openvpn-status.log
以查找错误。
完成
现在,你的 OpenWRT 路由器已经配置好了 OpenVPN 服务器,你可以安全地远程访问你的网络。