OpenVPN是虚拟专用服务器(vps)上安装的虚拟专用网络(VPN)软件。VPN利用vps提供的网络,而无需通过SSH或RDP会话连接。您可以将设备连接到VPN服务器,并使用该网络来掩盖您的本地网络。
OpenVPN要求
您将需要root或管理员访问服务器。您可以在linux,Windows VPS或专用服务器上安装OpenVPN。以下是安装OpenVPN的步骤。请注意,您需要使用命令行界面来执行此操作。
OpenVPN准备
第1步: 更新您的系统。
1 | Sudo yum update |
第2步: 编辑selinux配置文件
1 | nano /etc/selinux/config |
第三步: 将selinux设置为禁用
1 | SELINUX=disabled |
- Ctrl + X.
- 按Y键
- 按ENTER键

第4步: 编辑sysctl.conf文件
1 | nano /etc/sysctl.conf |
步骤5: 将以下行添加到sysctl.conf文件中以启用 IP转发
1 | net.ipv4.ip\_forward = 1 |
Ctrl + X.
按Y键
按ENTER键

步骤6: 应用变化
1 | sysctl -p |
安装OpenVPN.
**步骤1:**安装OpenVPN服务器
1 2 | dnf install epel-release -y dnf install openvpn -y |
设置证书颁发机构
第1步: 下载Easy-RSA,用于管理SSL证书
1 2 3 4 | cd /etc/openvpn wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.6/EasyRSA-unix-v3.0.6.tgz tar -xvzf EasyRSA-unix-v3.0.6.tgz mv EasyRSA-v3.0.6 easy-rsa |
第2步: 设置证书颁发机构
1 2 | cd /etc/openvpn/easy-rsa nano vars |
第三步: 添加以下内容并更换任何内容 \ 使用您的VPS主机名(它看起来像HWSRV- \。另外,更换 使用您的电子邮件”set_var easyrsa_req_email”系列:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | set_var EASYRSA "$PWD" set_var EASYRSA_PKI "$EASYRSA/pki" set_var EASYRSA_DN "cn_only" set_var EASYRSA_REQ_COUNTRY "USA" set_var EASYRSA_REQ_PROVINCE "Seatle" set_var EASYRSA_REQ_CITY "Seatle" set_var EASYRSA_REQ_ORG "<HOSTNAME> CERTIFICATE AUTHORITY" set_var EASYRSA_REQ_EMAIL "<yourEmail@hostwinds.com>" set_var EASYRSA_REQ_OU "<HOSTNAME> EASY CA" set_var EASYRSA_KEY_SIZE 2048 set_var EASYRSA_ALGO rsa set_var EASYRSA_CA_EXPIRE 7500 set_var EASYRSA_CERT_EXPIRE 365 set_var EASYRSA_NS_SUPPORT "no" set_var EASYRSA_NS_COMMENT "<HOSTNAME> CERTIFICATE AUTHORITY" set_var EASYRSA_EXT_DIR "$EASYRSA/x509-types" set_var EASYRSA_SSL_CONF "$EASYRSA/openssl-easyrsa.cnf" set_var EASYRSA_DIGEST "sha256" |
第4步: 启动PKI目录
1 | ./easyrsa init-pki |
步骤5: 建立CA证书
1 | ./easyrsa build-ca |
它会要求您提供密码。请注意外部密码并将其输入到提示符中。 将来将在将来的步骤中需要此密码。
还将要求您输入常见名称。您可以按Enter键使用默认值或输入您选择的自定义常见名称。
然后命令将生成名为的两个文件 ca.key 和 ca.crt。这些证书将用于签署服务器和客户端证书。
步骤6: 生成服务器证书文件。 用服务器主机名替换\。看起来像”hwsrv-
1 | ./easyrsa gen-req <HOSTNAME> nopass |
这也将询问一个共同的名字。您可以输入您的意愿。您可以使用的某些名称将是您的用户,主机或服务器名称。或者,您只需按”Enter”以使用默认值。
步骤7: 使用CA签署服务器密钥。 用服务器主机名替换\。它看起来像”hwsrv-
1 | ./easyrsa sign-req server <HOSTNAME> |
键入”是”,然后按Enter键
此外,您需要提供密码短语。使用您创建的密码短语 第5步
步骤8: 使用以下命令验证生成的证书文件。 用服务器主机名替换\。它看起来像”hwsrv-:
1 | openssl verify -CAfile pki/ca.crt pki/issued/<HOSTNAME>.crt |
它应该看起来像这样:
1 | pki/issued/<HOSTNAME>.crt: OK |
步骤9: 为密钥交换生成强大的Diffie-Hellman密钥:
1 | ./easyrsa gen-dh |
步骤10:**将证书文件复制到/ etc / openvpn / server / server **替换服务器主机名。它看起来像”hwsrv-
1 2 3 4 | cp pki/ca.crt /etc/openvpn/server/ cp pki/dh.pem /etc/openvpn/server/ cp pki/private/<HOSTNAME>.key /etc/openvpn/server/ cp pki/issued/<HOSTNAME>.crt /etc/openvpn/server/ |
步骤11: 构建客户端密钥文件:
1 | ./easyrsa gen-req client nopass |
按ENTER或输入您选择的常用名称。
步骤12: 使用CA证书签署客户端密钥:
1 | ./easyrsa sign-req client client |
输入单词,”是”,然后按Enter确认
输入您注明的密码短语 第5步
步骤13: 将所有客户端证书和密钥文件复制到/ etc / OpenVPN /客户端/目录
1 2 3 | cp pki/ca.crt /etc/openvpn/client/ cp pki/issued/client.crt /etc/openvpn/client/ cp pki/private/client.key /etc/openvpn/client/ |
配置OpenVPN服务器
第1步:在/ etc / OpenVPN /客户端/目录/文件路径中创建一个新的OpenVPN配置文件
1 | nano /etc/openvpn/server/server.conf |
在文本编辑器中添加以下内容并使用服务器主机名替换标记为\的任何标记。它看起来像”hwsrv- \
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | port 1194 proto udp dev tun ca /etc/openvpn/server/ca.crt cert /etc/openvpn/server/<HOSTNAME>.crt key /etc/openvpn/server/<HOSTNAME>.key dh /etc/openvpn/server/dh.pem server 10.8.0.0 255.255.255.0 push "redirect-gateway def1" push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220" duplicate-cn cipher AES-256-CBC tls-version-min 1.2 tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256 auth SHA512 auth-nocache keepalive 20 60 persist-key persist-tun compress lz4 daemon user nobody group nobody log-append /var/log/openvpn.log verb 3 |
现在执行以下操作以保存您的文件:
- Ctrl + X.
- 按Y键
- 按ENTER键
第2步: 启动OpenVPN服务器
1 2 3 | systemctl start openvpn-server@server systemctl enable openvpn-server@server systemctl status openvpn-server@server |
第三步: 生成客户端配置文件。需要从客户端系统连接到OpenVPN服务器。
1 | nano /etc/openvpn/client/client.ovpn |
插入以下并更换 \ 使用您的服务器专用主IPv4地址
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | client dev tun proto udp remote <Server IP> 1194 ca ca.crt cert client.crt key client.key cipher AES-256-CBC auth SHA512 auth-nocache tls-version-min 1.2 tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256 resolv-retry infinite compress lz4 nobind persist-key persist-tun mute-replay-warnings verb 3 |
现在执行以下操作以保存您的文件:
- Ctrl + X.
- 按Y键
- 按ENTER键
使用防火墙配置OpenVPN路由
第1步: 将OpenVPN服务和TUN0接口添加到受信任的防火墙区域:
1 2 3 | firewall-cmd --permanent --add-service=openvpn firewall-cmd --permanent --zone=trusted --add-service=openvpn firewall-cmd --permanent --zone=trusted --add-interface=tun0 |
第2步: 在默认区域添加伪装:
1 2 | firewall-cmd --add-masquerade firewall-cmd --permanent --add-masquerade |
第三步: 运行以下命令以掩盖来自VPN的Internet流量。代替 \ 使用您的服务器主机名。它看起来像是,”hwsrv \。在这种情况下,你不需要在”hwsrv”和”之间的破折号”
1 2 | <HOSTNAME>ovpn=$(ip route get 8.8.8.8 | awk 'NR==1 {print $(NF-2)}') firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 10.8.0.0/24 -o $hwsrv702659ovpn -j MASQUERADE |
第4步: 实施更改:
1 | firewall-cmd --reload |
下载OVPN文件
第1步: 您需要将OVPN目录下载到本地计算机。你可以用几种不同的方式做到这一点。您需要下载的文件路径是/ etc / OpenVPN /客户端目录。
打开本地计算机的终端并键入以下内容。确保您替换 \ 使用您的服务器专用IPv4:
1 | scp -r root@**\<SERVER IP>**:/etc/openvpn/client . |
设置本地OpenVPN客户端
第1步: 安装OpenVPN客户端。如果您有Windows机器,可以在此安装它: https://openvpn.net/client-connect-vpn-for-windows/
第2步: 使用下载的文件”client.ovpn”导入OpenVPN配置文件

第三步: 为您的个人资料提供一个名称或将其保留为默认值。导入OVPN文件后单击”添加”。

第4步: 连接到VPN以开始使用网络!

步骤5: 您应该连接到您的VPN。您的界面应该如下所示:

第6步:祝贺! 你们都完成了!您可以从中验证您的公共IP地址 https://whatismyipaddress.com/ 要确保您使用VPS网络。