作为一名网络工程师,我经常需要为公司或客户搭建安全可靠的远程访问通道,OpenVPN 是一个开源、灵活且功能强大的虚拟私人网络(VPN)解决方案,尤其适合运行在 Linux 服务器上的场景,本文将详细介绍如何在 Linux 系统中部署 OpenVPN,从而实现加密、安全的远程访问。
确保你有一台运行 Linux 的服务器(推荐使用 Ubuntu Server 或 CentOS Stream),并具备公网 IP 地址和基本的防火墙规则配置能力,我们需要分步骤完成以下工作:
第一步:安装 OpenVPN 和 Easy-RSA
Easy-RSA 是用于生成证书和密钥的工具,是 OpenVPN 安全通信的基础,在 Ubuntu 上执行以下命令:
sudo apt update sudo apt install openvpn easy-rsa -y
对于 CentOS 系统,则使用:
sudo yum install epel-release -y sudo yum install openvpn easy-rsa -y
第二步:初始化 PKI(公钥基础设施)
进入 Easy-RSA 目录后,我们创建证书颁发机构(CA)和服务器证书,以 Ubuntu 为例:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa sudo cp vars.example vars
编辑 vars 文件,设置你的组织信息(如国家、省份、组织名称等),然后执行:
sudo ./easyrsa init-pki sudo ./easyrsa build-ca nopass sudo ./easyrsa gen-req server nopass sudo ./easyrsa sign-req server server
这会生成 CA 根证书、服务器证书和私钥。
第三步:生成客户端证书与密钥
每个客户端都需要独立的证书和密钥,便于身份验证,为用户 "alice" 创建:
sudo ./easyrsa gen-req alice nopass sudo ./easyrsa sign-req client alice
第四步:配置 OpenVPN 服务端
创建 /etc/openvpn/server.conf 文件,内容如下:
port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server.crt
key /etc/openvpn/easy-rsa/pki/private/server.key
dh /etc/openvpn/easy-rsa/pki/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 /var/log/openvpn-status.log
verb 3
此配置启用 UDP 协议、隧道模式、自动分配 IP(10.8.0.0/24)、DNS 重定向以及压缩优化。
第五步:启动并测试服务
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
确认服务状态:
sudo systemctl status openvpn@server
第六步:分发客户端配置文件
客户端需要一个 .ovpn 文件,包含服务器地址、证书、密钥和连接参数,示例:
client
dev tun
proto udp
remote your-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert alice.crt
key alice.key
comp-lzo
verb 3
确保防火墙开放 UDP 1194 端口,并建议结合 fail2ban 或其他日志监控机制提升安全性。
通过以上步骤,你可以在 Linux 上成功部署 OpenVPN,为远程办公、跨地域访问提供高效加密通道,定期更新证书、加强认证策略和监控日志是保障长期安全的关键,作为网络工程师,我们不仅要“让网络通”,更要“让网络稳、安全”。

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









