如何控制来自多宿主服务器的源 IP 地址?

如何控制来自多宿主服务器的源 IP 地址?

我的 Windows Server 2008 服务器的网卡绑定了多个 IP 地址。如何配置它,以便来自某些程序、某些端口或特定目标的连接获得指定(而不是默认)源地址?

例如,我该如何配置以便到端口 80 或 443 的连接或者来自 Firefox 的连接使用非默认 IP?

答案1

IP 路由选择是在浏览器本身之下完成的,因此插件不太可能存在。

根据您的操作系统,TCP/IP 堆栈选择将传出的数据包发送到互联网上的随机位置(也称为默认路由所覆盖的任何内容)的 IP 地址取决于几件事。

  • 如果默认路由网关仅可通过单个接口访问,则将使用该接口。
  • 如果单个接口上有多个 IP 地址,但位于同一子网,则服务器将根据堆栈的编码方式选择其中一个:
    • 最先绑定的IP地址。
    • 较低的 IP 地址。
  • 如果您有两个接口的 IP 地址可以到达默认路由,则选择可能是(同样,取决于 TCP/IP 堆栈)
    • 路由表中为默认路由指定的接口
    • 绑定到序号最小的接口的 IP(对于 Windows,是 eth0 而不是 eth1,或者接口 1 而不是接口 3)
    • 具有最低绑定 IP 的接口

答案2

这取决于操作系统。

Win2003 使用“弱宿主“方法。Win2008和Win2012使用“强力主机“ 方法。

更多信息:
http://blogs.technet.com/b/networking/archive/2009/04/25/source-ip-address-selection-on-a-multi-homed-windows-computer.aspx

答案3

我不知道有任何浏览器插件允许您编辑多宿主系统的路由,因为此类功能需要管理权限。

TCP/IP 网络计算机根据 IP 路由表确定所有传出数据包使用哪个接口和/或地址。在 Linux 下/sbin/route -n将显示系统的路由。我相信 MS Windows 下的命令类似。

如果 IP 地址位于同一子网,我相信系统将使用默认路由或 IP 地址(我相信通常是绑定到网络接口的第一个地址),除非另有配置。

相关内容