Linux下搭建OpenVPN服务器,从零开始的完整指南

dfbn6 2026-04-13 VPN翻墙 5 0

在当今远程办公和网络安全日益重要的背景下,构建一个稳定、安全的虚拟私人网络(VPN)成为许多企业和个人用户的刚需,OpenVPN 是一款开源且功能强大的 VPN 解决方案,广泛应用于 Linux 系统中,本文将详细介绍如何在 Linux 服务器上从零开始搭建 OpenVPN 服务,涵盖环境准备、证书生成、配置文件设置以及客户端连接等关键步骤。

确保你有一台运行 Linux 的服务器(如 Ubuntu 20.04/22.04 或 CentOS 7/8),并具备 root 权限或 sudo 权限,我们以 Ubuntu 22.04 为例进行演示。

第一步:安装 OpenVPN 和 Easy-RSA 工具包
使用以下命令安装必要软件:

sudo apt update
sudo apt install openvpn easy-rsa -y

Easy-RSA 是用于生成 SSL/TLS 证书和密钥的工具,是 OpenVPN 安全通信的核心组件。

第二步:初始化 PKI(公钥基础设施)
创建证书颁发机构(CA)和服务器证书:

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa

编辑 vars 文件,设置你的国家、组织名称等信息(如 CN=YourCompany, C=CN, ST=Beijing, O=MyOrg),然后执行:

./easyrsa init-pki
./easyrsa build-ca nopass  # 生成 CA 证书,无需密码
./easyrsa gen-req server nopass  # 生成服务器证书请求
./easyrsa sign-req server server  # 签署服务器证书
./easyrsa gen-dh  # 生成 Diffie-Hellman 参数

第三步:配置 OpenVPN 服务端
复制生成的证书和密钥到 OpenVPN 目录,并创建主配置文件 /etc/openvpn/server.conf

cp pki/ca.crt pki/private/server.key pki/dh.pem /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

server 10.8.0.0 255.255.255.0 定义了内部分配的 IP 段,客户端将自动获得该网段中的地址。

第四步:启用 IP 转发和防火墙规则
修改 /etc/sysctl.conf 启用 IP 转发:

net.ipv4.ip_forward=1

执行 sysctl -p 生效,接着配置 iptables:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

若使用 UFW,则执行:

ufw allow 1194/udp
ufw enable

第五步:启动服务与测试

systemctl enable openvpn@server
systemctl start openvpn@server

为客户端生成证书(需重复 Easy-RSA 步骤),导出 .ovpn 配置文件,即可在 Windows、Mac 或移动设备上连接。

通过以上步骤,你已成功搭建一个基于 Linux 的 OpenVPN 服务器,具备企业级安全性与灵活性,可满足远程访问、数据加密和跨网络通信需求。

Linux下搭建OpenVPN服务器,从零开始的完整指南

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