构建VPN服务器可以让远程用户安全地访问内部网络资源,以下是常见VPN协议和搭建步骤的概述:
常见VPN协议对比
| 协议类型 | 端口 | 加密方式 | 速度 | 适用场景 |
|---|---|---|---|---|
| OpenVPN | TCP/UDP | AES-256 | 中等 | 跨平台通用 |
| IPSec | 500/4500 | AES/SHA | 快 | 企业级网络 |
| WireGuard | UDP 51820 | ChaCha20 | 极快 | 移动设备/低延迟需求 |
| L2TP/IPSec | UDP 1701 | 双重加密 | 较慢 | 老旧设备兼容 |
OpenVPN搭建示例(Ubuntu)
# 2. 初始化PKI
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
source vars
./clean-all
./build-ca
# 3. 生成服务器证书
./build-key-server server
./build-dh
# 4. 生成客户端证书
./build-key client1
# 5. 配置服务器
sudo cp ~/openvpn-ca/keys/{server.crt,server.key,ca.crt,dh2048.pem} /etc/openvpn/
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
sudo gzip -d /etc/openvpn/server.conf.gz
# 6. 编辑配置文件
sudo nano /etc/openvpn/server.conf
关键配置项:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
keepalive 10 120
comp-lzo
persist-key
persist-tun
WireGuard快速搭建
# 1. 安装(Linux) sudo apt install -y wireguard # 2. 生成密钥对 wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey # 3. 创建配置文件 sudo nano /etc/wireguard/wg0.conf
示例配置:
[Interface]
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
安全加固建议
-
防火墙规则:
# OpenVPN sudo ufw allow 1194/udp # WireGuard sudo ufw allow 51820/udp
-
启用Fail2Ban防护:
sudo apt install -y fail2ban sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
-
定期更新证书(建议每6个月轮换)
客户端连接
- OpenVPN:需分发
.ovpn配置文件 - WireGuard:需配置对等的公钥/私钥
- 企业环境建议结合LDAP/RADIUS认证
常见问题排查
- 连接超时:检查防火墙/安全组规则
- 认证失败:验证证书有效期(
openssl x509 -in client.crt -noout -dates) - 路由问题:检查
ip route和NAT配置
根据具体需求选择协议:
- 需要最高安全性:OpenVPN + TLS
- 追求性能:WireGuard
- 兼容旧设备:L2TP/IPSec
注:生产环境建议使用付费VPN解决方案(如Tailscale)获得更好的管理和支持。



