赞
踩
亲测基于下面的命令安装两次都成功安装,只要将下面的代码依次复制到命令行中回车运行就行,目前按照的仅供学习交流使用,生产环境请谨慎使用,做好数据加密处理,话不多说直接安排上执行命令
- # 更新软件包列表,检查可用的软件包更新
- sudo apt update
- # 执行这个命令会自动下载和安装OpenVPN。
- sudo apt install openvpn
- # 证书管理工具
- sudo apt install easy-rsa
- # 切换目录
- cd /usr/share/easy-rsa
- # 初始化,程序将自动创建pki目录,所有生成的文件将存储在该目录中
- sudo ./easyrsa init-pki
- # 清理原有证书和私钥并初始化,可选择性使用不执行该条指令
- sudo ./easyrsa clean-all
- # 生成自签名的根 CA 证书,用于对 PKI 中的其他证书进行签名
- # 备注:这里使用nopass参数设置不需要密码,那么在启动OpenVPN服务的时候就不提示输入密码。
- sudo ./easyrsa build-ca nopass
- # 生成Diffie-Hellman算法需要的密钥文件,等待一段时间即可生成成功
- sudo ./easyrsa gen-dh
-
- # 为OpenVPN服务端生成证书和私钥,文件名称:server
- 方法一:
- sudo ./easyrsa build-server-full server nopass
- 方法二:
- sudo ./easyrsa gen-req server nopass ##为服务器证书生成证书签名请求CSR,用于保护服务器的连接。nopass 选项创建一个没有密码的私钥,以方便使用。
- sudo ./easyrsa sign-req server server ##使用 CA 证书签名服务器 CSR,并创建服务器证书。
-
- # 为OpenVPN客户端证书和私钥:文件名称:user1
- 方法一:
- sudo ./easyrsa build-client-full user1 nopass
- 方法二:
- sudo ./easyrsa gen-req user1 nopass ##为客户端证书生成证书签名请求CSR,用于保护客户端的连接。nopass 选项创建一个没有密码的私钥,以方便使用。
- sudo ./easyrsa sign-req user1 client ##使用CA 证书签名客户端 CSR,并创建客户端证书。
- # 记住这两个文件: /usr/share/easy-rsa/pki/issued/user1.crt 和 /usr/share/easy-rsa/pki/private/user1.key
-
-
- # 将这些零散的文件集中聚合到 openvpn 目录
- sudo cp /usr/share/easy-rsa/pki/private/server.key /etc/openvpn/ # 服务端私钥
- sudo cp /usr/share/easy-rsa/pki/issued/server.crt /etc/openvpn/ # 服务端证书
- sudo cp /usr/share/easy-rsa/pki/private/user1.key /etc/openvpn/ # 客户端私钥
- sudo cp /usr/share/easy-rsa/pki/issued/user1.crt /etc/openvpn/ # 客户端证书
- sudo cp /usr/share/easy-rsa/pki/dh.pem /etc/openvpn/
- sudo cp /usr/share/easy-rsa/pki/ca.crt /etc/openvpn/
-
- # 编辑服务端配置文件
- sudo nano /etc/openvpn/server.conf
server.conf文件内容如下:
- # OpenVPN 服务器配置文件
-
- # 指定服务器的协议和端口
- proto udp
- port 1194 # 为了安全可以考虑修改一下端口号
-
- # 使用 dev tun 作为路由 IP 隧道,或者使用 dev tap 作为以太网隧道
- dev tun
-
- # 证书和密钥配置
- ca /etc/openvpn/ca.crt # CA 证书路径
- cert /etc/openvpn/server.crt # 服务器证书路径
- key /etc/openvpn/server.key # 服务器私钥路径
- dh /etc/openvpn/dh.pem # Diffie-Hellman 参数文件路径
-
- # 启用证书撤销列表 (CRL) 检查(开启可能导致vpn无法连接)
- # crl-verify /etc/openvpn/crl.pem
-
- # OpenVPN 服务器的网络地址,这些地址将会被分配给客户端
- server 10.255.0.0 255.255.255.0
-
- # 推送 DNS 解析器给客户端
- push "dhcp-option DNS 208.67.222.222"
- push "dhcp-option DNS 208.67.220.220"
-
- # 允许客户端相互通信
- client-to-client
-
- # 配置服务器将所有流量通过 OpenVPN 路由
- push "redirect-gateway def1 bypass-dhcp"
-
- # 在 VPN 连接上启用压缩
- comp-lzo
-
- # 使用合理的加密算法(根据需要调整)
- cipher AES-256-CBC
-
- # 使用 HMAC 认证以提高安全性
- auth SHA256
-
- # 设置最大同时连接的客户端数
- max-clients 10
-
- # 设置日志文件路径
- status /var/log/openvpn-status.log
- log /var/log/openvpn.log
- verb 3
-
- # 指定访问的路由,例如 10.1.1.0/24,推送给用户
- push "route 10.1.1.0 255.255.255.0"
客户端配置
以Windows11系统为例,下载开源版的OpenVPN客户端,https://openvpn.net/community-downloads/ ,并进行安装。
创建ovpn文件
user1.ovpn文件内容
- # OpenVPN 客户端配置文件
- # 指定使用 OpenVPN 客户端模式
- client
- # 使用 tun 设备作为 IP 隧道
- dev tun
- # 使用 UDP 协议
- proto udp
- # 远程服务器的 IP 地址和端口号,也可以是域名。
- remote 112.36.56.74 1194
- # 禁止绑定到特定的本地端口
- nobind
- # 保持私钥的持久性
- persist-key
- # 保持 IP 隧道的持久性
- persist-tun
- # 指定证书颁发机构 (CA) 的证书路径
- ca ca.crt
- # 指定客户端证书的路径
- cert user1.crt
- # 指定客户端私钥的路径
- key user1.key
- # 启用数据压缩
- comp-lzo
- # 指定客户端路由,例如 10.1.1.0/24
- route 10.1.1.0 255.255.255.0
- # 看情况添加
- remote-cert-tls server
将user1.ovpn文件放入到C:\Users\\OpenVPN\config
将服务器上如下地址的文件也下载下来,并且放入上面win10系统的目录中:
- /etc/openvpn/user1.crt
- /etc/openvpn/user1.key
- /etc/openvpn/ca.crt
连接openvpn
打开OpenVPN GUI,左下角托盘,右键连接,成功。
到此连接完成
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。