1.
前期准备与合规检查
先确认用途合法并遵循当地与国内政策。选择菲律宾机房提供商(检查是否允许弹性IP/浮动IP、是否允许ARP/ICMP等)。准备两台或以上菲律宾VPS(推荐同一提供商的不同可用区),系统版本建议 Ubuntu 22.04 或 Debian 12,确保能SSH登录并开放所需端口(22、1194、51820等)。
2.
基础系统配置
在每台机器上执行:apt update && apt upgrade -y。设置时区、关闭不必要服务。开启内核转发:编辑 /etc/sysctl.conf,设置 net.ipv4.ip_forward=1,运行 sysctl -p。安装防火墙工具:apt install -y iptables-persistent。
3.
WireGuard 安装与配置(推荐性能)
安装:apt install -y wireguard qrencode。生成密钥:wg genkey | tee /etc/wireguard/privatekey | wg pubkey > /etc/wireguard/publickey。示例 /etc/wireguard/wg0.conf:Interface 部分包含 PrivateKey、Address=10.0.0.1/24、ListenPort=51820;PostUp/Down 添加 NAT:iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE。
4.
WireGuard 客户端示例
客户端配置示例:[Interface] PrivateKey=... Address=10.0.0.2/24;[Peer] PublicKey=服务器公钥 Endpoint=your.ph.ip:51820 AllowedIPs=0.0.0.0/0 PersistentKeepalive=25。将服务端公钥与客户端公钥互换并添加到服务端 Peer 列表。
5.
OpenVPN 安装与配置(便于TCP负载均衡)
安装:apt install -y openvpn easy-rsa。使用 easy-rsa 生成 CA/证书,复制示例 server.conf,修改 port 1194 proto tcp,push "redirect-gateway def1 bypass-dhcp"。启用 IP 转发并设置 NAT:iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE。
6.
使用 HAProxy 做 TCP 负载均衡(OpenVPN)
安装:apt install -y haproxy。/etc/haproxy/haproxy.cfg 示例:frontend vpn_front bind *:1194 mode tcp default_backend vpn_back;backend vpn_back mode tcp balance roundrobin server s1 10.0.0.1:1194 check server s2 10.0.0.2:1194 check。重启 haproxy: systemctl restart haproxy。
7.
WireGuard 的负载均衡/高可用方案
WireGuard 为 UDP,HAProxy 对 UDP 支持有限。常见做法:A)使用提供商的浮动IP/弹性IP并用 keepalived 在同一VPC内漂移VIP;B)使用DNS轮询+客户端多端点或脚本化探活切换;C)部署用户态UDP代理(如 tinc/l3roamd)或使用负载均衡器产品。
8.
Keepalived 配置示例(需提供商允许浮动IP)
安装:apt install -y keepalived。/etc/keepalived/keepalived.conf 示例:vrrp_instance VI_1 { state MASTER; interface eth0; virtual_router_id 51; priority 100; authentication { auth_type PASS; auth_pass 1234 } virtual_ipaddress { 203.x.y.z } }。在备机 priority 降低并改 state BACKUP。Keepalived 会在节点故障时接管 VIP。
9.
健康检查与自动切换
HAProxy 内置 check 可做后端心跳。Keepalived 可以配置 track_script 调用脚本检查 OpenVPN/WireGuard 进程并决定切换。示例脚本 /etc/keepalived/check_vpn.sh:检查端口是否监听、进程是否存活,返回 0/1。确保脚本可执行并在 keepalived 配置中引用。
10.
客户端高可用配置建议
OpenVPN 可在配置文件中列出多个 remote 条目,客户端会按顺序尝试。WireGuard 建议:使用 DNS 轮询或编写切换脚本(ping 探活然后 wg set peer Endpoint=)。另一方案是把 HAProxy/NGINX 作为 TCP 去向,或使用第三方 Anycast 服务(较复杂、需要 BGP)。
11.
监控、日志与安全加固
部署基本监控:prometheus node_exporter + grafana 或使用 Zabbix。收集 openvpn/wg 日志,配置 fail2ban 防暴力登录(针对 SSH 与管理接口)。限制管理端口仅允许管理IP访问,使用强密码与证书。
12.
常见故障与排查步骤
无法连通:检查安全组/防火墙、端口监听(ss -tunlp)、iptables NAT 规则、sysctl 转发。高延迟/丢包:测 traceroute、换机场房或就近选点。VIP 不漂移:询问提供商是否允许 ARP/浮动IP,很多云平台需使用内置浮动IP功能。
13.
部署流程小结(建议顺序)
1) 选厂商并购买至少两台PH VPS;2) 系统初始化与安全加固;3) 部署 VPN(WireGuard 或 OpenVPN);4) 配置 NAT 与防火墙;5) 部署 HA(keepalived 或 HAProxy);6) 配置客户端多端点或 DNS 轮询;7) 监控与自动化切换。
14.
问答:如何选择 WireGuard 还是 OpenVPN?
问:在菲律宾节点部署时应选 WireGuard 还是 OpenVPN? 答:若追求性能与低延迟优先选择 WireGuard(UDP、高效);若需要通过 TCP/HTTP 代理或方便用 HAProxy 做负载均衡,选择 OpenVPN(TCP)更容易实现高可用。
15.
问答:没有浮动IP的情况下如何实现高可用?
问:如果提供商不支持浮动IP,该怎么做高可用? 答:采用 DNS 轮询配合低 TTL 与健康检查、客户端配置多个 remote,或使用外部监控服务实现故障切换;在客户端实现探活脚本自动切换也是常用方案。
16.
问答:部署时有哪些法律与运营注意事项?
问:部署菲律宾 VPN 给国内用户需注意什么合规问题? 答:务必确认用途合法,遵守服务商与两地政策,避免传播违法内容;对外提供商业服务前咨询法律与提供商条款,保存必要的访问日志与用户申明以备合规。