Пингующаяся выключенная виртуальная машина Hyper-V
Добрый день уважаемые читатели и гости блога, недавно со мной приключилась забавная история. Досталась мне в одной организации, от предыдущего системного администратора серверная инфраструктура, с десяток серверов. На одном из серверов был установлен Windows Server 2012 R2 и хостилась роль Hyper-V 3.0. На данном сервере, были две виртуальные машины, и обе выполняли роль контроллера домена. Естественно это не правильно так как обслуживать такой сервер, без отключения контроллеров домена не получиться, было принято логичное действие разнести их. Я установил второй сервер с Hyper-V и переместил виртуальную машину на него, так как в момент перемещения виртуальная машина не отключается, то пинги не пропадают. Далее я попытался подключиться к этой виртуалке, после переезда, но по RDP меня не пустило, с сообщением, что мол нет тут таких. Я выключил виртуалку, для проверки ее настроек и какого же было мое удивление, что пинги продолжали идти, небольшой ступор в мозгу, она же выключена, тогда откуда пинги, давайте расскажу.
И так у меня есть виртуальная машина Hyper-V под названием dc7, как я и писал выше я ее мигрировал ну другой хост, она переехала без проблем и в момент переезда была доступна по сети. После ее выключения пинги не прекратились.
Я конечно удивился, и проверил доступность dc7 с других хостов, пинг шел. Если вы присмотритесь к скриншоту выше, то вы должны сразу заметить, что пинговалась явно не она. Почему, все дело в размере TTL ответа. У операционных систем Windows он должен быть 128, а вот у Linux машин, он как раз 64, уже стало интереснее. Естественно смысла в dnslookup не было, так как все равно показало бы имя dc7.
Следующим шагом я решил просканировать на предмет открытых портов на данном ip адресе, в этом мне помогла утилита XSpider 7.7. Утилита показала, что данный Ip слушает веб порты 80 и 443.
Открыв браузер, я обнаружил, что это отвечает IPMI порт управления сервером, откуда я мигрировал dc7, залогинившись на сервере Supermicro, я обнаружил, что ip адрес он получал через сервер DHCP. В итоге я выставил статический ip адрес, но мне было интересно почему был конфликт, из за которого кстати виртуальная машина в момент своей обычной работы отваливалась периодически.
Иду на сервер DHCP, в данном случае это Kerio Control 8. В нем открываю настройки пула и вижу, что там идет привязка по mac адресу, для которого нужно отдавать конкретный Ip адрес а так как сама виртуалка и хост имели одинаковый ip, то и происходила такая петрушка, по идее linux, быстрее принимает ip от DHCP, и вот как только я разнес пациентов, получил такую ситуацию. Теперь, когда сменил ip у IPMI, пинги до dc7 пропали.
Как видите чудес не бывает и знания, как и что работает, помогают решить любую ситуацию, TTL значения вам в помощь.