我有一个异地 Microsoft IIS FTPS 主机 (x.74),监听端口 8443。IIS 版本 6.2 内部版本 9200,Windows Server 2012 R2。
从我的工作站,我能telnet x.74:8443。(工作站 -> 站点 1 防火墙 -> 主机)
服务提供商不能telnet 同一端口。(NAT x.12:8443)(提供商 -> 站点 2 防火墙 -> 站点 1 防火墙 -> 主机)
两个站点均由公司控制,位于同一 WAN 上。服务提供商驻扎在站点 2。NAT 规则位于站点 2。我们可以在两个站点的防火墙上看到具有适当源和目标的流量,并且流量被接受。因此问题很可能出在服务器本身上。
服务器上的 IIS 日志没有显示来自服务提供商的任何尝试,但我可以看到我的尝试。我已关闭服务器防火墙并卸载防病毒软件以消除可能的阻止源。我们已尝试将 NAT 地址添加到 IIS 站点绑定以及物理服务器 IP。
我是否需要在 IIS(或其他地方)进行一些调整以使 ServiceProvider 能够访问该端口?
额外信息:大多数配置都是从与同一服务提供商通信的相同服务器克隆的。由于共享服务等原因,需要将服务提供商转移到站点 2。(提供商 -> 主机)此配置运行良好。没有 NAT。FTPS 将处于被动模式。
答案1
问题出在 NAT 规则上,而不是 IIS 上。Telnet 帮助解决了这个问题。
假设服务提供商 IP 是 x.10,他们尝试使用 NAT x.12 访问我的 IIS。但是,NAT 会使用原始源 IP x.10 转发流量。
站点 1 与服务提供商有直接连接(使用相同的 x.10 IP),我们正尝试从该站点迁移,因此通过直接链接在 IIS 和服务提供商之间进行的流量被阻止。
问题是,当 IIS 尝试响应服务提供商时,它会使用收到的原始 IP 进行响应,然后会尝试通过直接链接(被阻止)而不是所需的链接(通过站点 2)来路由响应。
提出的解决方案是使用另一个 NAT IP 作为源 IP 来转发流量,这样 IIS 就会将响应发送到该 NAT,并通过站点 2 进行路由。
实施的解决方案是将 IIS 服务器放在站点 2 中并跳过所有路由混乱。
传入流量路由:提供商 -> 站点 2 防火墙 -> 站点 1 防火墙 -> 主机
所需的传出流量路由:主机 -> 站点 1 防火墙 -> 站点 2 防火墙 -> 提供商
导致故障的流量路由:主机 -> 站点 1 防火墙 -> 提供商
解决方案:将主机放在站点 2