防止服务器 IP 地址被封锁
在某些网络环境下,VPN 服务器的 IP 地址可能在上线几小时内就被封锁。只需做几项调整,就能让您的服务器更难被侦测和屏蔽。建议先为服务器的出站流量配置一个独立的第二 IP:这还能帮您判断网络是如何识别并封锁服务器的。
网络是如何识别 VPN 服务器的
审查网络可以直接识别连接本身:比如分析流量特征,或是向服务器发送主动探测。Cloak Mode(伪装模式)能让流量特征难以被匹配。您的服务器现已支持此模式,用户在各自的应用中开启即可。
审查网络也可以监测流量去向。某些地区会利用信誉系统进行研判:当大量用户从同一个境外 IP 地址频繁访问境内银行、政务平台及其他本地网站时,该 IP 就极易被判定为 VPN 或代理,进而被列入封锁黑名单。
或者仅仅是因为信息泄漏。Access Key(访问密钥)本身未加密,任何拿到密钥的人都能从中直接读取服务器地址,因此请尽量控制密钥的分享范围。
连接与出站采用双 IP 分流
为服务器配置两个公网 IP 地址,各司其职:
- 连接 IP:供用户应用连接的地址,包含在用户的访问密钥中。
- 出口 IP:服务器向外部网站发起请求时使用的地址,也是目标网站唯一能看到的 IP。
网站只能记录它们看到的地址,因此就算遭到封禁,受影响的也只是出口 IP,用户依然可以通过连接 IP 顺畅接入。您甚至无需重新分发密钥即可随时更换被封的出口 IP,因为密钥中根本不包含它。
VpnHood! SERVER 本身没有出口 IP 的设置项。它与服务器上的其他程序一样访问外网,由操作系统决定出站流量使用哪个地址。您只需在操作系统中指定出口 IP,并在 VpnHood 中配置连接 IP 即可。
添加第二个 IP 地址
向您的主机服务商增购一个 IPv4 地址,并按照其文档配置到服务器上。在非 Docker 环境下,这部分可以交给服务器自动处理:它会自动添加所设定的监听地址。
建议保留服务器的原主地址作为出口 IP,并将新地址作为连接 IP。操作系统默认即通过主地址发送流量,无需额外调整;即使主地址遭到封锁,它作为出口 IP 的功能依然不受影响。
配置出口 IP
运行此命令可查看服务器发送流量所用的地址:即 src 后面的内容。
ip route get 1.1.1.1
输出结果示例,其中 198.51.100.20 为出口 IP
1.1.1.1 via 198.51.100.1 dev eth0 src 198.51.100.20 uid 0
cache
如果显示的不是主地址而是新地址,说明两者的角色颠倒了。最简单的解决方法是直接互换用途:将显示的地址作为出口 IP,另一个用作连接 IP。
在 Docker 容器中,服务器共享宿主机的网络,因此直接遵循宿主机的网络设置。
在机器本身仅具有内网私有地址的云平台(如 AWS、Google Cloud、Azure 或 Oracle Cloud)上,每个公网 IP 都映射到一个私网 IP。请在机器和服务器监听设置中使用私网 IP,而在生成访问密钥时填入公网连接 IP。
让服务器仅使用连接 IP
将 VpnHood! SERVER 设置为仅监听连接 IP,并且只在访问密钥中写入该地址。这样一来,即使有人主动扫描探测,出口 IP 也绝不会响应为 VPN 服务器。
建议手动设置这两个地址:如果保持默认,无论是托管服务器还是独立服务器,都会根据出站流量自动检测地址,从而错误地识别为出口 IP。设置服务器 IP 地址 将为您详细介绍操作方法。
之前发放的密钥仍在使用旧地址。建议让服务器继续监听旧地址几天,以便客户端自动获取新密钥,然后再将其移除;在移除之前,出口 IP 仍会对外响应为 VPN 服务器。
验证配置结果
在任一设备上连接,并在任意 IP 查询网站上查看你的 IP 地址。你应该能看到出口 IP。
如果连接 IP 从此保持畅通,说明网络此前是通过流量去向发现了你的服务器。如果几小时内仍被封锁,则说明网络识别出了连接本身:请让你的用户开启伪装模式(Cloak Mode),并为服务器配置一个域名。
通过域名连接
开箱即用状态下,服务器使用的是带有虚拟名称的自签名证书。为你拥有的域名绑定如 Let's Encrypt 等权威机构颁发的证书,连接流量看起来就会和访问普通网站无异。
即使连接 IP 不幸被封,域名也能大显身手。此时访问密钥会包含该域名,应用在连接时会自动解析。即使你将服务器迁移到新地址,只要重新解析域名,所有密钥即可继续使用。
查看通过域名连接,了解在托管服务器和独立服务器上的具体配置方法。
将服务器置于反向代理之后
如果配置允许,你还可以将服务器置于反向代理或类似 Cloudflare 的 CDN 之后,让用户连接到代理而非服务器的真实 IP 地址。该方案是否可用以及效果如何,取决于所在的国家和网络环境。
本地网站直连,不走服务器流量
建议用户在应用中开启绕过本国网站。这样访问其所在国家的银行、政务等网站时会直接连接,不再经过你的服务器,从而避免触发境外流量审查特征。