在当今数字化办公日益普及的背景下,企业或个人用户对远程访问内网资源的需求越来越强烈,OpenVPN 是一款开源、跨平台且功能强大的虚拟私人网络(VPN)解决方案,支持多种加密协议和认证方式,广泛应用于家庭网络、中小企业及大型组织的远程接入场景中,本文将详细介绍如何从零开始搭建一个稳定、安全的 OpenVPN 服务,帮助你实现安全可靠的远程访问。

准备工作
在开始搭建前,请确保你拥有以下条件:

  1. 一台运行 Linux 的服务器(如 Ubuntu 20.04/22.04 或 CentOS 7/8),建议使用云服务商(如阿里云、腾讯云、AWS)提供的 VPS;
  2. 一个公网 IP 地址(用于客户端连接);
  3. 熟悉基本的 Linux 命令行操作;
  4. 了解基础的网络知识(如端口转发、防火墙配置)。

安装与配置 OpenVPN
以 Ubuntu 20.04 为例,首先更新系统并安装 OpenVPN 及 Easy-RSA 工具包(用于证书管理):

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

初始化 PKI(公钥基础设施)环境:

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"
export KEY_CN="server"
export KEY_NAME="server"
export KEY_ALTNAMES="server.mycompany.com"
export KEY_OU="OpenVPN"

执行以下命令生成 CA 证书和服务器证书:

./clean-all
./build-ca    # 生成 CA 根证书
./build-key-server server   # 生成服务器证书
./build-dh    # 生成 Diffie-Hellman 参数

配置 OpenVPN 服务端
复制必要的文件到 OpenVPN 配置目录:

cp /etc/openvpn/easy-rsa/keys/{ca.crt,server.crt,server.key,ca.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

启用 IP 转发与防火墙规则
编辑 /etc/sysctl.conf,取消注释以下行以启用 IP 转发:

net.ipv4.ip_forward=1

应用配置:

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 -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -d 10.8.0.0/24 -j ACCEPT

启动服务并测试
启动 OpenVPN 服务:

systemctl enable openvpn@server
systemctl start openvpn@server

现在你可以为每个客户端生成证书(使用 ./build-key client1),并将客户端配置文件(.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 Access Server 或结合 LDAP 认证;
  • 建议使用非标准端口(如 1194)并配合防火墙策略限制访问源IP。

通过以上步骤,你已经成功搭建了一个基于 OpenVPN 的安全远程访问服务,它不仅能满足日常办公需求,还能作为企业分支机构互联的基础架构,掌握这项技能,是每一位网络工程师必备的核心能力之一。

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

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