两条命令、两个本地 SOCKS 端口、一个公网 IP。当两个 SSH 连接都到达同一台服务器,且服务器使用同一条对外网络路径时,这是正常的。

用于登录 SSH 的地址是入站方向。网站连接则是本地动态转发的服务器一侧新建的出站连接。这两个角色是分开的。

在同一台 VPS 上先连接地址 A、再连接地址 B,并不会让它把 A 和 B 分别当作转发连接的来源地址。路由和源地址选择可能给两者选到同一个来源。

本地端口只是一个把手,不是新的身份

端口 1080 和 1081 只是区分你笔记本上的监听者,并不分配远端地址。动态转发文档说明目标是如何从远端一侧打开的,但并没有承诺每个 SSH 登录地址对应一个源地址。

要得到彼此独立的出口,就要在架构上把选择写明。使用不同对外路径的独立网关是一种方案;具备有据可查的源地址控制的专用代理是另一种。Squid 的出站地址控制说明这是与接受客户端连接相互独立的特性。

SSH 的本地 -b 选项不是远端出口选择器。它绑定的是客户端一侧的 SSH 连接,而不是远端服务器访问网站时的源地址。

还要检查地址族和 NAT。IPv6 网站看到的身份可能不同于仅支持 IPv4 的站点,而且服务器的多个地址可能被转换为同一个公网来源。应当清点可用的对外路径,而不只是已配置的端口或 SSH 登录地址。

相关文章