我有一台 Windows Server 2012R2 VM,具有 3 个 IP 地址:4.70、4.17 和 4.18
4.70 是在属性表中输入的第一个 IP 地址,4.17 和 4.18 是在高级对话框中输入的。
正如您在路由打印中看到的,Windows 将 4.17 绑定为默认 IP,我想强制 Windows 使用 4.70 作为默认 IP。IIS 中使用 4.17/4.18,并且有一些不简单的防火墙问题需要解决。同时,我需要盒子上其余的流量来自 4.70。
ipconfig/全部:
Ethernet adapter Ethernet0:
Description . . . . . . . . . . . : Intel(R) 82574L Gigabit Network Connection
Physical Address. . . . . . . . . : 00-50-56-9B-33-55
DHCP Enabled. . . . . . . . . . . : No
IPv4 Address. . . . . . . . . . . : 192.168.4.17(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.254.0
IPv4 Address. . . . . . . . . . . : 192.168.4.18(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.254.0
IPv4 Address. . . . . . . . . . . : 192.168.4.70(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.254.0
Default Gateway . . . . . . . . . : 192.168.4.1
路线打印:
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.4.1 192.168.4.17 266
答案1
和这个:http://www.confusedamused.com/notebook/source-ip-address-preference-with-multiple-ips-on-a-nic/
简而言之,在 netsh 地址设置中对所有非主 IP 使用 SkipAsSource=true 标志
答案2
您可以轻松地使用 PowerShell 来执行此操作:
Set-NetIPAddress -IPAddress 192.168.1.221 -SkipAsSource:$true
对接口上您不想成为默认 IP 地址的所有 IP 地址执行此操作。保留一个 SkipAsSource = False 的 IP。该 IP 最终将成为默认 IP。
答案3
在这里我找到了一篇帖子,其中有一个关于如何定义主 IP 输出的非常详细的示例:
https://www.sysadmit.com/2018/12/windows-configurar-ip-primaria-salida.html
从上一个链接中提取的示例:
假设我们要在同一个网络接口中配置以下 IP 地址:172.17.0.2、172.17.0.3 和 172.17.0.10,但输出的主 IP 地址是:172.17.0.10,而不是 172.17.0.2。
我们删除当前的 TCP / IP 配置并执行以下操作:
netsh int ipv4 add address "Ethernet0" 172.17.0.2/16 SkipAsSource = true
netsh int ipv4 add address "Ethernet0" 172.17.0.3/16 SkipAsSource = true
netsh int ipv4 add address "Ethernet0" 172.17.0.10/16 SkipAsSource = false
如果我们看一下,前两行表明 172.17.0.2 和 172.17.0.3 都被忽略为输出的主 IP 地址,因此 IP 地址 172.17.0.10 将被视为输出的主 IP 地址。