1、安装相关软件包
opkg update
opkg install openvpn-openssl openvpn-easy-rsa luci-app-openvpn luci-i18n-openvpn-zh-cn
以下为wireguard vpn所需包
kmod-wireguard luci-proto-wireguard wireguard-tools
2、重启路由器
3、生成证书与秘钥
在 /etc/openvpn/
目录下执行:
cd /etc/openvpn/
# 初始化 PKI 环境
easyrsa init-pki
# 创建无密码 CA
easyrsa build-ca nopass
# 生成服务器证书
easyrsa gen-req server nopass
easyrsa sign-req server server
# 生成 Diffie-Hellman 参数(2048 位)
root@OpenWrt:/etc/openvpn# cp /etc/easy-rsa/vars .
mv /etc/openvpn/vars /etc/openvpn/pki/
easyrsa gen-dh
#由于路由器性能低,生成过程太长,可以在有openssl的机器上生成后在拷贝到路由器
# 生成客户端证书(示例名 client1)
easyrsa gen-req client1 nopass
easyrsa sign-req client client1
# 生成客户端证书(示例名 client2)
easyrsa gen-req client2 nopass
easyrsa sign-req client client2
# 生成 TLS 认证密钥
openvpn --genkey secret /etc/openvpn/pki/ta.key
openssl dhparam -out dh2048.pem 2048
然后将dh2048.pem复制到路由器的/etc/openvpn/pki/dh.pem
(注意,在easy-rsa中默认文件名是dh.pem)。
在路由器上操作:
将生成的dh2048.pem上传到路由器的
/etc/openvpn/pki/dh.pem
。确保文件权限正确(建议0600):
chmod 600 /etc/openvpn/pki/dh.pem
4、创建防火墙区域
5、防火墙放开11194端口
6、openvpn server实例创建
启动服务
# 启用并启动服务
/etc/init.d/openvpn enable
/etc/init.d/openvpn start
# 查看日志
tail -f /var/log/openvpn.log
grep openvpn /var/log/syslog
7、客户端配置
导出客户端文件:
将以下文件提供给客户端设备:ca.crt
→ CA 证书client1.crt
→ 客户端证书client1.key
→ 客户端私钥ta.key
→ TLS 密钥
创建客户端配置文件(
client.ovpn
)
client
dev tun
proto udp
remote your_server_ip 1194 # 替换为服务器公网 IP 或域名
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