Виртуальная машина ESXI получает неправильные настройки сети
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов рунета Pyatilistnik.org. В прошлый раз мы с вами разобрали, как производится подключение к удаленному рабочему столу через Windows и Linux, это очень актуально в режим удаленной работы. Сегодня я хочу поговорить про административные вещи, а именно, о виртуализации. Встретился мне тут один интересный случай, когда при смене сетевого интерфейса виртуальная машина получила непонятные сетевые настройки, не те что должна была.
Описание ситуации
И так есть кластер построенный на гипервизоре ESXI 6.5, у одной из виртуальных машин необходимо было изменить тип сетевого интерфейса с VMXNET3 на E1000. После того, как преобразования были выполнены и виртуальная машина была запущена, она получила какие-то неправильные сетевые настройки, IP-адрес, шлюз и DNS сервера не из того VLAN.
Изначально виртуальная машина имела IP-адрес 10.11.22.4
Но после того, как интерфейс был изменен, должны были прилететь настройки APIPA, а тут статический IP-адрес 192.168.31.51. Сбросить его на DHCP или другой 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-адрес.
Как видите в каждой из этих веток есть GUID сетевого интерфейса, в моей системе я вижу только один сетевой интерфейс, но в реестре их два. Давайте удостоверимся, что система видит их больше, для этого откройте оболочку PowerShell и введите команду:
В результате я удостоверился, что у меня есть некий фантом. Ранее я вам рассказывал, как определить GUID сетевого интерфейса, поэтому давайте убедимся, какой из них правильный, а какой нет. Напоминаю, правильный у меня тот интерфейс, который имеет тип VMXNET3 (Должен заканчиваться на D4).
В результате первый GUID заканчивающийся на B2} оказался старый интерфейс от сетевой карты, у которой тип был E1oo0 и производитель Intel. Именно он подставлялся, на свежедобавленный интерфейс, такого же типа E1000. Видимо, Windows оставляет у себя эту информацию после удаления интерфейсов, и потом ее восстанавливает если GUID одинаковые, видимо это нормальное поведение, которое и позволяет на лету менять оборудование.
У второго GUID все нормально, тип VMXNET3, это и есть текущий.
Вывод тут напрашивается сам собой, вам нужно удалить все старые упоминания, о вашем прошлом сетевом интерфейсе, проверьте у себя те ветки, что я привел вам выше, или так же еще воспользуйтесь утилитами по поиску в реестре. Вот такой вот интересный случай, который при незнании таких нюансов может вызвать кучу проблем. Небольшой совет, всегда при работах на серверах, заранее делайте снапшот, чтобы потом было легко откатиться и подумать в чем дело и не сидеть пол ночи в поисках решения. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.