目录
前言
CentOS VPN Server 架设是很多用户都需要了解的技能之一。VPN可以帮助我们安全地访问互联网,保护隐私,突破地理限制等。本文将详细介绍如何在CentOS系统上搭建VPN服务器,供读者参考。
准备工作
在开始搭建CentOS VPN服务器之前,我们需要做好以下准备工作:
- 一台运行CentOS系统的服务器,建议使用最新版本的CentOS。
- 一个公网IP地址,用于访问VPN服务器。
- 一些基本的Linux操作知识,如命令行操作、文件编辑等。
安装VPN服务器软件
安装OpenVPN
OpenVPN是一款功能强大的开源VPN软件,广泛应用于各种操作系统。我们将使用OpenVPN来搭建CentOS VPN服务器。
首先,更新系统软件包:
bash yum update -y
然后安装OpenVPN:
bash yum install -y openvpn easy-rsa
生成证书和密钥
OpenVPN需要使用证书和密钥来进行身份验证和加密通信。我们可以使用easy-rsa工具来生成这些文件。
-
进入easy-rsa目录:
bash cd /usr/share/easy-rsa/
-
初始化PKI环境:
bash ./easyrsa init-pki
-
生成根证书颁发机构(CA)证书和密钥:
bash ./easyrsa build-ca nopass
-
生成服务器证书和密钥:
bash ./easyrsa build-server-full server nopass
-
生成客户端证书和密钥:
bash ./easyrsa build-client-full client1 nopass
这里的”client1″可以根据需要更改为其他名称,代表不同的客户端。
完成上述步骤后,easy-rsa目录下会生成相应的证书和密钥文件,我们将在后续的配置中使用它们。
配置VPN服务器
修改OpenVPN配置文件
OpenVPN的主配置文件位于/etc/openvpn/server.conf
。我们需要对其进行一些修改:
-
打开配置文件:
bash vi /etc/openvpn/server.conf
-
找到以下几行,并根据实际情况进行修改:
local 0.0.0.0 port 1194
proto udp
server 10.8.0.0 255.255.255.0
push “route 10.8.0.0 255.255.255.0”
ca /usr/share/easy-rsa/pki/ca.crt cert /usr/share/easy-rsa/pki/issued/server.crt key /usr/share/easy-rsa/pki/private/server.key
-
保存并退出配置文件。
启动OpenVPN服务
-
启动OpenVPN服务:
bash systemctl start openvpn@server
-
设置OpenVPN服务开机自启:
bash systemctl enable openvpn@server
至此,CentOS VPN服务器的基本配置已经完成。我们可以进行客户端连接测试了。
客户端连接VPN
Windows客户端
-
下载并安装OpenVPN客户端软件,可以从官网https://openvpn.net/community-downloads/下载。
-
将之前生成的客户端证书和密钥文件(
/usr/share/easy-rsa/pki/issued/client1.crt
和/usr/share/easy-rsa/pki/private/client1.key
)复制到OpenVPN客户端的config
目录下。 -
打开OpenVPN客户端软件,选择”Import”并导入服务器的CA证书(
/usr/share/easy-rsa/pki/ca.crt
)。 -
连接VPN服务器,输入用户名和密码(如果有)即可。
Mac客户端
-
下载并安装Tunnelblick,这是一款免费的OpenVPN客户端软件,可以从官网https://tunnelblick.net/downloads.html下载。
-
将之前生成的客户端证书和密钥文件(
/usr/share/easy-rsa/pki/issued/client1.crt
和/usr/share/easy-rsa/pki/private/client1.key
)复制到Tunnelblick的Configurations
目录下。 -
打开Tunnelblick,选择”Add Config”并导入服务器的CA证书(
/usr/share/easy-rsa/pki/ca.crt
)。 -
连接VPN服务器,输入用户名和密码(如果有)即可。
移动设备客户端
-
下载并安装OpenVPN Connect app,这是OpenVPN官方推出的移动客户端软件,可以从Google Play或App Store下载。
-
将之前生成的客户端证书和密钥文件(
/usr/share/easy-rsa/pki/issued/client1.crt
和/usr/share/easy-rsa/pki/private/client1.key
)导出为OVPN格式,并复制到手机上。 -
在OpenVPN Connect app中导入OVPN文件,选择连接即可。
FAQ
如何查看VPN连接状态?
可以使用以下命令查看OpenVPN服务的状态:
bash systemctl status openvpn@server
此外,也可以查看OpenVPN服务器的日志文件:
bash tail -n 20 /var/log/openvpn/openvpn.log
如何管理VPN用户?
OpenVPN支持多用户连接,我们可以通过添加新的客户端证书和密钥来实现。
-
生成新的客户端证书和密钥:
bash ./easyrsa build-client-full client2 nopass
-
将新生成的证书和密钥文件(
/usr/share/easy-rsa/pki/issued/client2.crt
和/usr/share/easy-rsa/pki/private/client2.key
)提供给客户端使用。
如何修改VPN服务器端口?
如果需要修改VPN服务器的监听端口,可以编辑/etc/openvpn/server.conf
文件,找到port
选项并修改为所需的端口号,然后重启OpenVPN服务即可。
如何提高VPN连接速度?
可以尝试以下方法来提高VPN连接速度:
- 使用UDP协议,而不是TCP协议。UDP通常具有更低的延迟和更高的吞吐量。
- 选择距离客户端较近的VPN服务器,以减少网络延迟。
- 在客户端和服务器上启用LZO压缩,可以减少数据传输量。
- 如果条件允许,可以考虑升级服务器硬件配置,如CPU、内存等。