在VPS上建立VPN(如OpenVPN或WireGuard)可以让你安全地访问互联网或远程网络,以下是基于 OpenVPN 和 WireGuard 的简要步骤:
准备工作
- 一台VPS:推荐Ubuntu/Debian/CentOS等Linux系统。
- root权限:确保能通过SSH登录并执行管理员操作。
- 防火墙配置:开放VPN协议端口(如OpenVPN默认UDP 1194,WireGuard默认UDP 51820)。
方案一:OpenVPN
安装OpenVPN(使用脚本快速部署)
wget https://git.io/vpn -O openvpn-install.sh chmod +x openvpn-install.sh sudo ./openvpn-install.sh
- 运行脚本后,按提示操作:
- 选择协议(推荐UDP)。
- 设置端口(默认1194)。
- 输入客户端名称(如
client1)。 - 其他选项保持默认即可。
生成客户端配置文件
- 脚本会自动生成
.ovpn文件(位于/root/client1.ovpn),下载到本地后用OpenVPN客户端导入。
方案二:WireGuard(更轻量级)
安装WireGuard
# CentOS sudo yum install epel-release && sudo yum install wireguard-tools
生成密钥对
wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey
配置服务端(/etc/wireguard/wg0.conf)
[Interface] PrivateKey = <服务器私钥(/etc/wireguard/privatekey内容)> Address = 10.0.0.1/24 ListenPort = 51820 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE [Peer] PublicKey = <客户端公钥> AllowedIPs = 10.0.0.2/32
启动WireGuard
sudo systemctl enable wg-quick@wg0 sudo systemctl start wg-quick@wg0
生成客户端配置
客户端需创建类似配置,交换公钥并设置AllowedIPs(如0.0.2/32)。
客户端连接
- OpenVPN:使用生成的
.ovpn文件导入客户端(如OpenVPN Connect)。 - WireGuard:配置客户端文件并导入(如WireGuard App)。
注意事项
- 防火墙:确保VPS安全组/iptables放行VPN端口。
- 日志监控:通过
journalctl -u wg-quick@wg0或/var/log/syslog排查问题。 - 多用户管理:
- OpenVPN:脚本可重复运行添加用户。
- WireGuard:在服务端配置中添加多个
[Peer]区块。
对比选择
- OpenVPN:兼容性好,适合复杂场景,但配置稍复杂。
- WireGuard:速度快、轻量级,适合移动设备。
根据需求选择即可!


