明确VPN类型
首先确认你要创建的VPN类型:
- 远程访问VPN(如让家用电脑连接公司网络)
常用协议:OpenVPN、L2TP/IPsec、WireGuard
- 站点到站点VPN(连接两个局域网)
常用协议:IPsec、GRE over IPsec
常见问题及解决
A. 协议或配置错误
- 症状:连接超时、认证失败。
- 解决方案:
- 检查协议是否匹配(客户端/服务端需一致)。
- 验证密钥/证书是否正确(如OpenVPN的
.ovpn文件)。 - 示例(OpenVPN服务端配置片段):
proto udp dev tun ca ca.crt cert server.crt key server.key dh dh.pem server 10.8.0.0 255.255.255.0 push "redirect-gateway def1"
B. 防火墙/端口未开放
- 症状:无法建立连接,握手失败。
- 解决方案:
- 确保防火墙放行VPN端口:
- OpenVPN:默认UDP 1194
- L2TP/IPsec:UDP 500 (IKE), 4500 (NAT-T)
- WireGuard:默认UDP 51820
- Linux示例(iptables规则):
sudo iptables -A INPUT -p udp --dport 1194 -j ACCEPT sudo iptables -A FORWARD -i tun0 -j ACCEPT
- 确保防火墙放行VPN端口:
C. NAT穿透问题
- 症状:客户端在NAT后无法连接。
- 解决方案:
- 启用VPN服务的NAT穿透选项(如OpenVPN的
--nat或WireGuard的PersistentKeepalive)。 - 路由器需支持IPsec Passthrough(针对L2TP/IPsec)。
- 启用VPN服务的NAT穿透选项(如OpenVPN的
D. 路由冲突
- 症状:连接成功但无法访问内网。
- 解决方案:
- 添加静态路由指向VPN子网:
ip route add 192.168.1.0/24 via 10.8.0.1 dev tun0
- 添加静态路由指向VPN子网:
分步指南(以OpenVPN为例)
-
安装OpenVPN
# Ubuntu/Debian sudo apt update && sudo apt install openvpn
-
生成证书(使用EasyRSA)
wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.1.0/EasyRSA-3.1.0.tgz tar xvf EasyRSA-3.1.0.tgz cd EasyRSA-3.1.0 ./easyrsa init-pki ./easyrsa build-ca # 生成CA证书 ./easyrsa gen-req server nopass # 服务器证书 ./easyrsa sign-req server server
-
配置服务端
- 编辑
/etc/openvpn/server.conf(参考上方配置片段)。
- 编辑
-
启动服务
sudo systemctl start openvpn@server
-
客户端配置
- 将生成的
.ovpn文件导入客户端工具(如OpenVPN Connect)。
- 将生成的
其他工具推荐
-
WireGuard:更轻量、高性能,适合个人使用。
-
安装:
sudo apt install wireguard -
配置示例(服务端):
[Interface] PrivateKey = <server_private_key> Address = 10.0.0.1/24 ListenPort = 51820 [Peer] PublicKey = <client_public_key> AllowedIPs = 10.0.0.2/32
-
调试技巧
- 查看日志:
journalctl -u openvpn@server -f # OpenVPN日志 sudo wg show # WireGuard状态
- 测试连通性:
ping 10.8.0.1 # 测试VPN内网 traceroute google.com # 检查路由
安全注意事项
- 避免使用弱密码或默认密钥。
- 定期更新证书(如OpenVPN证书有效期通常为1年)。
- 限制VPN访问IP(通过防火墙或VPN配置)。
如果问题仍未解决,请提供以下信息:
- 使用的VPN协议和软件。
- 客户端/服务端的错误日志。
- 网络环境(是否经过NAT/防火墙)。


