一、环境准备
1、更新系统:确保你的CentOS服务器是最新的版本,并安装了所有必要的软件包,执行以下命令来更新系统:
sudo yum update y
2、网络设置:确保你的服务器具有公网IP地址,并已正确配置防火墙和路由。
3、域名与DNS:注册一个域名,并在域名解析服务商(如DigitalOcean)处添加A记录,指向你的服务器IP地址。
二、安装与配置OpenVPN服务器
1、安装EPEL仓库:由于CentOS默认YUM源中不包含OpenVPN,因此需要安装EPEL(Extra Packages for Enterprise Linux)仓库:
sudo yum install epelrelease y
2、安装OpenVPN及相关依赖:执行以下命令以安装OpenVPN及其相关依赖包:
sudo yum install openvpn easyrsa y
3、生成并配置证书和密钥:OpenVPN使用TLS协议加密数据,因此需要生成服务器证书和密钥,执行以下命令启动EasyRSA脚本:
/usr/share/easyrsa/easyrsa initpki
然后按照提示输入相关信息以生成CA证书、服务器证书和DiffieHellman参数文件。
4、编辑OpenVPN配置文件:根据需要编辑OpenVPN的配置文件/etc/openvpn/server.conf
,
port 1194 proto udp dev tun ca /etc/pki/easyrsa/ca.crt cert /etc/pki/easyrsa/server.crt key /etc/pki/easyrsa/server.key dh /etc/pki/easyrsa/dh2048.pem server 10.8.0.0 255.255.255.0 ifconfigpool persist ipp.txt keepalive 10 120 cipher AES256CBC user nobody group nobody persistkey persisttun status openvpnstatus.log verb 3
5、启动OpenVPN服务:完成配置后,启动OpenVPN服务:
sudo systemctl start openvpn@server
为了确保OpenVPN服务在系统重启时自动启动,可以执行:
sudo systemctl enable openvpn@server
6、配置防火墙和转发:更新iptaBLes规则以允许VPN流量,并启用内核的IP转发:
echo 'net.ipv4.ip_forward = 1' | sudo tee a /etc/sysctl.conf sudo sysctl p sudo firewallcmd addservice=openvpn permanent sudo firewallcmd addmasquerade permanent sudo firewallcmd reload
三、客户端配置与连接
1、下载OpenVPN客户端:根据你的操作系统从[OpenVPN官方网站](https://openvpn.net/communitydownloads/)下载并安装OpenVPN客户端。
2、获取服务器配置文件:将服务器上的/etc/openvpn/client.conf
文件复制到你的本地计算机,如果服务器使用了身份验证,请一并复制证书和密钥文件。
3、导入证书和密钥:如果服务器进行了身份验证,请将证书和密钥文件复制到OpenVPN客户端能够访问的位置。
4、连接到VPN:使用OpenVPN客户端连接到VPN服务器,在Windows上,可以在网络适配器的属性中添加OpenVPN TAP适配器,并配置为使用从服务器下载的.ovpn文件,在Linux上,可以使用以下命令连接VPN:
sudo openvpn config /path/to/yourconfig.ovpn
四、常见问题解答(FAQs)
1、Q1: 如何更改VPN服务器的IP地址?
A1: 要更改VPN服务器的IP地址,请编辑OpenVPN服务器的配置文件(例如/etc/openvpn/server.conf
),将其中的remote
指令后的IP地址更改为新的IP地址,然后重新启动OpenVPN服务以使更改生效,确保客户端配置文件中的远程地址也指向新的IP地址。
2、Q2: 忘记预共享密钥怎么办?
A2: 如果忘记了预共享密钥,可以重新配置OpenVPN服务器以生成新的预共享密钥,删除或注释掉现有的预共享密钥条目,然后添加新的条目,之后,重新启动OpenVPN服务以使更改生效,这将导致使用旧预共享密钥的所有连接失效,直到它们更新其配置文件以使用新的预共享密钥,对于客户端来说,也需要更新其配置文件以使用新的预共享密钥。