Ubuntu 16.04 系统下搭建 OpenVPN 服务的完整指南

dfbn6 2026-05-19 半仙VPN下载 1 0

在当前网络环境日益复杂的背景下,虚拟私人网络(VPN)已成为远程办公、数据加密传输和访问受限资源的重要工具,对于拥有 Linux 服务器或家庭 NAS 使用 Ubuntu 16.04 搭建一个稳定、安全的 OpenVPN 服务是性价比极高的选择,本文将详细介绍如何在 Ubuntu 16.04 系统中从零开始配置 OpenVPN 服务,包括安装、证书生成、服务启动及客户端配置。

确保你已准备一台运行 Ubuntu 16.04 的服务器,并具备 root 权限或 sudo 访问权限,建议该服务器具有公网 IP 地址,以便外部设备可以连接。

第一步:更新系统并安装必要软件包
打开终端,执行以下命令:

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

OpenVPN 是核心服务程序,Easy-RSA 是用于生成 SSL/TLS 证书的工具,这对身份认证至关重要。

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

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

编辑 vars 文件,设置国家、组织等信息(如 CN=YourCompany, C=CN, ST=Beijing, O=MyOrg),这将在后续证书中体现,然后执行:

source ./vars
./clean-all
./build-ca

这会生成 CA 证书(ca.crt),它是所有客户端和服务端信任的基础。

第三步:生成服务器证书与密钥
继续执行:

./build-key-server server

系统会提示是否确认,输入 yes 并接受默认选项,此步骤生成 server.crt 和 server.key。

第四步:生成 Diffie-Hellman 参数
为增强安全性,生成 DH 参数:

./build-dh

该文件将被用于密钥交换过程。

第五步:创建 OpenVPN 配置文件
复制示例配置文件到 /etc/openvpn/

cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
gunzip /etc/openvpn/server.conf.gz

编辑 /etc/openvpn/server.conf,关键修改项包括:

  • port 1194(可改为你希望的端口)
  • proto udp(推荐 UDP 协议,性能更好)
  • dev tun(使用 TUN 设备)
  • ca ca.crt
  • cert server.crt
  • key server.key
  • dh dh.pem
  • 添加 push "redirect-gateway def1 bypass-dhcp" 以使客户端流量通过 VPN 路由
  • 启用 server 10.8.0.0 255.255.255.0 分配私网 IP

第六步:启用 IP 转发和防火墙规则
编辑 /etc/sysctl.conf,取消注释 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),并将 ca.crt、client1.crt、client1.key 三份文件打包发送给客户端,并使用标准 .ovpn 配置文件连接。

至此,一个基于 Ubuntu 16.04 的 OpenVPN 服务即部署完成,具备基础的安全性和可用性,此方案适合中小型团队或个人使用,且易于扩展和维护。

Ubuntu 16.04 系统下搭建 OpenVPN 服务的完整指南

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