HCRM博客

如何在CentOS上配置OpenVPN?

OpenVPN在CentOS上的安装与配置指南

OpenVPN是一个开源的虚拟专用网(VPN)解决方案,它允许用户通过公共互联网创建一个安全的连接,本文将详细介绍如何在CentOS上安装和配置OpenVPN服务器,并包括一些常见问题的解答,以下是详细内容:

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

一、准备工作

1、系统要求:确保你的CentOS系统版本为7或更高,并且具备sudo权限的用户。

2、域名注册:你需要一个域名来解析到你的服务器IP地址,可以通过DigitalOcean控制面板添加DNS记录。

3、防火墙设置关闭防火墙或者配置必要的规则以允许OpenVPN流量。

4、SELinux配置:临时或永久关闭SELinux以避免潜在的冲突。

二、安装OpenVPN

如何在CentOS上配置OpenVPN?-图2
(图片来源网络,侵权删除)

1、添加EPEL源

    wget O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel7.repo

2、安装OpenVPN

    yum install openvpn y

3、安装EasyRSA

    cd /opt/
    wget https://github.com/OpenVPN/easyrsa/releases/download/v3.0.7/EasyRSA3.0.7.tgz
    tar xf EasyRSA3.0.7.tgz
    mv EasyRSA3.0.7 easyRSA3.0.7
    cp r easyRSA3.0.7/ /etc/openvpn/easyrsa3
    cp /etc/openvpn/easyrsa3/vars.example /etc/openvpn/easyrsa3/vars

三、配置证书和密钥

1、初始化PKI目录

    cd /etc/openvpn/easyrsa3/
    ./easyrsa initpki

2、创建根证书

如何在CentOS上配置OpenVPN?-图3
(图片来源网络,侵权删除)
    ./easyrsa buildca nopass

3、创建服务器密钥和证书签名请求(CSR)

    ./easyrsa genreq server nopass

4、签署服务器证书

    ./easyrsa signreq server server

5、生成DiffieHellman参数文件

    ./easyrsa gendh

6、创建TLS认证密钥

    openvpn genkey secret /etc/openvpn/ta.key

四、配置OpenVPN服务器

1、复制证书和密钥到相应目录

    cp ca.crt dh.pem /etc/openvpn/
    cp private/server.key issued/server.crt /etc/openvpn/server/
    cp private/client.key issued/client.crt /etc/openvpn/client/

2、编辑服务器配置文件/etc/openvpn/server.conf):

    port 1194
    proto tcp
    dev tun
    ca ca.crt
    cert server.crt
    key server.key
    dh dh.pem
    server 10.8.0.0 255.255.255.0
    push "route 10.66.17.0 255.255.255.0"
    ifconfigpoolpersist ipp.txt
    keepalive 10 120
    maxclients 100
    status openvpnstatus.log
    verb 3
    clienttoclient
    log /var/log/openvpn.log
    persistkey
    persisttun
    tlsauth /etc/openvpn/ta.key 0
    duplicatecn
    scriptsecurity 3
    authuserpassverify /etc/openvpn/check.sh viaenv
    usernameascommonname
    clientconfigdir /etc/openvpn/ccd

3、启动OpenVPN服务

    systemctl start openvpn@server
    systemctl enable openvpn@server

五、配置OpenVPN客户端

1、拷贝证书和密钥到客户端机器

    cp /etc/openvpn/client/sampleconfigfiles/client.ovpn /path/to/client/config/directory/

2、编辑客户端配置文件client.ovpn):

    client
    dev tun
    proto udp
    remote your_server_ip 1194
    resolvretry infinite
    nobind
    user nobody
    group nobody
    persistkey
    persisttun
    ca ca.crt
    cert client.crt
    key client.key
    remotecerttls server
    tlscrypt ta.key 1
    verb 3

3、启动OpenVPN客户端

    openvpn config /path/to/client/config/directory/client.ovpn

六、常见问题解答(FAQs)

Q1: 如何更改OpenVPN服务器的端口数?

A1: 在服务器配置文件server.conf中修改port指令的值即可,将port 1194改为port 1234

Q2: OpenVPN连接失败时如何排查问题?

A2: 首先检查服务器和客户端的日志文件,服务器日志通常位于/var/log/openvpn.log,客户端日志则可以通过命令行参数verb设置为更高的级别来获取更多信息,确保防火墙规则允许OpenVPN使用的端口,并且SELinux已正确配置,如果使用的是基于证书的身份验证,请确保所有证书都已正确签署并放置在指定位置。

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