OpenVPN在CentOS上的安装与配置指南
OpenVPN是一个开源的虚拟专用网(VPN)解决方案,它允许用户通过公共互联网创建一个安全的连接,本文将详细介绍如何在CentOS上安装和配置OpenVPN服务器,并包括一些常见问题的解答,以下是详细内容:
一、准备工作
1、系统要求:确保你的CentOS系统版本为7或更高,并且具备sudo权限的用户。
2、域名注册:你需要一个域名来解析到你的服务器IP地址,可以通过DigitalOcean控制面板添加DNS记录。
3、防火墙设置:关闭防火墙或者配置必要的规则以允许OpenVPN流量。
4、SELinux配置:临时或永久关闭SELinux以避免潜在的冲突。
二、安装OpenVPN
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、创建根证书:
./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已正确配置,如果使用的是基于证书的身份验证,请确保所有证书都已正确签署并放置在指定位置。