在当今数字化时代,网络安全变得尤为重要。无论你是远程办公人员、系统管理员,还是希望保护个人隐私的普通用户,搭建一个属于自己的Linux VPN配置环境都能为你提供加密、安全的网络通道。本教程将使用最流行的开源工具 OpenVPN,在 Ubuntu 系统上一步步教你完成安装与配置,即使是零基础的小白也能轻松上手。
什么是OpenVPN?
OpenVPN 是一个开源的虚拟专用网络(VPN)解决方案,支持 SSL/TLS 加密,具有高安全性、跨平台和配置灵活等优点。通过它,你可以在公网上传输私有数据,就像在本地局域网中一样安全。
准备工作
- 一台运行 Ubuntu 20.04 或更高版本的 Linux 服务器(可使用云服务器如阿里云、腾讯云或本地虚拟机)
- 拥有 sudo 权限的用户账户
- 一个公网 IP 地址(用于客户端连接)
- 基本的命令行操作知识
第一步:更新系统并安装 OpenVPN 和 Easy-RSA
首先,登录你的 Linux 服务器,执行以下命令更新软件包列表并安装所需工具:
sudo apt update sudo apt install openvpn easy-rsa -y
第二步:配置证书颁发机构(CA)
OpenVPN 使用 TLS/SSL 证书进行身份验证。我们将使用 Easy-RSA 工具创建自己的证书颁发机构(CA)和相关密钥。
make-cadir ~/openvpn-ca cd ~/openvpn-ca
编辑 vars 文件,设置你的组织信息(可选但推荐):
nano vars
找到并修改如下字段(根据实际情况填写):
export KEY_COUNTRY="CN" export KEY_PROVINCE="Beijing" export KEY_CITY="Beijing" export KEY_ORG="MyCompany" export KEY_EMAIL="admin@example.com" export KEY_OU="MyVPN"
第三步:生成 CA 证书和服务器密钥
加载变量并构建 CA:
source ./vars ./clean-all ./build-ca
按回车使用默认值即可。接着生成服务器密钥和证书:
./build-key-server server
同样一路回车,最后两个问题输入 y 确认签名和提交。
第四步:生成 Diffie-Hellman 参数和 TLS 认证密钥
./build-dh openvpn --genkey --secret keys/ta.key
第五步:为客户端生成证书
假设你的客户端名为 client1:
./build-key client1
同样确认签名和提交(输入 y)。
第六步:配置 OpenVPN 服务器
复制示例配置文件到 /etc/openvpn/:
gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf
编辑该配置文件:
sudo nano /etc/openvpn/server.conf
确保包含以下关键设置:
ca /root/openvpn-ca/keys/ca.crt cert /root/openvpn-ca/keys/server.crt key /root/openvpn-ca/keys/server.key dh /root/openvpn-ca/keys/dh2048.pem tls-auth /root/openvpn-ca/keys/ta.key 0 user nobody group nogroup
第七步:启用 IP 转发并配置防火墙
编辑 sysctl 配置以启用 IP 转发:
sudo nano /etc/sysctl.conf
取消注释或添加:
net.ipv4.ip_forward=1
应用更改:
sudo sysctl -p
如果使用 UFW 防火墙,允许 OpenVPN 端口(默认 UDP 1194):
sudo ufw allow 1194/udp sudo ufw allow OpenSSH sudo ufw enable
第八步:启动 OpenVPN 服务
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
第九步:配置客户端
将以下文件从服务器下载到客户端设备:
ca.crtclient1.crtclient1.keyta.key
创建一个 client.ovpn 配置文件,内容如下(替换 YOUR_SERVER_IP 为你的服务器公网 IP):
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 remote-cert-tls server tls-auth ta.key 1 cipher AES-256-CBC verb 3
使用 OpenVPN 客户端(Windows/macOS/Linux/Android/iOS)导入此 .ovpn 文件即可连接。
总结
通过以上步骤,你已经成功在 Linux 上搭建了一个基于 OpenVPN 的远程访问服务。这不仅提升了你的网络安全防护能力,也为家庭或企业提供了灵活的远程办公方案。记住定期更新系统和证书,以确保长期安全。
现在,你可以自豪地说:我掌握了 Linux VPN配置 和 OpenVPN教程 的核心技能!

