作为一名网络工程师,我经常被问到:“如何通过VPN安全地访问公司内网资源?”尤其是在远程办公日益普及的今天,建立一个稳定、安全且易于管理的虚拟私人网络(VPN)显得尤为重要,本文将以Ubuntu 22.04 LTS系统为例,详细演示如何安装和配置OpenVPN服务端与客户端,帮助你搭建一套可实际运行的远程访问解决方案。
确保你有一台公网IP的服务器(如阿里云、腾讯云或本地部署的NAS设备),并已安装Ubuntu系统,登录服务器后,更新系统包列表:
sudo apt update && sudo apt upgrade -y
接着安装OpenVPN及相关工具:
sudo apt install openvpn easy-rsa -y
Easy-RSA是一个用于生成SSL/TLS证书和密钥的工具,是OpenVPN认证体系的核心组件。
初始化PKI(公钥基础设施)环境,通常OpenVPN会将证书生成目录放在/etc/openvpn/easy-rsa,我们先复制默认模板:
sudo make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa
编辑vars文件,设置你的组织信息(如国家、省份、公司名等),这是证书颁发机构(CA)的基础信息。
export KEY_COUNTRY="CN" export KEY_PROVINCE="Beijing" export KEY_CITY="Beijing" export KEY_ORG="MyCompany" export KEY_EMAIL="admin@mycompany.com" export KEY_OU="IT Department"
然后执行以下命令生成CA证书和密钥:
./clean-all ./build-ca
下一步是生成服务器证书和密钥:
./build-key-server server
注意:这里会提示是否确认签名,输入“yes”即可。
接着生成客户端证书(假设你有多个用户,可以为每个用户生成单独证书):
./build-key client1
生成Diffie-Hellman参数(用于密钥交换):
./build-dh
所有证书生成完成后,将必要的文件复制到OpenVPN配置目录:
sudo cp /etc/openvpn/easy-rsa/keys/{ca.crt,server.crt,server.key,dh2048.pem} /etc/openvpn/
现在创建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
保存后启动OpenVPN服务:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
在客户端(比如Windows或手机)安装OpenVPN Connect应用,导入刚刚生成的client1.crt、client1.key和ca.crt文件,配置连接地址为你的服务器公网IP,端口1194,协议UDP,即可成功连接。
至此,你已成功搭建了一个基于OpenVPN的安全远程访问通道,可安全访问内网资源,且支持多用户管理,这种方案既适合小型企业,也适用于个人开发者远程调试服务器,定期更新证书和加强防火墙规则(如仅开放1194端口)是保障安全的关键!

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