HCRM博客

如何在CentOS 7上配置OpenVPN服务器?

一、更新系统

确保你的系统是最新的,打开终端并运行以下命令:

sudo yum update y

二、安装EPEL源并安装OpenVPN和EasyRSA

如何在CentOS 7上配置OpenVPN服务器?-图1
(图片来源网络,侵权删除)

EPEL(Extra Packages for Enterprise Linux)源提供了许多额外的软件包,安装EPEL源和OpenVPN:

sudo yum install epelrelease y
sudo yum install openvpn easyrsa y

三、初始化EasyRSA环境

创建OpenVPN的目录,并将EasyRSA文件复制到指定位置:

mkdir p ~/openvpnca
cp r /usr/share/easyrsa/3/* ~/openvpnca/
cd ~/openvpnca

然后初始化EasyRSA环境:

./easyrsa initpki

四、生成CA和服务器证书

完成初始化后,生成CA证书和服务器证书:

./easyrsa buildca
./easyrsa buildserverfull server nopass

生成DiffieHellman参数:

./easyrsa gendh

五、生成客户端证书

为每个客户端生成一个唯一的证书和密钥,例如client1:

如何在CentOS 7上配置OpenVPN服务器?-图2
(图片来源网络,侵权删除)
./easyrsa buildclientfull client1 nopass

六、复制证书和密钥到OpenVPN配置目录

将生成的证书和密钥文件复制到OpenVPN配置目录中:

mkdir p /etc/openvpn/server
sudo cp pki/ca.crt pki/issued/server.crt pki/private/server.key pki/dh.pem /etc/openvpn/server

对于客户端证书,可以复制到/etc/openvpn/clients/或其他合适的位置:

mkdir p ~/clientconfigs/keys
cp pki/ca.crt pki/issued/client1.crt pki/private/client1.key ~/clientconfigs/keys/

七、生成ta.key文件

sudo openvpn genkey secret /etc/openvpn/server/ta.key

八、配置OpenVPN服务器

复制默认的配置文件并进行修改:

sudo cp /usr/share/doc/openvpn*/sample/sampleconfigfiles/server.conf /etc/openvpn/server/server.conf

编辑/etc/openvpn/server/server.conf,修改以下关键参数:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
开启客户端之间的通信
clienttoclient
启用NAT
push "redirectgateway def1 bypassdhcp"
push "dhcpoption DNS 208.67.222.222"
push "dhcpoption DNS 208.67.220.220"
duplicatecn
keepalive 10 120
tlscrypt ta.key
cipher AES256GCM
auth SHA256
persistkey
persisttun
status /var/log/openvpn/openvpnstatus.log
verb 3
explicitexitnotify 1

如果路径不存在,请创建日志目录:

如何在CentOS 7上配置OpenVPN服务器?-图3
(图片来源网络,侵权删除)
sudo mkdir p /var/log/openvpn/

九、配置防火墙

确保防火墙允许OpenVPN流量:

sudo systemctl enable firewalld
sudo systemctl start firewalld
sudo firewallcmd zone=public addservice=openvpn permanent
sudo firewallcmd zone=public addmasquerade permanent
sudo firewallcmd reload

检查NAT转发是否成功启用:

sudo firewallcmd zone=public querymasquerade

如果返回yes,则NAT转发已成功启用。

十、启动OpenVPN服务

在CentOS 7及以上版本,OpenVPN可能会使用openvpnserver@服务单元:

sudo systemctl start openvpnserver@server
sudo systemctl enable openvpnserver@server

检查服务状态:

sudo systemctl status openvpnserver@server

检查系统日志:

sudo journalctl xe

你也可以手动运行OpenVPN来直接查看错误信息:

sudo openvpn config /etc/openvpn/server/server.conf

OpenVPN客户端配置示例

创建一个名为client1.ovpn的客户端配置文件:

client
dev tun
proto udp
remote YOUR_SERVER_IP 1194
resolvretry infinite
nobind
persistkey
persisttun
remotecerttls server
complzo
verb 3
<ca>root>crt>pki/ca.crt</ca>root>crt>pki/ca.crt<cert>root>crt>pki/issued/client1.crt</cert>root>crt>pki/issued/client1.crt<key>root>crt>pki/private/client1.key</key>root>crt>pki/private/client1.key<tlscrypt>root>crt>pki/ta.key</tlscrypt>root>crt>pki/ta.key<nscerttype>root>crt>server</nscerttype>root>crt>server

将此文件保存到客户端计算机上的适当位置,并使用OpenVPN客户端连接到服务器。

通过以上步骤,你应该能够在CentOS 7上成功安装和配置OpenVPN服务器,并能够从客户端进行连接,如果在过程中遇到任何问题,可以参考下面的FAQ部分。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/18249.html

分享:
扫描分享到社交APP
上一篇
下一篇