零基础入门指南,手把手教你创建自己的VPN服务(Linux OpenVPN实战)

hyde1011 10 2026-03-25 14:17:58

作为一名网络工程师,我经常被问到:“如何搭建一个安全可靠的个人或家庭VPN?”尤其在远程办公、跨地域访问内网资源或保护隐私的场景中,自建VPN显得尤为重要,本文将带你从零开始,使用开源工具OpenVPN在Linux系统上创建一个功能完整的个人VPN服务器,无需复杂配置,适合初学者也能轻松上手。

你需要一台运行Linux的服务器,可以是云服务商提供的VPS(如阿里云、腾讯云、AWS等),也可以是一台老旧的家用电脑(只要能联网且有公网IP),确保你的服务器已安装Ubuntu 20.04或更高版本,并具备root权限。

第一步:更新系统并安装依赖
登录服务器后,执行以下命令:

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

easy-rsa 是用于生成证书和密钥的工具,是OpenVPN认证体系的核心。

第二步:配置PKI(公钥基础设施)
进入EasyRSA目录并初始化:

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

编辑 vars 文件,设置国家、省份、组织名称等信息(可按需修改):

export KEY_COUNTRY="CN"
export KEY_PROVINCE="Beijing"
export KEY_CITY="Beijing"
export KEY_ORG="MyHome"
export KEY_EMAIL="your-email@example.com"
export KEY_CN=server
export KEY_NAME=server
export KEY_OU=OpenVPN

然后执行:

./clean-all
./build-ca
./build-key-server server
./build-key client1
./build-dh

这一步会生成服务器证书、客户端证书、密钥及Diffie-Hellman参数,是整个加密通信的基础。

第三步:配置OpenVPN服务器
复制示例配置文件:

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

编辑 /etc/openvpn/server.conf,关键配置包括:

  • port 1194:指定端口(建议不使用默认端口以防扫描)
  • proto udp:推荐UDP协议,延迟更低
  • dev tun:使用隧道模式
  • ca ca.crt, cert server.crt, key server.key:引用刚生成的证书
  • dh dh.pem:引入Diffie-Hellman参数
  • push "redirect-gateway def1 bypass-dhcp":让客户端流量走VPN
  • push "dhcp-option DNS 8.8.8.8":指定DNS服务器

第四步:启动服务并设置开机自启

systemctl enable openvpn@server
systemctl start openvpn@server

第五步:客户端配置
将你生成的 client1.crtclient1.keyca.crt 下载到本地,用文本编辑器创建 .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客户端导入该配置即可连接!你已经成功搭建了一个私密、安全、可扩展的个人VPN服务,后续还可加入防火墙规则(如iptables)、日志监控、多用户支持等功能,进一步提升实用性与安全性,合理使用VPN,合法合规,才能真正守护你的数字世界。

零基础入门指南,手把手教你创建自己的VPN服务(Linux OpenVPN实战)

上一篇:小米与华为的VPN技术之争,隐私保护还是数据监控?
下一篇:深入解析VPN调试全流程,从基础排查到高级故障诊断
相关文章
返回顶部小火箭