自建VPN全指南:从VPS选购到WireGuard部署的零基础教程
7/1/2026 · 4 min
一、为什么选择自建VPN?
自建VPN相比商业VPN服务,具有更高的隐私控制、定制化能力和长期成本优势。通过自建,你可以完全掌控服务器日志、加密协议和网络策略,避免第三方服务的数据泄露风险。WireGuard作为新一代VPN协议,以其简洁的代码、高性能和现代加密算法成为自建首选。
二、VPS选购要点
2.1 硬件配置
- CPU:1核即可满足多数场景,2核更佳
- 内存:512MB以上,推荐1GB
- 带宽:至少1Gbps端口,流量按需选择
- 存储:20GB SSD足够
2.2 网络与位置
- 选择低延迟、高带宽的数据中心(如日本、新加坡、美国西海岸)
- 确认支持IPv4(部分云厂商需额外付费)
- 检查是否支持WireGuard(主流Linux发行版均支持)
2.3 推荐厂商
- Vultr:按小时计费,全球多节点,适合新手
- DigitalOcean:稳定可靠,文档丰富
- Linode:性价比高,支持自定义ISO
三、服务器初始化配置
3.1 连接服务器
ssh root@你的服务器IP
首次登录后立即更新系统:
apt update && apt upgrade -y # Debian/Ubuntu
yum update -y # CentOS/RHEL
3.2 创建非root用户
adduser vpnuser
usermod -aG sudo vpnuser
后续操作建议使用该用户,避免root权限滥用。
3.3 配置防火墙
ufw allow 22/tcp # SSH
ufw allow 51820/udp # WireGuard默认端口
ufw enable
四、WireGuard部署步骤
4.1 安装WireGuard
# Debian/Ubuntu
apt install wireguard
# CentOS/RHEL
yum install wireguard-tools
4.2 生成密钥对
wg genkey | tee privatekey | wg pubkey > publickey
私钥保存在privatekey,公钥在publickey。
4.3 配置服务器端
创建配置文件/etc/wireguard/wg0.conf:
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <服务器私钥>
[Peer]
PublicKey = <客户端公钥>
AllowedIPs = 10.0.0.2/32
4.4 启动服务
wg-quick up wg0
systemctl enable wg-quick@wg0
五、客户端配置
5.1 生成客户端密钥
在客户端执行相同命令生成密钥对。
5.2 添加客户端到服务器
在服务器配置文件中添加Peer段:
[Peer]
PublicKey = <客户端公钥>
AllowedIPs = 10.0.0.2/32
重启WireGuard:wg-quick down wg0 && wg-quick up wg0
5.3 客户端配置文件
创建客户端配置文件client.conf:
[Interface]
Address = 10.0.0.2/24
PrivateKey = <客户端私钥>
DNS = 1.1.1.1
[Peer]
PublicKey = <服务器公钥>
Endpoint = 服务器IP:51820
AllowedIPs = 0.0.0.0/0, ::/0
六、优化与安全
6.1 启用内核转发
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
6.2 配置NAT
使用iptables实现流量转发:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
6.3 定期更新
保持系统与WireGuard版本更新,关注安全公告。
七、常见问题排查
- 连接超时:检查防火墙是否开放UDP 51820端口
- 无法访问互联网:确认NAT规则和IP转发已启用
- 速度慢:尝试更换服务器位置或调整MTU值
通过以上步骤,你已经成功搭建了属于自己的VPN。自建VPN不仅提升了网络安全性,还让你完全掌控数据传输。