Windows позволяет назначить несколько IP адресов (алиасов, псевдонимов) на один физический сетевой адаптер. Это может пригодиться, когда вы хотите запустить несколько веб сайтов с уникальными IP адресами на одном сервере IIS, хотите привязать приложение к определенному IP или готовитесь к смене IP адресации. В Windows можно назначить дополнительные статический адрес на сетевой интерфейс через графический интерфейс или из командной строки.
Добавить дополнительный IP адрес через панель управления Windows
Дополнительный IP адрес можно назначить на сетевой интерфейс через графический интерфейс панели управления Windows.
- Откройте панель управления сетевыми подключениями (выполните команду
ncpa.cpl
). - Откройте свойства вашего сетевого интерфейса.
- В списке протоколов выберите TCP/IP v4 и нажмите Свойства.
- Нажмите на кнопку Advanced (Дополнительно) и в секции «IP адреса» нажмите кнопку Добавить.
- Укажите дополнительный IP адрес и маску подсети и нажмите Добавить.
- Сохраните изменения.
Выполните команду
ipconfig
и проверьте, у интерфейса появился второй IP адрес.
Проверьте доступность второго IP адреса по сети с других компьютеров командой ping. Он должен отвечать.
Параметр SkipAsSource и основной IP адрес сетевого адаптера
Когда вы назначаете дополнительный IP из панели управления, такой IP адрес будет использоваться для исходящих соединений. Дело в том, что в современных версиях Windows отсутствует понятие основного IP адреса. Если вы хотите запретить отправку исходящего трафика со всех дополнительных IP адресов, нужно включить для них опцию SkipAsSource.
С помощью PowerShell выведите список IPv4 адресов, назначенных сетевым адаптерам:
Get-NetIPAddress | where AddressFamily -eq IPv4| Select-Object IPAddress, InterfaceAlias, SkipAsSource
В этом примере SkipAsSource =False установлен для всех IP адресов компьютера. Если вы хотите сделать определенный IP адрес основным, выполните команду:
Get-NetIPAddress 192.168.1.90 | Set-NetIPAddress -SkipAsSource $True
Теперь указанный IP не будет использоваться в качестве источника исходящих подключений, кроме случаев его явного задействования определенным приложением. Так же при включенном флаге второй IP адрес не регистрируется в DNS (при включенной динамической регистрации).
Назначить второй IP адрес сетевому интерфейсу из командной строки/PowerShell
При добавлении дополнительного IP адреса из командной строки вы можете сразу включить для него флаг SkipAsSource. Например, с помощью netsh:
Netsh int ipv4 add address name="Local Area Connection" 192.168.1.92 255.255.255.0 SkipAsSource=True
Вывести список назначенных IP адресов и значение опции SkipAsSource:
netsh int ipv4 show ipaddresses level=verbose
Также можно настроить второй IP для сетевого интерфейса с именем Ethernet0 с помощью PowerShell:
New-NetIPAddress –IPAddress 192.168.1.92 –PrefixLength 24 –InterfaceAlias “Ethernet0” –SkipAsSource $True
Чтобы разрешить исходящий трафик с данного IP адреса сетевого интерфейса воспользуйтесь командой:
Get-NetIPAddress 192.168.1.92 | Set-NetIPAddress -SkipAsSource $False
Удалить дополнительный IP:
Get-NetIPAddress 192.168.1.92| Remove-NetIPAddress
Сайт вроде для системных администраторов, а не для детского сада. И контент и подача материала будто для тех, кто вчера открыл для себя cmd.exe
Сделайте свой сайт, «правильный» )
О, божество снизошло. Его высочество гуру, всеведущий во всех возможностях ОС!
Я к примеру вообще забыл о данной фишке, так как последний раз пользовался ею лет 5 назад.
И про флаг не знал. Но Всеведущий и Всезнающий гуру конечно должен отписаться, назвав всех детсадовцами.
Одно непонятно, зачем ты зашёл на этот сайт? Ты же выше этого.
Дима, все очень ждали этот коммент!
Автору спасибо.
Присылайте свои статьи на правильные админские темы — кто же мешает :). С удовольствием опубликую.
На какую почту?
Контактный email есть на страице https://winitpro.ru/index.php/o-bloge/
Спасибо, про флаг SkipAsSource не знал
Я сделаю свой сайт с блекджеком и люхами. Да и зачем не сайт. )
Автору спасибо. Вот про флаг не знал.
netsh int ipv4 show ipaddresses level=verbose
Для Powershell 2 нет решений по добавлению IP?
Не знаю. Пользуйтесь netsh , либо обновите версию PoSh — это будет правильнее.
Довольный интересный малоизвестный момент с флагом, спасибо!
При этом адреса могут быть из разных подсетей.
Есть два сервера в одном vlan’е
Если воспользоваться данным методом и назначить 2й Ip для обоих серверов будет ли конфликт IP адресов?
Если IP будут уникальными, то конфликта не будет.
Добре.
Не пойму как решить вопрос:
есть основной ip на интерфейсе: 192.168.1.1/24
добавил второй с skipassource=true: 192.168.1.2/24
имеем роуты:
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.254
192.168.1.0 255.255.255.0 On-link 192.168.1.1
192.168.1.1 255.255.255.255 On-link 192.168.1.1
192.168.1.2 255.255.255.255 On-link 192.168.1.1
Как добавить маршрут, что бы в сеть 192.168.2.0/24 пакеты отправлялись с src ip 192.168.1.2, в то время как все остальные шли от 192.168.1.1?
при добавлении маршрута параметр if предлагает задать id интерфейса, а на интерфейсе все так же висит .1.1.
Можно как то добавить в систему виртуальный свитч и к нему подключать вники, только без добавления роли hyper-v?)
Не представляю, как на одном интерфейсе настроить такую маршрутизацию. Скорее всего вам придется создавать отдельный сетевой интерфейс через VLAN (https://winitpro.ru/index.php/2020/03/17/nastrojka-vlan-interfejsov-v-windows/) или hyper-v switch.