共享出口和独享出口走的是同一套改写流程:网关把你的源地址换成池中的某个公网地址,并挑选一个端口。区别在于这个池如何构建,以及你的绑定能维持多久。这是分配决策,而不是加密升级。

这个框架能同时回答大部分实际问题。允许名单关心的是绑定的稳定性,网站的欺诈检测关心的是地址的历史,而两者都不关心套餐叫什么名字。

两种选择都是同一地址上的端口映射

当客户端通过出口建立连接时,网关会把源地址改写成池分发的公网地址,并从该地址的空闲区间里选一个源端口。同一出口上的两个订阅者,就变成同一个 IPv4 地址上的两个端口段。远端服务器看到的是一个拥有大量并发连接的主机,而载荷里没有任何信息说明哪一段属于哪个订阅者。正是这种端口映射,才让地址共享成为可能。

独享分配缩短了这段叙事,却没有改变它的形态:池为你的账户保留一个成员,运营方把它固定下来,而不是让你在一个环里轮转。端口仍然在你自己的会话之间共享,地址也仍然在出口处转换,而不是路由到你的设备。

所以线路上的行为完全相同,不同的只是记账方式。

PropertyShared poolPinned assignment
Address selected at connectAny free member of the poolThe one address bound to the account
Other subscribers on itPresent, unknown to youUsually none, though the operator may oversubscribe
Stability across reconnectsDepends on pool size and rotation policyHolds until the operator changes the assignment

允许名单跟踪的是绑定,而不是标签

业务服务上基于 IP 的访问规则检查的是包头里的一个字段。如果这个字段必须匹配某个固定值,那么无论池里有多少地址,轮换池都是错误的工具。固定分配能满足规则,直到维护工作移动了地址,这正是维护策略必须和功能清单放在同一场讨论里的原因。

curl -4 -s https://api.ipify.org; echo
curl -6 -s https://ifconfig.co; echo

在隧道开启的状态下运行这两行命令。第一行确认允许名单将看到的 IPv4 出口;第二行则能抓到双栈泄漏,IPv6 流量从运营商直出,而 IPv4 走隧道。同时接受两个协议族的服务,可能因为 IPv4 结果永远显示不出的原因而通不过允许名单检查。

然后确认需要允许名单的那个应用,正是走隧道的应用:分流隧道、被排除的路由或代理设置,都可能在浏览器测试看起来正常的同时,把该应用直接放出去。隧道断开时阻断流量的终止开关,胜过悄无声息地回落到家庭地址,而允许名单工作流恰恰就是这样朝错误方向失效的。

声誉随地址一起迁移

共享出口承载着所有用过它的人累积的行为,因此目的端的评分、速率限制和挑战页面都会对这段历史作出反应。于是普通浏览可能因为你看不见的原因而遇到额外验证。固定地址把贡献者的集合收窄到你自己的账户。它同样不会干净到手,因为固定地址会被回收,而数据中心网段无论现在归谁所有,待遇都可能与住宅网段不同。

账户、Cookie 和浏览器指纹仍然主导着其中大部分判断。

把声誉看作整条路径的属性,而不是贴在套餐名上的一个数字。同一家服务商的两个客户,可能因为子网、目的端自身的策略或请求背后的账户而受到不同对待。

两种方式下始终不变的部分

隧道以同样的方式加密。WireGuard 仍然用同样的密钥握手,OpenVPN 仍然协商同样的加密套件,出口地址从不参与那场协商。为固定地址付费,买到的是分配行为,而不是更强的传输。

运营方的可见性同样不变。源连接、时间戳和账户标识在出口处依然可被观察,两种安排都是如此;与陌生人共享地址也不会产生什么日志政策。固定地址甚至可以充当跨会话更稳定的标识,这恰恰与独享更私密的假设相反。

当目的端要求稳定来源、当工作流无法容忍轮换、或者当共享历史反复干扰正常流量时,选择固定地址。当唯一的需求只是换一个出口、而轮换不带来任何成本时,就留在池里。在相信任何一种假设之前,先用上面两条命令验证结果。你以为存在的出口,和服务器看到的出口,只有在中间没有任何东西改写它时,才是同一个字段。

相关文章