在当今高度互联的数字世界中,网络安全与隐私保护日益成为个人和企业用户的核心关注点,虚拟私人网络(VPN)作为一种加密通信技术,能有效隐藏用户的IP地址、加密数据传输,并绕过地理限制,因此被广泛应用于远程办公、跨境访问以及隐私保护等场景,虽然市面上有许多现成的商业VPN服务,但掌握手动配置VPN的能力,不仅能够提升你的网络控制力,还能让你根据实际需求定制更安全、高效的连接方案。
本文将带你从零开始,通过手动方式搭建一个基于OpenVPN的本地VPN服务器,适用于Linux系统(以Ubuntu为例),并提供客户端配置方法,整个过程分为三步:安装与配置服务器端、生成证书与密钥、配置客户端连接。
第一步:搭建OpenVPN服务器环境
确保你有一台运行Ubuntu的服务器(可以是云主机或本地物理机),登录后执行以下命令更新系统并安装OpenVPN:
sudo apt update && sudo apt install openvpn easy-rsa -y
使用Easy-RSA工具生成证书颁发机构(CA)、服务器证书和客户端证书,进入Easy-RSA目录:
cd /usr/share/easy-rsa/ sudo cp -r /usr/share/easy-rsa/ /etc/openvpn/easy-rsa cd /etc/openvpn/easy-rsa/ sudo ./easyrsa init-pki sudo ./easyrsa build-ca nopass # 创建CA,无需密码 sudo ./easyrsa gen-req server nopass # 生成服务器证书请求 sudo ./easyrsa sign-req server server # 签署服务器证书 sudo ./easyrsa gen-req client1 nopass # 生成客户端证书请求 sudo ./easyrsa sign-req client client1 # 签署客户端证书
第二步:配置OpenVPN服务器
创建主配置文件 /etc/openvpn/server.conf如下:
port 1194 proto udp dev tun ca /etc/openvpn/easy-rsa/pki/ca.crt cert /etc/openvpn/easy-rsa/pki/issued/server.crt key /etc/openvpn/easy-rsa/pki/private/server.key dh /etc/openvpn/easy-rsa/pki/dh.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 tls-auth /etc/openvpn/easy-rsa/pki/ta.key 0 cipher AES-256-CBC auth SHA256 user nobody group nogroup persist-key persist-tun status /var/log/openvpn-status.log verb 3
启动服务并设置开机自启:
sudo systemctl enable openvpn@server sudo systemctl start openvpn@server
第三步:配置客户端连接
将服务器上生成的证书文件(ca.crt、client1.crt、client1.key、ta.key)下载到本地电脑,在Windows或Mac上使用OpenVPN GUI客户端导入这些文件,创建新的连接配置文件(如my-vpn.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 tls-auth ta.key 1 cipher AES-256-CBC auth SHA256 verb 3
保存后双击连接即可建立安全隧道。
通过以上步骤,你可以完全掌控自己的VPN网络环境,避免依赖第三方服务商,同时提升安全性与灵活性,这正是“手动”配置的价值所在——它不仅是技术实践,更是对网络本质的理解。







