[阿里云]搭建openvpn服务器

1.安装openvpn
sudo yum install epel-release -y
sudo yum install openvpn easy-rsa -y

cd ~
git clone https://github.com/OpenVPN/easy-rsa.git

克隆完成后,检查 easy-rsa 文件夹是否已包含 easyrsa3 目录:
2.
mkdir -p ~/openvpn-ca
cp -r ~/easy-rsa/easyrsa3/* ~/openvpn-ca/

cd ~/openvpn-ca
./easyrsa init-pki

拷贝vars.example为vars

——————
set_var EASYRSA_REQ_COUNTRY “CN”
set_var EASYRSA_REQ_PROVINCE “ShanDong”
set_var EASYRSA_REQ_CITY “JiNan”
set_var EASYRSA_REQ_ORG “MyOrganization”
set_var EASYRSA_REQ_EMAIL “yue37152633@163.com”
set_var EASYRSA_REQ_OU “MyOrganizationalUnit”
————————-

./easyrsa init-pki
./easyrsa build-ca

输入密码(新)
输入用户名(新)

3.生成服务器密钥和证书。
./easyrsa gen-req server nopass
输入服务器名称(新)
./easyrsa sign-req server server
输入上次设置的密码(旧)
./easyrsa gen-dh

4.生成客户端密钥和证书。 该客户端的名称为client1
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1

5.生成 HMAC 密钥(用于增强服务器安全)。
openvpn –genkey –secret ta.key

6.将证书、密钥文件复制到 OpenVPN 目录。
sudo cp pki/ca.crt pki/issued/server.crt pki/private/server.key pki/dh.pem ta.key /etc/openvpn/

7.配置 OpenVPN 服务器
复制 OpenVPN 的示例配置文件。
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/

如果没有sample-config-files/server.conf文件
———-更改为—————
git clone https://github.com/OpenVPN/openvpn.git

cd openvpn/sample-config-files
sudo cp server.conf /etc/openvpn/

sudo cp ~/openvpn-ca/pki/ca.crt /etc/openvpn/
sudo cp ~/openvpn-ca/pki/issued/server.crt /etc/openvpn/
sudo cp ~/openvpn-ca/pki/private/server.key /etc/openvpn/
sudo cp ~/openvpn-ca/pki/dh.pem /etc/openvpn/
sudo cp ~/openvpn-ca/ta.key /etc/openvpn/

8.编辑 /etc/openvpn/server.conf 文件,根据需求调整配置。
sudo nano /etc/openvpn/server.conf
将以下几行修改为生成的证书、密钥路径:
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem
tls-auth /etc/openvpn/ta.key 0
//
设置 VPN 子网地址(默认为 10.8.0.0/24,可以按需求更改):
server 10.8.0.0 255.255.255.0
//
启用客户端与服务端的互通及客户端之间的通信:
push “redirect-gateway def1 bypass-dhcp”
push “dhcp-option DNS 8.8.8.8”
保存并退出编辑器。

9. 重启 OpenVPN 服务器以应用更改

完成配置后,重启 OpenVPN 服务以确保更改生效:
sudo systemctl restart openvpn@server

10.验证配置

使用以下命令查看 OpenVPN 是否正常运行
sudo systemctl status openvpn@server

11.启用 IP 转发
编辑 /etc/sysctl.conf 文件,找到或添加以下行,启用 IP 转发:
net.ipv4.ip_forward = 1

应用该更改:
sudo sysctl -p

12.配置防火墙

在阿里云控制台 安全组 中允许 UDP 1194 端口流量。您还可以使用以下命令设置防火墙规则:
CentOS (firewalld)

sudo firewall-cmd –permanent –add-port=1194/udp
sudo firewall-cmd –permanent –add-masquerade
sudo firewall-cmd –reload

并且在阿里云安全组添加1194 UDP接口

13.启动 OpenVPN 服务器
sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server

14.创建客户端文件

client1.ovpn

————————
client
dev tun
proto udp
remote IP地址 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
#使用enx020c29a39b6d进行转发,不影响别的网卡
#route 10.8.0.0 255.255.255.0 enx020c29a39b6d
route-nopull
tls-auth ta.key 1
# OpenVPN 加密配置
#data-ciphers AES-256-GCM:AES-128-GCM
#data-ciphers-fallback AES-256-CBC
#data-ciphers-fallback BF-CBC
#comp-lzo no
#auth SHA256
verb 4


—–BEGIN CERTIFICATE—–
#写入CA文件
—–END CERTIFICATE—–


—–BEGIN CERTIFICATE—–
#写入CERT文件
—–END CERTIFICATE—–


—–BEGIN PRIVATE KEY—–
#写入KEY文件
—–END PRIVATE KEY—–


—–BEGIN OpenVPN Static key V1—–
#写入TLS文件
—–END OpenVPN Static key V1—–