Виртуальная машина ESXI получает неправильные настройки сети

tcp/ip logo

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов рунета Pyatilistnik.org. В прошлый раз мы с вами разобрали, как производится подключение к удаленному рабочему столу через Windows и Linux, это очень актуально в режим удаленной работы. Сегодня я хочу поговорить про административные вещи, а именно, о виртуализации. Встретился мне тут один интересный случай, когда при смене сетевого интерфейса виртуальная машина получила непонятные сетевые настройки, не те что должна была.

Описание ситуации

И так есть кластер построенный на гипервизоре ESXI 6.5, у одной из виртуальных машин необходимо было изменить тип сетевого интерфейса с VMXNET3 на E1000. После того, как преобразования были выполнены и виртуальная машина была запущена, она получила какие-то неправильные сетевые настройки, IP-адрес, шлюз и DNS сервера не из того VLAN.

Изначально виртуальная машина имела IP-адрес 10.11.22.4

VM ESXI получает неправильные настройки сети

Но после того, как интерфейс был изменен, должны были прилететь настройки APIPA, а тут статический IP-адрес 192.168.31.51. Сбросить его на DHCP или другой IP-адрес ни к чему не приводили.

Не правильный IP-адрес на сетевом интерфейсе

Как устранить проблему с неправильным IP-адресом

Первое, что я начал делать, это поискать в реестре Windows, я вам уже делал подробный обзор, о тех утилитах которыми я пользуюсь.  Открываем Registry Finder и начинаем искать не правильный IP_адрес, в моем случае это 192.168.31.51. Как видите в мое поле зрения вошли некоторые ветки реестра:

  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ Tcpip\Parameters\Interfaces\GUID
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ WLBS\Parameters\Interfaces\GUID
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ GUID\Parameters\Tcpip
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\ Tcpip\Parameters\Interfaces\GUID
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\ WLBS\Parameters\Interfaces\GUID
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\ GUID\Parameters\Tcpip
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Services\ Tcpip\Parameters\Interfaces\GUID
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Services\ WLBS\Parameters\Interfaces\GUID
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Services\ GUID\Parameters\Tcpip

В каждой из них есть ключи реестра IPAddress, DedicatedIPAddresses, которые и используются по какой-то причине операционной системой.

Поиск ip-адреса через Registry Finder

Я так же проверил, что в этих же ветках содержится и правильный IP-адрес.

Где в реестре находится IP-адрес

Как видите в каждой из этих веток есть GUID сетевого интерфейса, в моей системе я вижу только один сетевой интерфейс, но в реестре их два. Давайте удостоверимся, что система видит их больше, для этого откройте оболочку PowerShell и введите команду:

Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\*" | select -ExpandProperty pschildname

В результате я удостоверился, что у меня есть некий фантом. Ранее я вам рассказывал, как определить GUID сетевого интерфейса, поэтому давайте убедимся, какой из них правильный, а какой нет. Напоминаю, правильный у меня тот интерфейс, который имеет тип VMXNET3 (Должен заканчиваться на D4).

Как определить GUID сетевого интерфейса

Так же я вам советую еще открыть диспетчер устройств и включить отображение скрытых устройств, на предмет поиска старого сетевого интерфейса, который там мог легко остаться после миграции физического сервера в виртуальную машину P2V-миграция.

В результате первый GUID заканчивающийся на B2} оказался старый интерфейс от сетевой карты, у которой тип был E1oo0 и производитель Intel. Именно он подставлялся, на свежедобавленный интерфейс, такого же типа E1000. Видимо, Windows оставляет у себя эту информацию после удаления интерфейсов, и потом ее восстанавливает если GUID одинаковые, видимо это нормальное поведение, которое и позволяет на лету менять оборудование.

Поиск GUID сетевого интерфейса для удаления

У второго GUID все нормально, тип VMXNET3, это и есть текущий.

Информация о GUID сетевого интерфейса в реестре

Вывод тут напрашивается сам собой, вам нужно удалить все старые упоминания, о вашем прошлом сетевом интерфейсе, проверьте у себя те ветки, что я привел вам выше, или так же еще воспользуйтесь утилитами по поиску в реестре. Вот такой вот интересный случай, который при незнании таких нюансов может вызвать кучу проблем. Небольшой совет, всегда при работах на серверах, заранее делайте снапшот, чтобы потом было легко откатиться и подумать в чем дело и не сидеть пол ночи в поисках решения. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *