在当今远程办公和跨地域协作日益普遍的背景下,构建一个稳定、安全且易于管理的虚拟私人网络(VPN)已成为企业与个人用户的刚需,作为网络工程师,我将详细介绍如何在Ubuntu操作系统上搭建一套基于OpenVPN的本地化VPN服务,适用于家庭网络、小型办公室或远程访问场景。
准备工作必不可少,确保你有一台运行Ubuntu 20.04 LTS或更高版本的服务器(物理机或云主机均可),并拥有root权限或sudo权限,推荐使用静态IP地址配置,便于客户端连接时保持一致性,建议提前准备好一个域名(如vpn.example.com)用于证书配置,或者直接使用公网IP地址。
第一步是安装OpenVPN及相关工具,打开终端执行以下命令:
sudo apt update sudo apt install openvpn easy-rsa -y
easy-rsa 是用于生成SSL/TLS证书和密钥的工具包,是OpenVPN认证体系的核心组件。
第二步是配置PKI(公钥基础设施),进入EasyRSA目录并初始化:
make-cadir /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa sudo cp vars.example vars
编辑 vars 文件,根据需要修改国家、组织名称等字段,然后执行:
sudo ./clean-all sudo ./build-ca
这一步会生成根证书(ca.crt),用于后续所有客户端和服务端证书的签名验证。
接下来生成服务器证书和密钥:
sudo ./build-key-server server
之后生成客户端证书(每个用户一张):
sudo ./build-key client1
最后生成TLS密钥交换文件(增强安全性):
sudo ./build-dh
第三步是配置OpenVPN服务器,复制示例配置文件:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ sudo gunzip /etc/openvpn/server.conf.gz
编辑 /etc/openvpn/server.conf,关键配置包括:
dev tun(使用TUN模式)proto udp(UDP协议性能更优)port 1194(默认端口,可自定义)ca ca.crt,cert server.crt,key server.key,dh dh.pempush "redirect-gateway def1 bypass-dhcp"(使客户端流量通过VPN路由)push "dhcp-option DNS 8.8.8.8"(指定DNS)
第四步启用IP转发和防火墙规则:
sudo sysctl net.ipv4.ip_forward=1 sudo ufw allow 1194/udp sudo ufw enable
若使用云服务商,请确保安全组放行UDP 1194端口。
启动服务并设置开机自启:
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
至此,你的Ubuntu VPN服务器已成功搭建,客户端只需导出证书(ca.crt、client1.crt、client1.key)并配合OpenVPN GUI客户端即可连接,整个过程遵循最小权限原则,结合证书认证和加密隧道,保障数据传输的安全性,适合对隐私有较高要求的用户。

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






