在当今数字化办公日益普及的背景下,企业或个人用户对远程访问内网资源的需求越来越强烈,OpenVPN 是一款开源、跨平台且功能强大的虚拟私人网络(VPN)解决方案,能够通过加密隧道安全地连接远程客户端与本地网络,本文将带你一步步搭建 OpenVPN 服务,适用于 Linux 服务器(以 Ubuntu 20.04 为例),帮助你实现安全、稳定、可扩展的远程访问能力。

第一步:准备环境
确保你有一台运行 Linux 的服务器(如阿里云 ECS、腾讯云 CVM 或自建物理机),并具备公网 IP 地址,登录服务器后,更新系统包列表:

sudo apt update && sudo apt upgrade -y

安装 OpenVPN 及相关工具:

sudo apt install openvpn easy-rsa -y

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

第二步:配置 PKI(公钥基础设施)
进入 Easy-RSA 目录并初始化证书颁发机构(CA):

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

编辑 vars 文件,设置你的组织信息(如国家、省份、公司名等),

export KEY_COUNTRY="CN"
export KEY_PROVINCE="Beijing"
export KEY_CITY="Beijing"
export KEY_ORG="MyCompany"
export KEY_EMAIL="admin@mycompany.com"

执行以下命令生成 CA 证书和私钥:

./clean-all
./build-ca

接下来生成服务器证书和密钥:

./build-key-server server

为客户端生成证书(可多台设备使用同一证书或每台单独生成):

./build-key client1

生成 Diffie-Hellman 参数(增强加密强度):

./build-dh

将生成的文件复制到 OpenVPN 配置目录:

cp keys/{ca.crt,server.crt,server.key,dh2048.pem} /etc/openvpn/

第三步:创建服务器配置文件
新建 /etc/openvpn/server.conf如下:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

该配置启用 UDP 协议、分配子网 10.8.0.0/24 给客户端,并推送 DNS 和路由策略,使客户端流量自动走 VPN。

第四步:启用 IP 转发与防火墙规则
开启内核 IP 转发:

echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl -p

配置 iptables 规则(假设 eth0 是外网接口):

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -i eth0 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT

保存规则(Ubuntu 20.04 使用 ufw):

ufw allow 1194/udp
ufw enable

第五步:启动 OpenVPN 服务

systemctl start openvpn@server
systemctl enable openvpn@server

第六步:客户端配置
将 CA 证书、客户端证书、私钥打包成 .ovpn 文件,

client
dev tun
proto udp
remote your-server-ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3

将此文件导入 OpenVPN 客户端(Windows/macOS/Linux 均支持),即可连接。

至此,你已成功搭建一个基于 OpenVPN 的安全远程访问通道,它不仅可用于家庭办公,也可为企业分支机构提供可靠接入方案,记得定期更新证书、监控日志、加强访问控制,确保网络安全!

手把手教你搭建 OpenVPN 服务,从零开始实现安全远程访问  第1张

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