在当今远程办公和跨地域协作日益普及的背景下,虚拟私人网络(VPN)已成为保障数据安全、实现私有网络访问的重要工具,对于熟悉Linux系统的网络工程师而言,使用开源软件搭建一个稳定、安全且可定制的VPN服务,是提升企业或个人网络安全性的高效方案,本文将详细介绍如何在Linux系统(以Ubuntu 22.04为例)上部署并配置OpenVPN服务,涵盖服务器端安装、证书生成、防火墙配置及客户端连接等关键步骤。
确保你的Linux服务器已更新至最新版本,并拥有root权限,通过终端执行以下命令安装OpenVPN及相关依赖:
sudo apt update && sudo apt install openvpn easy-rsa -y
Easy-RSA是用于生成PKI(公钥基础设施)证书的工具,是OpenVPN身份认证的核心组件,复制Easy-RSA模板到OpenVPN配置目录:
sudo cp -r /usr/share/easy-rsa/ /etc/openvpn/ sudo chown -R root:root /etc/openvpn/easy-rsa/
进入Easy-RSA目录后,编辑vars文件设置证书参数(如国家、组织名称等),
export KEY_COUNTRY="CN" export KEY_PROVINCE="Beijing" export KEY_CITY="Beijing" export KEY_ORG="MyCompany" export KEY_EMAIL="admin@example.com"
然后初始化PKI环境并生成根证书(CA):
cd /etc/openvpn/easy-rsa/ ./easyrsa init-pki ./easyrsa build-ca
接着生成服务器证书和密钥对:
./easyrsa gen-req server nopass ./easyrsa sign-req server server
同时为客户端生成证书(每个客户端都需要单独证书):
./easyrsa gen-req client1 nopass ./easyrsa sign-req client client1
完成证书制作后,将相关文件复制到OpenVPN配置目录:
sudo cp pki/ca.crt pki/private/server.key pki/issued/server.crt /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,可能需要添加tls-crypt以增强安全性,这可通过生成ta.key并添加tls-crypt ta.key行实现。
启动OpenVPN服务并设置开机自启:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
需开放UDP 1194端口(若使用防火墙如ufw):
sudo ufw allow 1194/udp
为客户端准备配置文件(如client1.ovpn),包含CA证书、客户端证书、密钥以及服务器地址等信息,用户只需导入该文件即可连接。
在Linux上搭建OpenVPN不仅成本低廉,而且灵活性强,特别适合技术团队或中小企业进行私有网络扩展,熟练掌握这一技能,有助于网络工程师构建更安全、可控的远程访问架构,后续可根据需求集成双因素认证(如Google Authenticator)、日志审计或结合Fail2Ban防止暴力破解,进一步提升安全性。

半仙加速器-海外加速器 | VPN加速器 | VPN翻墙加速器 | VPN梯子 | VPN外网加速






