安装VPN服务器可以让你安全地远程访问私有网络或绕过地理限制,以下是常见VPN协议的安装指南,包括 OpenVPN、WireGuard 和 IPSec/L2TP,以及关键注意事项。
OpenVPN 安装(推荐跨平台使用)
Ubuntu/Debian 安装步骤:
sudo apt install openvpn easy-rsa -y # 配置PKI(证书颁发机构) make-cadir ~/openvpn-ca cd ~/openvpn-ca source vars ./clean-all ./build-ca # 生成CA证书(按提示填写信息) ./build-key-server server # 生成服务器证书 ./build-dh # 生成Diffie-Hellman参数 ./build-key client1 # 生成客户端证书 # 复制证书到OpenVPN目录 cd ~/openvpn-ca/keys sudo cp ca.crt server.crt server.key dh2048.pem /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
关键配置项:
proto udp # 推荐UDP port 1194 # 默认端口 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" # 客户端所有流量通过VPN push "dhcp-option DNS 8.8.8.8" # 推送DNS keepalive 10 120 cipher AES-256-CBC # 加密算法 user nobody group nogroup persist-key persist-tun status openvpn-status.log verb 3
启动服务:
sudo systemctl start openvpn@server sudo systemctl enable openvpn@server
防火墙规则(UFW):
sudo ufw allow 1194/udp sudo ufw allow OpenSSH sudo ufw enable
生成客户端配置:
# 创建客户端.ovpn文件 cat > client1.ovpn <<EOF client dev tun proto udp remote your_server_ip 1194 # 替换为服务器IP resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client1.crt key client1.key remote-cert-tls server cipher AES-256-CBC verb 3 EOF
WireGuard 安装(高性能,现代协议)
Ubuntu/Debian 安装:
# 安装WireGuard sudo apt update sudo apt install wireguard resolvconf -y # 生成密钥对 wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey # 配置服务器端(/etc/wireguard/wg0.conf) sudo nano /etc/wireguard/wg0.conf
服务器配置示例:
[Interface] PrivateKey = <服务器私钥> Address = 10.0.0.1/24 ListenPort = 51820 PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE [Peer] PublicKey = <客户端公钥> AllowedIPs = 10.0.0.2/32
启用IP转发和防火墙:
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-wireguard.conf sudo sysctl -p sudo ufw allow 51820/udp sudo ufw allow OpenSSH sudo ufw enable
启动服务:
sudo systemctl enable wg-quick@wg0 sudo systemctl start wg-quick@wg0
客户端配置示例:
[Interface] PrivateKey = <客户端私钥> Address = 10.0.0.2/24 DNS = 8.8.8.8 [Peer] PublicKey = <服务器公钥> Endpoint = your_server_ip:51820 AllowedIPs = 0.0.0.0/0 # 所有流量通过VPN PersistentKeepalive = 25
IPSec/L2TP (兼容旧设备)
使用自动化脚本快速部署:
wget https://git.io/vpnsetup -O vpn.sh sudo sh vpn.sh
脚本会提示输入VPN用户名和密码,完成后自动配置防火墙。
关键注意事项
-
安全性:
- 使用强加密算法(如AES-256)。
- 定期更新证书和密钥。
- 限制VPN端口访问(如仅允许特定IP)。
-
性能:
- WireGuard 性能优于 OpenVPN,适合高并发场景。
- UDP协议通常比TCP更快。
-
日志与监控:
- 检查日志:
journalctl -u openvpn@server或wg show。 - 使用工具如
iftop监控流量。
- 检查日志:
-
多协议选择:
- OpenVPN:兼容性好,支持TCP/UDP。
- WireGuard:内核级高性能,配置简单。
- IPSec/L2TP:适合不支持新协议的旧设备。
客户端连接
- OpenVPN:导入
.ovpn文件到客户端软件(如OpenVPN GUI、Tunnelblick)。 - WireGuard:使用官方客户端或配置文件(Android/iOS/Windows均支持)。
- IPSec/L2TP:使用系统自带VPN配置(需预共享密钥)。
根据需求选择协议,并确保服务器防火墙和路由配置正确,遇到问题时,检查日志和网络连通性(如ping和telnet测试端口)。








