在当今远程办公和分布式团队日益普及的背景下,为服务器搭建一个安全、稳定的虚拟私人网络(VPN)已成为企业IT基础设施的重要组成部分,无论是用于远程访问内网资源、保护数据传输安全,还是实现多分支机构互联,正确配置服务器上的VPN服务都至关重要,本文将详细介绍如何在Linux服务器上设置OpenVPN,涵盖环境准备、安装配置、防火墙规则、客户端连接以及安全性增强等关键步骤。
确保你的服务器运行的是主流Linux发行版(如Ubuntu或CentOS),并拥有公网IP地址,建议使用root权限或sudo权限进行操作,第一步是安装OpenVPN及相关工具,以Ubuntu为例,执行以下命令:
sudo apt update && sudo apt install openvpn easy-rsa -y
生成PKI(公钥基础设施)证书和密钥,Easy-RSA是一个用于管理SSL/TLS证书的工具,我们用它来创建CA(证书颁发机构)、服务器证书和客户端证书,运行以下命令初始化证书目录:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa sudo ./easyrsa init-pki sudo ./easyrsa build-ca nopass # 创建CA,不设置密码 sudo ./easyrsa gen-req server nopass # 生成服务器证书请求 sudo ./easyrsa sign-req server server # 签署服务器证书 sudo ./easyrsa gen-req client1 nopass # 为客户端生成证书请求 sudo ./easyrsa sign-req client client1 # 签署客户端证书
完成证书生成后,复制必要的文件到OpenVPN配置目录:
sudo cp pki/ca.crt pki/issued/server.crt pki/private/server.key /etc/openvpn/
然后创建服务器主配置文件 /etc/openvpn/server.conf如下:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
启动OpenVPN服务并设置开机自启:
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
你需要在服务器防火墙中开放UDP端口1194,若使用UFW,执行:
sudo ufw allow 1194/udp
如果服务器位于NAT之后(例如云服务商的VPS),还需在路由器或云平台中做端口转发。
为客户端准备配置文件,将服务器的ca.crt、client1.crt和client1.key合并成一个.ovpn文件,并上传至客户端设备(Windows、macOS、Android或iOS均可),用户只需导入该文件即可连接到服务器。
为了提升安全性,建议启用TLS认证、定期轮换证书、禁用默认端口、限制客户端IP范围,并结合fail2ban防止暴力破解,可考虑使用WireGuard替代OpenVPN,因其性能更优、配置更简洁,适合现代高并发场景。
通过上述步骤,你可以成功在服务器上部署一个功能完备、安全可靠的VPN服务,满足远程接入与数据加密的核心需求,持续监控日志、更新软件版本和加强访问控制,是保障长期稳定运行的关键。

VPN加速器|半仙VPN加速器-免费VPN梯子首选半仙VPN

