Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Windows

Как сделать несколько адресов на одном сетевом интерфейсе Windows : Windows

27.01.2022 14:44


10.08.2018 19:08
Occul
 
В некоторых ситуациях администратору необходимо настроить несколько IP адресов на одном сетевом интерфейсе (сетевой карте) в Windows. Примером таких ситуаций может быть необходимость запуска нескольких сайтов с уникальными IP адресами и SSL сертфикатами (тех же SSL сертфикатов от Let’s Encrypt ) на одном сервере IIS или Apache, подготовка к смене IP адресации в подсети, привязка приложений к разным IP адресам и т.д.


Рассмотрим, как добавить дополнительный статический IP адрес на сетевой интерфейс в Windows 10 (аналогичным образом можно добавить дополнительный IP адрес в Windows Server). В первую очередь убедитесь, что вашему сетевому адаптеру Ethernet назначен только один адрес. Для этого выполните команду:

Код:
ipconfig



Как вы видите подключению по локальной сети (у меня оно называется Ethernet0) присвоен один IP адрес (192.168.1.90).

Добавить второй статический IP адрес можно несколькими способами.

Добавляем дополнительный IP адрес через GUI
Можно задать дополнительный адрес через графический интерфейс системы.

Откройте Панель управления –> Все элементы панели управления -> Сетевые подключения (или просто выполните команду ncpa.cpl).
Откройте свойства вашего сетевого интерфейса.
В списке протоколов выберите TCP/IP v4 и нажмите кнопку Свойства.




Нажмите на кнопку Advanced (Дополнительно) и в секции «IP адреса» нажмите кнопку Добавить.
Укажите дополнительный IP адрес и маску подсети и нажмите Добавить.
Сохраните изменения, несколько раз щелкнув на OK.




С помощью ipconfig убедитесь, что у этого интерфейса появился второй ip адрес.




Проверьте доступность второго IP адреса по сети с других компьютеров командой ping. Он должен отвечать.




Флаг SkipAsSource
Основной недостаток добавления второго ip адреса таким способом – для него не включается флаг SkipAsSource (SkipAsSource=False). Если флаг SkipAsSource включен (True), то этот IP адрес не будет использоваться системой для исходящих соединений, кроме явного его задействования определенным приложением. Так же при включенном флаге второй IP адрес не регистрируется в DNS (при включенной динамической регистрации). По сути с помощью параметра SkipAsSource вы можете установить оснвной IP адрес.

Назначаем второй IP адрес интерфейсу с помощью команды Netsh
Вы можете привязать дополнительный ip адрес из командной строки с помощью утилиты Netsh. Также данная команда позволяет выставлять флаг SkipAsSource для IP адреса.

Откройте командную строку с правами администратора и выполните команду

Код:
netsh int ipv4 add address name="Local Area Connection" 192.168.1.92 255.255.255.0 SkipAsSource=True
Добавляем дополнительный IP адрес с помощью PowerShell
Также вы можете добавить второй IP алиас сетевой карте с помощью PowerShell командлета New-NetIPAddress (командлет появился в версии PowerShell для Windows 2012 / Windows 8).

Выедем список доступных интерфейсов:

Код:
Get-NetIPAddress | ft IPAddress, InterfaceAlias, SkipAsSource



Код:
IPAddress InterfaceAlias SkipAsSource
--------- -------------- ------------
172.23.53.241 vEthernet (Коммутатор по у) False
192.168.1.90 Ethernet0 False
127.0.0.1 Loopback Pseudo-Interface 1 False
Чтобы добавить дополнительный IP для сетевого интерфейса Ethernet0 выполните команду:

Код:
New-NetIPAddress –IPAddress 192.168.1.92 –PrefixLength 24 –InterfaceAlias “Ethernet0” –SkipAsSource $True



Код:
IPAddress : 192.168.1.92
InterfaceIndex : 11
InterfaceAlias : Ethernet0
AddressFamily : IPv4
Type : Unicast
PrefixLength : 24
PrefixOrigin : Manual
SuffixOrigin : Manual
AddressState : Tentative
ValidLifetime : Infinite ([TimeSpan]::MaxValue)
PreferredLifetime : Infinite ([TimeSpan]::MaxValue)
SkipAsSource : True
PolicyStore : ActiveStore
Чтобы изменить параметр SkipAsSource и разрешить исходящий трафик с данного IP адреса сетевого интерфейса воспользуйтесь командой:

Код:
Get-NetIPAddress 192.168.1.92 | Set-NetIPAddress -SkipAsSource $False
27.12.2021 12:03
Propil
 
Пришлось тут добавить второй IP адрес на сетевую, чтобы подключаться к роутерам через web-интерфейс.
Проблема в том, что этот второй адрес (169.168.2.126) становится основным и работа компьютера с локальной сетью нарушается.

Код:
Netsh int ipv4 add address name="Local" 169.168.2.126 255.255.255.0 SkipAsSource=True
Видим:

Код:
C:\Users\AB>netsh int ipv4 show ipaddresses level=verbose

Адрес 127.0.0.1                  Параметры
----------------------------------------------
LUID интерфейса                   : Loopback Pseudo-Interface 1
Код области                           : 0.0
Допустимое время жизни       : infinite
Основное время жизни          : infinite
Состояние DAD                      : Основной
Тип адреса                             : Другое
Не использовать как исходный : false
Адрес 169.168.2.126                  Параметры
----------------------------------------------
LUID интерфейса                    : Local
Код области                           : 0.0
Допустимое время жизни       : infinite
Основное время жизни          : infinite
Состояние DAD                     : Основной
Тип адреса                            : Вручную
Не использовать как исходный : true
Адрес 192.168.0.126
Windows 7
PowerShell 5.1
(NetIPAddress отсутствует)
27.12.2021 12:22
OlegON
 
Цитата:
Propil добавить второй IP адрес на сетевую, чтобы подключаться к роутерам через web-интерфейс
Мне кажется, что основная причина вот здесь... по крайней мере я не могу придумать ни одной связи между первым и вторым
MS пишет, что Win7, которую ты, надеюсь, уже только в очень редких исключительных случаях используешь, требует для этого флага хотфикс. А после хотфикса можно попробовать удалить вообще все адреса, а потом переназначить их в нужной последовательности...
27.12.2021 12:26
Propil
 
Цитата:
OlegON Win7, которую ты, надеюсь, уже только в очень редких исключительных случаях используешь
Обновления безопасности свежие установлены (по декабрь). Приходится использовать..
27.12.2021 12:34
OlegON
 
Зачем тебе второй адрес-то?
27.12.2021 12:47
Propil
 
Цитата:
OlegON Зачем тебе второй адрес-то?
Есть две точки доступа, работающие в режиме моста. У них IP другой подсети.
Если не добавляю на сетевую компьютера второй IP из той же подсети, он их не видит.
27.12.2021 13:02
OlegON
 
Цитата:
Propil он их не видит
это проблема рутинга, им и решается, а не пачкой адресов на интерфейсе...
27.12.2021 13:02
baggio
 
Цитата:
OlegON это проблема рутинга, им и решается, а не пачкой адресов на интерфейсе...
Все нормально работает...
не нужно тут никакого роутинга...
27.12.2021 13:04
OlegON
 
Цитата:
baggio Все нормально работает
Раскройте тему тогда... Я объяснение не понял... Если адреса из другой подсети и комп ее не видит, то это рутинг, а не дополнительные адреса...
27.12.2021 16:38
baggio
 
забудь про роутинг...
вот есть у тебя хаб\свитч
у одного устройства 192.168.0.100
у другого компа 192.168.1.100
как зайти с 192.168.1.100 на вебку 192.168.0.100???
зачем тут роутинг?

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.