我有一个Windows Server有约10个IP地址静态绑定。 问题是我不知道如何指定默认的IP地址。
有时,当我为NIC分配新地址时,默认IP地址会随NIC上高级IPconfiguration中input的最后一个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地址)将被我的服务器用作默认地址?
使用Server 2008 Service Pack 2(不是R2)或Vista SP2 和MS修补程序 KB975808有一个解决scheme,虽然有点笨拙。 您将删除所有不想作为源的地址,然后使用命令行重新添加每个地址
Netsh int ipv4 add address <Interface Name> <ip address> skipassource=true
此修复程序启用“跳过作为源”标志。
有关不同Windows版本如何select源IP的更深入的了解,请参阅此TechNet博客文章 。
networking接口没有像“默认IP”那样的东西; 相反,您的系统路由表定义了在与其他设备通信时应使用哪个逻辑接口。
这听起来像你想要做的是configuration一个默认路由。 这将导致本机启动的所有会话都来自特定的IP。
使用路由添加来添加默认网关
你的情况不是很清楚,但是如果我弄清楚了你的话:
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
你不能使用IP地址的指标吗? 在TCP / IP属性中,取消选中“自动度量标准”,然后为您的默认地址分配一个值低于261的静态值(如屏幕截图所示)。
一个命令的forms如下:
> route add 0.0.0.0 mask 0.0.0.0 192.168.99.1 metric xxx如果是yyy
将会改变机器进入非192.168.99.0 / 24和非10.10.10.0 / 24地址时的地址。 也就是说,使用默认网关时。 度量标准(xxx)应该高于其他值,以确保使用规则。 界面(yyy)必须是界面才能使用。 但是,如果有多个IP地址,我认为没有办法控制该接口上的哪个IP地址使用。
> route add 192.168.99.0 mask 255.255.255.0 metric xxx如果是yyy
是类似的,但任何192.168.99.0/24地址系统去。 事实是,将多个IP地址分配给一个接口可能会遇到这样的问题。
我已经能够复制您的问题:它看起来像Windows使用给定的networking接口上最低分配的IP地址作为“传出”一个,无论它们被分配的实际顺序。
我无法find有关此行为的任何文档,但我确定这是devise。
我认为这不是在操作系统级别完成的,但是可以通过应用程序中的代码完成:在将套接字连接到远程端点之前,套接字可以显式绑定到选定的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
这将打开一个到1.2.3.4:80的连接,源自192.168.99.100:4242,所以远程主机将看到它来自完全的IP地址。
尝试通过连接到IIS进行testing,它将来自指定IP地址的请求logging下来。
自Vista进行大修以来,TCP / IP协议栈对出站呼叫的源地址select进行了不同的处理。 在XP / 2003和更早的版本中,源地址是由路由表确定的,当没有明确声明的应用程序进行出站呼叫。 从Vista / 2008开始,如果目的地不是本地的,则源地址可以由目的地的前缀亲缘关系或下一跳网关地址确定。 以下Technet博客发布很好地解释了行为变化。
我将Windows 2008 R2 SP1 x64企业版用作具有一个NIC的Web服务器。
我遇到了上述相同的问题。 我希望出站连接由默认IP地址(签名到服务器的IP地址)来处理,但它会随机select我服务器上10个网站的10个IP地址中的哪个IP地址。
如果您运行以下命令,它们都会显示为首选的IP地址。
Netsh int ipv4 show ipaddresses level=verbose
我试着下载Hot Fix,但由于某种原因(我加倍,三重检查),它说“它不能在这个操作系统版本上运行”,如果你们想在这里试试它的话 。
如果您有MS DNS服务器运行,您会注意到SAME服务器名称将被注册11次(在我的情况下)1个IP用于服务器,10个IP用于每个网站。
我相信这可能是一个解决方法(在这个时候,除非别人有更好的解决scheme)
是在服务器和网站的IP地址input的TCP属性下去到Windows服务器,你会看到有一个DNS选项卡。 现在请检查注册连接地址并重新启动服务器(并保持未选中状态)。
如果您检入DNS服务器,所有具有IP的DNS条目将会消失。
现在在DNS中inputMANUALLY服务器名称和首选IP地址 。 它应该解决这个问题。
如果您有任何更好的解决scheme,请与我们分享。
抱怨:不知道为什么MS没有解决这个问题。 他们应该为在同一子网上携带多个IP地址的服务器创build一个选项(如checkbox),以便select哪个IP地址应该是首选的。
“默认地址”是放在接口卡属性的第一个input框中的默认地址,因为默认情况下这个地址会被回复,所有的地址都被认为是次要地址。
(ISA服务器就是这种行为的一个很好的例子,因为你不能告诉它回复与它联系的IP地址)
我find一个解决scheme:
这工作在我的2008R2 / IIS7与20个IP地址。
BR,Matija
我解决了这个问题,把所有附加地址的networking掩码改为255.255.255.255
,只保留默认地址。
我希望这能为你解决!