Windows Server 2008:当NIC具有多个地址时,请指定默认IP地址


23

我有一个Windows Server,它具有约10个静态绑定的IP地址。问题是我不知道如何指定默认IP地址。

有时,当我为NIC分配新地址时,默认IP地址会随着在NIC的高级IP配置中输入的最后一个IP而改变。这具有影响(因为我使用NAT),因为传出的公共IP也发生了变化。

即使此问题当前在Windows Server 2008上。

当绑定了多个IP地址时,如何在NIC上设置默认IP地址?

关于我的问题有更多说明。

替代文字http://www.nmediasolutions.com/_images/probleme/ip.png

这是输出ipconfig

DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
IPv4 Address. . . . . . . . . . . : 192.168.99.49(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.51(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.52(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.53(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.54(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.55(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.56(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.57(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.58(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.59(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.60(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.61(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.62(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.64(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.65(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.66(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.67(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.68(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.70(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.71(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.100(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.108(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.109(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.112(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
IPv4 Address. . . . . . . . . . . : 192.168.99.63(Duplicate)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.99.1

如果我pathping回答了,那么第一个是99.49,如果我的默认IP地址是99.100,

Tracing route to www.l.google.com [72.14.204.99]
over a maximum of 30 hops:
  0  Machine [192.168.99.49]

机器上有路由表:

 Network Destination        Netmask          Gateway       Interface  Metric
              0.0.0.0          0.0.0.0     192.168.99.1    192.168.99.49    261
           10.10.10.0    255.255.255.0         On-link       10.10.10.10    261
          10.10.10.10  255.255.255.255         On-link       10.10.10.10    261
         10.10.10.255  255.255.255.255         On-link       10.10.10.10    261
         192.168.99.0    255.255.255.0         On-link     192.168.99.49    261
        192.168.99.49  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.51  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.52  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.53  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.54  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.55  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.56  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.57  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.58  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.59  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.60  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.61  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.62  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.64  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.65  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.66  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.67  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.68  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.70  255.255.255.255         On-link     192.168.99.49    261
        192.168.99.71  255.255.255.255         On-link     192.168.99.49    261
       192.168.99.100  255.255.255.255         On-link     192.168.99.49    261
       192.168.99.108  255.255.255.255         On-link     192.168.99.49    261
       192.168.99.109  255.255.255.255         On-link     192.168.99.49    261
       192.168.99.112  255.255.255.255         On-link     192.168.99.49    261
       192.168.99.255  255.255.255.255         On-link     192.168.99.49    261
            224.0.0.0        240.0.0.0         On-link     192.168.99.49    261
            224.0.0.0        240.0.0.0         On-link       10.10.10.10    261
      255.255.255.255  255.255.255.255         On-link     192.168.99.49    261
      255.255.255.255  255.255.255.255         On-link       10.10.10.10    261

我认为我的路线应如下所示:

Network Destination        Netmask          Gateway       Interface  Metric
              0.0.0.0          0.0.0.0     192.168.99.1    **192.168.99.100**    261
           10.10.10.0    255.255.255.0         On-link       10.10.10.10    261
          10.10.10.10  255.255.255.255         On-link       10.10.10.10    261
         10.10.10.255  255.255.255.255         On-link       10.10.10.10    261
         192.168.99.0    255.255.255.0         On-link     192.168.99.100    261
        192.168.99.49  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.51  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.52  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.53  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.54  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.55  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.56  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.57  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.58  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.59  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.60  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.61  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.62  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.64  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.65  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.66  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.67  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.68  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.70  255.255.255.255         On-link     192.168.99.100    261
        192.168.99.71  255.255.255.255         On-link     192.168.99.100    261
       192.168.99.100  255.255.255.255         On-link     192.168.99.100    261
       192.168.99.108  255.255.255.255         On-link     192.168.99.100    261
       192.168.99.109  255.255.255.255         On-link     192.168.99.100    261
       192.168.99.112  255.255.255.255         On-link     192.168.99.100    261
       192.168.99.255  255.255.255.255         On-link     192.168.99.100    261
            224.0.0.0        240.0.0.0         On-link     192.168.99.100    261
            224.0.0.0        240.0.0.0         On-link       10.10.10.10    261
      255.255.255.255  255.255.255.255         On-link     192.168.99.100    261
      255.255.255.255  255.255.255.255         On-link       10.10.10.10    261

如何确定映像中使用的IP地址(假定为默认IP地址)将由我的服务器用作默认地址?

Answers:


11

使用Server 2008 Service Pack 2(非R2), Vista SP2 和MS修补程序 KB975808,虽然有些笨拙,但却有一个解决方案。您将删除所有不需要的地址,然后使用以下命令在命令行中重新添加每个地址

Netsh int ipv4 add address <Interface Name> <ip address> skipassource=true

此修复程序启用“作为源跳过”标志。

要深入了解不同Windows版本如何选择源IP,请参阅此TechNet博客文章


6

网络接口没有诸如“默认IP”之类的东西。而是您的系统路由表定义了与其他设备通信时应使用的逻辑接口。

听起来您想做的就是配置默认路由。这将导致由本机发起的所有对话均来自特定的IP。

使用路由添加来添加默认网关


我怎样才能改变我的路由表,实际上是99.49我需要的默认路由是99.100
塞德里克·博伊文

默认网关是默认路由,反之亦然。这只是术语问题。
凯文M

我知道,但是不能更改默认路由。我该如何更改?什么是正确的命令式
塞德里克·博伊文

1
您可以尝试以下操作:“路由添加0.0.0.0掩码0.0.0.0 192.168.99.100度量标准2”
Jeff Miles 2010年

如果我这样做了,不,我不能再上网了,因为这是错误的网关。
塞德里克·博伊文

2

您的情况还不太清楚,但是如果我说对了:
1)为什么您不将最后一个“需要成为默认” IP设置为最后一个呢?

2)或者,也许您可​​以尝试此操作(假设网关地址为192.168.99.1):

route delete 0.0.0.0
route -p add 192.168.99.1 mask 255.255.255.255 192.168.99.100
route -p add 0.0.0.0 mask 0.0.0.0 192.168.99.1 192.168.99.100

要获取有关“ route”命令的语法的更多信息,请参见此处:http : //www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/route.mspx?mfr=true


不行,命令不好。错误,找不到指定文件
塞德里克·博伊文

尝试不带“如果”:route -p添加192.168.99.1掩码255.255.255.255 192.168.99.100,但它应该可以工作,请问一下错误吗?
Alexey Shatygin

这一次,没有错误消息,但不会改变什么
塞德里克·博伊文

它应该更改您的路由表。您可以再次执行“路由打印”,此命令和“路由打印”并将输出放在这里吗?
Alexey Shatygin

并且,在执行我发布的命令之前,进行“ route delete 0.0.0.0”
Alexey Shatygin,2010年


1

格式为以下命令:
>路由添加0.0.0.0掩码0.0.0.0 192.168.99.1公制xxx(如果yyy
会更改当计算机转到任何非192.168.99.0/24和非10.10.10.0/24地址时看到的地址) 。即,使用默认网关时。指标(xxx)应该高于其他任何值,以确保使用规则。接口(yyy)必须是要使用的接口。但是,如果有多个IP地址,我认为没有办法控制该接口上要使用哪个IP地址。
>路由添加192.168.99.0掩码255.255.255.0公制xxx(如果yyy
相似,但适用于系统转到的任何192.168.99.0/24地址)。事实是,将多个IP地址分配给单个接口可能会遇到此类问题。


1

我已经能够重复您的问题:Windows似乎将给定网络接口上分配的最低 IP地址用作“传出”地址,而与分配它们的实际顺序无关。

我找不到有关此行为的任何文档,但是我很确定它是设计使然。


编辑

我认为这确实不能在OS级别完成,但是可以通过应用程序中的代码完成:套接字可以显式绑定到选定的IP地址/端口对连接到远程端点。但是,您必须使用比标准Web服务库更低级别的库。在IE中,您必须手动打开一个套接字,将其连接起来并使用它来读取/写入数据。

.NET / C#示例:

using System.Net;
using System.Net.Sockets;

IPAddress local_addr = IPAddress.Parse("192.168.99.100");
IPAddress remote_addr = IPAddress.Parse("1.2.3.4");

int local_port = 4242;
int remote_port = 80;

IPEndPoint local_ep = new IPEndPoint(local_addr,local_port);
IPEndPoint remote_ep = new IPEndPoint(remote_addr,remote_port);

Socket s = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);

s.Bind(local_ep);

s.Connect(remote_ep);

// Now use the socket to talk to the remote host

这将打开一个从192.168.99.100:4242发起的与1.2.3.4:80的连接,因此远程主机将看到它恰好来自该IP地址。

通过连接到IIS进行尝试和测试,它将请求记录为来自指定的IP地址。


我读过一些可能与ip地址进行二进制比较的服装吗?
塞德里克·博伊文

1
是的,二进制比较很可能是选择“最低的”的方式;不过,我没有尝试使用属于不同子网的IP。
Massimo'Mar

我目前最大的问题是,我在多个IP地址上拥有300多个网站,并且当我的服务器通过Internet呼叫另一个服务器(Web服务)时,我不确定我的服务器将拥有哪个公共IP。
塞德里克·博伊文

感谢您提供此答案,但是在我的情况下,无法应用此解决方案。解决方案需要来自操作系统或防火墙。这是通过应用程序解决问题的好方法,但是我们转到许多应用程序,以解决每个网站上的问题。
塞德里克·博伊文

但是,即使您能够按照自己的意愿进行操作,也无法使不同的网站使用不同的IP。这样,您可以:-)
Massimo 2010年

1

自Vista检修以来,TCP / IP堆栈对出站呼叫的源地址选择进行了不同的处理。在XP / 2003和更早版本中,当进行出站呼叫的应用程序未明确声明时,源地址由路由表确定。从Vista / 2008开始,如果目标不是本地的,则可以通过对目标的前缀相似性或下一跃点网关地址来确定源地址。以下Technet博客文章很好地解释了行为更改。

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


1

我有Windows 2008 R2 SP1 x64企业版被用作具有一个NIC的Web服务器。

我遇到了上述相同的问题。我希望出站连接由默认IP地址(已签名到服务器的一个)处理,但它会一直随机选择该服务器上我10个网站的10个IP地址中的哪个IP地址。

如果运行以下命令,它们都将显示为首选IP地址。

Netsh int ipv4 show ipaddresses level=verbose

我尝试下载Hot Fix,但由于某种原因(我进行了两次,三次检查),它表示“它无法在此OS版本上运行。”如果您想在这里尝试,请尝试。

如果您运行的是MS DNS服务器,则将注意到SAME服务器名称将被注册11次(在我的情况下)该服务器1个IP,每个网站10个IP。

我认为这可能是一种解决方法(目前,除非其他人有更好的解决方案)

要转到Windows服务器的TCP属性下,您在其中输入了服务器和网站的IP地址,您将看到一个DNS选项卡。现在,取消选中“注册连接地址”并重新引导服务器(并保持未选中状态)。

如果您签入DNS服务器,则所有带有IP的DNS条目都将消失。

现在,在DNS中手动输入服务器名称和首选IP地址。并且它应该解决该问题。

如果您有任何更好的解决方案,请与我们分享。

Gripe:不知道为什么MS无法解决此问题。他们应该为服务器创建一个选项(如复选框),该选项在同一子网上承载多个IP地址,以便您选择哪个IP地址为首选。


0

“默认地址”是放在接口卡属性上第一个输入框中的地址,因为默认情况下它将用该地址答复,所有其他地址都视为次要地址。

(ISA服务器是这种行为的一个很好的例子,因为您不能告诉它使用与其联系的IP进行回复...)


它应该是那样的,但是不起作用。在我的情况下,IP 99.49是在高级配置和99.100是一个谁在IPv4中的属性来指定....
塞德里克·博伊文

这真的很奇怪,因为我们的基础设施在Web服务器过滤器和其他东西中经常使用它。您是否尝试过从卡属性中删除所有IP,但要保留默认IP,然后应用它们,然后再放回去?
Alexandre Nizoux 2010年

是的,我试试吧,当我进入99.49发生同样的问题
塞德里克·博伊文

最低的IP是99.49?
Alexandre Nizoux 2010年

是的,它是你可以看看我的IPCONFIG顶部
塞德里克·博伊文

0

我找到了解决方案:

  • 在您的主网卡上,删除要作为默认值的IP,同时删除默认gw,并为其设置较高的指标(例如:50)
  • 添加辅助NIC,为其提供所需的IP作为“默认”,在此处设置默认GW,并在“高级”选项卡上设置最低指标(示例:1)

这在我的2008R2 / IIS7中具有20个IP地址。

BR,马蒂亚


0

我通过将网络掩码更改为 255.255.255.255所有其他地址为并仅保留默认地址不变来解决了该问题。

希望这为您解决!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.