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
上一篇
下一篇