在现代企业网络架构中,远程办公和安全访问内网资源已成为常态,虚拟专用网络(VPN)作为保障数据传输安全的重要手段,其部署与管理能力是每一位网络工程师必须掌握的核心技能,本文将通过一个完整的OpenVPN搭建实例,带你从环境准备到最终验证,一步步实现企业级的点对点加密通信。

确保你的服务器满足基本要求:一台运行Linux系统的云主机(如Ubuntu 20.04或CentOS 7),具备公网IP地址,并开放UDP端口1194(默认OpenVPN端口),我们使用OpenSSL生成证书和密钥,这是OpenVPN身份认证的基础,建议使用Easy-RSA工具简化证书管理流程。

第一步是安装OpenVPN及相关依赖,以Ubuntu为例,执行以下命令:

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

初始化Easy-RSA环境并生成CA根证书、服务器证书和客户端证书,这一步非常关键,因为后续所有客户端连接都依赖于这些数字证书进行双向认证。

make-cadir /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
./easyrsa init-pki
./easyrsa build-ca nopass
./easyrsa gen-req server nopass
./easyrsa sign-req server server
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1

第二步,配置OpenVPN服务器主文件 /etc/openvpn/server.conf,核心参数包括:

  • dev tun:使用TUN模式创建虚拟网卡;
  • proto udp:选择UDP协议提高性能;
  • port 1194:指定监听端口;
  • ca, cert, key, dh:引用之前生成的证书文件;
  • server 10.8.0.0 255.255.255.0:定义内部IP段;
  • push "redirect-gateway def1 bypass-dhcp":强制客户端流量走VPN隧道;
  • push "dhcp-option DNS 8.8.8.8":推送DNS服务器地址。

配置完成后,启动OpenVPN服务并设置开机自启:

sudo systemctl enable openvpn@server
sudo systemctl start openvpn@server

第三步,为客户端配置连接文件,在Windows或Linux客户端上创建.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
verb 3

测试连接是否成功,在客户端运行OpenVPN客户端软件加载该配置文件,若能成功获取IP地址(如10.8.0.2),并通过ping测试内网服务(如10.8.0.1),则说明整个VPN链路已建立。

本实例不仅适用于小型企业,还可扩展为多用户场景——只需重复生成客户端证书即可,建议结合防火墙规则(如ufw或iptables)限制访问源IP,提升安全性,通过这样的实践,你不仅能理解OpenVPN的工作原理,还能快速部署一套稳定可靠的远程访问解决方案。

手把手教你搭建企业级VPN服务,从零开始配置OpenVPN实战指南  第1张

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