
У меня есть виртуальная машина Windows Server 2012R2 с 3 IP-адресами: 4.70, 4.17 и 4.18.
4.70 — первый IP-адрес, введенный в окне свойств, 4.17 и 4.18 вводятся в расширенном диалоговом окне.
Как вы можете видеть в маршрутной распечатке, Windows привязывает 4.17 как IP по умолчанию, и я хочу заставить Windows использовать 4.70 как IP по умолчанию. 4.17/4.18 используются в IIS, и есть некоторые нетривиальные проблемы с брандмауэром, которые нужно решить. В то же время мне нужно, чтобы остальной трафик на коробке исходил из 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://securahosting.com/technical-insight/windows-server/set-primary-ip-address-windows-server-2012#.VOe_0EfF98E
и это:http://www.confusedamused.com/notebook/source-ip-address-preference-with-multiple-ips-on-a-nic/
короче говоря, в настройке адреса netsh используйте флаг SkipAsSource=true для всех неосновных IP-адресов
решение2
Для этого можно легко использовать PowerShell:
Set-NetIPAddress -IPAddress 192.168.1.221 -SkipAsSource:$true
Сделайте это для всех IP-адресов на интерфейсе, которые вы не хотите делать адресами по умолчанию. Оставьте один IP, где SkipAsSource = False. Этот 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-адресом вывода.