我在 Windows 2003/2008 服务器中为 NIC 配置了多个 IP 地址。这样做是为了获得 IIS 网站的唯一内部 IP,并且从这些内部网站地址中的每一个到相应的公共地址都有一个静态 NAT。每个内部 IP 都有一个唯一的公共 IP。
Windows cmd 和其他应用程序默认使用主 IP 作为源 IP。
但是现在我有一个问题,我需要从一个辅助地址向外部网站发起 HTTP/HTTPS 请求,该外部网站只允许来自这个辅助地址的传入流量。
与在 Windows 中将辅助 IP 设置为主 IP 或在 NAT 配置中切换公共地址相比,是否可以以更少侵入性的方式将源 IP 分配给 Windows 应用程序?我不想在只有远程连接的生产服务器中使用 NAT 或 IP 设置。
我正在寻找的是一种更简单的方法来测试这个外部 url,而不是开发和部署在站点上运行并分配了这个辅助 IP 的 Web 应用程序。
简短的回答是否定的,除非应用程序特别支持它。否则,由 IP 堆栈决定如何发送,因此您必须做一些事情,例如在一个接口上添加权重。
浏览器的解决方法是安装本地代理。 如果您不介意将它安装在服务器上,WebScarab将允许您这样做。您可以设置绑定到特定 IP 的本地代理,然后将浏览器设置为使用本地代理。因此,请求将使用代理绑定的 IP 发送到远程服务器。
如果您使用内部代理,请按照本指南将 WebScarab 链接到该代理。
您无法从 Web 浏览器执行此操作,但您可以为使用辅助 IP 的特定 IP/子网添加默认路由。
我知道如何在 Linux 上做到这一点;不知道 Windows,但我认为这只是对“路由添加内容”的一些调用