证书密钥文件生成
环境准备
- 安装OpenVPN以及所需工具
opkg update
opkg install luci-app-openvpn
opkg install openvpn-openssl
opkg install openvpn-easy-rsa服务端证书生成
1. 初始化PKI目录
cd /etc/openvpneasyrsa init-pki2. 生成根证书(CA)
easyrsa build-ca nopass3. 生成服务端证书及私钥
easyrsa build-server-full server nopass4. 生成客户端证书及私钥
easyrsa build-client-full client1 nopass后续新增用户只需修改client1为不同名称(如client2、client3)
5.生成Diffie-Hellman参数
此过程耗时较长(约10-30分钟)
easyrsa gen-dh6. 证书文件位置说明
├── pki/
│ ├── ca.crt # CA根证书
│ ├── dh.pem # DH参数文件
│ ├── issued/
│ │ ├── server.crt # 服务端证书
│ │ └── client1.crt # 客户端证书
│ └── private/
│ ├── server.key # 服务端私钥
│ └── client1.key # 客户端私钥客户端配置文件生成
在shell执行
cat > client1.ovpn <<EOF
client
dev tun
proto udp
remote <服务器地址> 1194
resolv-retry infinite
nobind
persist-tun
remote-cert-tls server
verb 3
comp-lzo yes
# 嵌入证书内容
<ca>
$(cat /etc/openvpn/pki/ca.crt)
</ca>
<cert>
$(cat /etc/openvpn/pki/issued/client1.crt)
</cert>
<key>
$(cat /etc/openvpn/pki/private/client1.key)
</key>
EOF目录下可以看到一个client1.ovpn文件,这个就是客户端用来连接的文件,导出到本地进行妥善保存。
OpenWRT配置
OpenVPN配置
选择一个模板新建一个配置,点击右边编辑进入配置

左上角切换到高级配置设置界面,切换到配置分类-VPN页面
在左下角的--更多选项--选择并添加一个push选项,用来配置推送内网网段的路由

再添加一个client-to-client选项,并且勾上,表示允许vpn客户端之间互相访问

最后切换到加密算法页面,按照上面生成的文件选择好

防火墙配置
防火墙-常规设置-区域 新添加一个区域 配置放行区域和转发


到这里配置基本完成,可以用客户端进行连接测试了
