配置云服务器VPN
今日成果
测试物理机和连通小鸟服务器的公网地址ping xxx.44.249.xxx,可以连通
更新了小鸟云服务器系统包
在小鸟云安装了EPEL仓库
在小鸟云安装了openVPN
遇到的困难
用easy-rsa生成密钥和证书时遇到困难
使用ls -l /usr/share/命令查看EasyRSA-3.0.8.tgz文件存在
发现是文件名问题命令为ls -ld EasyRSA-3.0.8/
移动目录成功,这里注意目录名称sudo mv EasyRSA-3.0.8 /etc/openvpn/
目录中已经存在easyrsa文件,为什么不是EasyRSA-3.0.8?
准备生成密钥和ca证书啦
sudo ./easyrsa build-ca
通用名称(Common Name,简称 CN)
CA创建完成,您现在可以导入并签署证书请求。
您要发布的新CA证书文件位于:
/etc/openvpn/pki/ca.crt
签署服务器证书
生成密钥交换参数
成功把缺少文件复制到正确目录下
好的,接下来我将提供使用OpenVPN的easy-rsa
脚本来生成密钥和证书的具体步骤。请确保你已经安装了OpenVPN,并且已经更新了系统包和EPEL仓库。
1. 下载 easy-rsa 脚本
首先,你需要下载easy-rsa
脚本。通常,OpenVPN的安装包会附带easy-rsa
。你可以在/usr/share/easy-rsa/
目录下找到它,或者从OpenVPN的官方源代码中获取最新的版本。
bash
cd /usr/share/ sudo wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.8/EasyRSA-3.0.8.tgz sudo tar xzf EasyRSA-3.0.8.tgz sudo mv easy-rsa/ /etc/openvpn/
2. 初始化 PKI 目录
在/etc/openvpn/
目录下初始化PKI目录,这是存放密钥和证书的地方。
bash
cd /etc/openvpn/ sudo ./easyrsa init-pki
3. 生成 CA 证书
生成一个CA(证书颁发机构)证书,这将用于签署服务器和客户端的证书。
bash
sudo ./easyrsa build-ca
这个命令会提示你输入一些信息,比如组织名称、常用名称(通常是服务器的主机名或域名)、城市、州和国家。这些信息将被包含在CA证书中。
4. 生成服务器证书和密钥
接下来,生成服务器的证书和密钥。
bash
sudo ./easyrsa gen-req server nopass
这里的server
是你将要生成的证书的名称,nopass
表示不使用密码保护私钥。
5. 签署服务器证书
使用CA证书签署服务器证书。
bash
sudo ./easyrsa sign-req server server
6. 生成 Diffie-Hellman密钥交换参数
生成DH(Diffie-Hellman)密钥交换参数。
bash
sudo ./easyrsa gen-dh
7. 查看生成的文件
现在你应该在/etc/openvpn/pki/
目录下看到以下文件:
ca.crt
:CA证书。server.crt
:服务器证书。server.key
:服务器私钥。dh.pem
:DH参数文件。
8. 配置 OpenVPN 使用这些文件
编辑你的OpenVPN服务器配置文件/etc/openvpn/server.conf
,确保包含以下行,指向正确的文件路径:
conf
ca /etc/openvpn/pki/ca.crt cert /etc/openvpn/pki/server.crt key /etc/openvpn/pki/server.key dh /etc/openvpn/pki/dh.pem
9. 启动 OpenVPN 服务
配置完成后,启动OpenVPN服务。
bash
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
10. 配置防火墙规则
如果你的服务器使用firewalld
作为防火墙,确保开放VPN端口。
bash
sudo firewall-cmd --permanent --add-port=1194/udp sudo firewall-cmd --reload
11. 测试 VPN 连接
现在,你可以使用生成的证书和密钥来配置客户端,并尝试连接到VPN服务器。
请注意,这些步骤提供了一个基本的密钥和证书生成流程。根据你的具体需求,可能需要进一步的配置和调整。