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

dfbn6 2026-04-12 免费VPN 9 0

在当今数字化办公日益普及的背景下,企业或个人用户对远程访问内网资源的需求越来越强烈,OpenVPN 是一款开源、跨平台且功能强大的虚拟私人网络(VPN)解决方案,它通过加密隧道技术保障数据传输的安全性,广泛应用于远程办公、分支机构互联以及安全访问内部服务等场景,本文将带你从零开始,逐步搭建一个稳定、安全的 OpenVPN 服务,适用于 Linux 服务器环境(以 Ubuntu 20.04 为例)。

第一步:准备工作
确保你拥有一台运行 Ubuntu 20.04 或更高版本的 Linux 服务器,并具备 root 权限,你需要一个公网 IP 地址和域名(可选但推荐),以便客户端连接时更方便记忆,如果你使用的是云服务商(如阿里云、腾讯云、AWS 等),请提前开放 UDP 1194 端口(OpenVPN 默认端口),并配置好防火墙规则(ufw 或 iptables)。

第二步:安装 OpenVPN 和 Easy-RSA
登录服务器后,执行以下命令更新系统并安装所需软件包:

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

Easy-RSA 是用于生成证书和密钥的工具,是 OpenVPN 安全通信的基础,安装完成后,复制 Easy-RSA 的模板目录到 /etc/openvpn

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

第三步:配置 PKI(公钥基础设施)
编辑 vars 文件(位于 /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@example.com"
export KEY_OU="IT Department"

然后初始化 PKI 并生成 CA(证书颁发机构):

./clean-all
./build-ca

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

./build-key-server server

注意:此处会提示是否签发证书,输入 yes 即可,接下来生成客户端证书(每个客户端需单独生成):

./build-key client1

最后生成 Diffie-Hellman 参数(用于密钥交换):

./build-dh

第四步:配置 OpenVPN 服务
复制生成的证书和密钥到 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

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

net.ipv4.ip_forward=1

执行 sysctl -p 生效,然后配置 NAT 规则:

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

保存规则(若使用 ufw,可运行 ufw allow 1194/udp)。

第六步:启动服务与客户端配置
启动 OpenVPN 服务:

systemctl enable openvpn@server
systemctl start openvpn@server

客户端可通过 .ovpn 文件连接,内容包括 CA 证书、客户端证书、密钥和服务器地址,Windows 用户可使用 OpenVPN GUI 客户端导入配置文件即可连接。

至此,你已成功搭建了一个基于 OpenVPN 的私有网络服务,该方案不仅安全可靠,还能灵活扩展多个客户端,适合家庭办公、远程开发、跨地域协作等多种场景,建议定期更新证书、监控日志,并结合 Fail2Ban 等工具提升安全性。

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

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