Image

Category:

Виртуальная машина Linux теряет сеть после выхода хоста из сна

Я использую Virtualbox на хост машине Windows 7 для запуска виртуальной машины Linux (Debian 9). В целях экономии сервер работает только в рабочие часы, остальное время спит, и просыпается перед началом рабочего дня по расписанию. Так вот при выходе машины с Windows в виртуальной машине почемуто пропадала сеть. На одной хост машине спасал просто перезапуск машины после выхода хоста из сна, но на новой машине с Windows 7 это не работало. Тогда нашлось решение, которое одинаково работает на обоих машинах. После выхода хоста из сна сначала сбрасываем настройки сетевого адаптера для виртуальной машины и возвращаем назад как надо. В моем случае сеть в виртуальную машину подключена, как мост.

Для сброса настроек сети используем скрипт:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" controlvm MY-VM-NAME nic1 null
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" controlvm MY-VM-NAME nic1 bridged "MY-HOST-NIC-NAME"

Где MY-VM-NAME — имя виртуальной машины, nic1 — виртуальный сетевой адаптер №1, MY-HOST-NIC-NAME — имя реального сетевого адаптера для моста (см. в выпадающем списке адаптеров в VirtualBox).

Определим нужный нам адаптер, выполним команду:
ipconfig /all 

ЕЁ Вывод

Ethernet adapter:

   DNS-суффикс подключения . . . . . :

   Описание. . . . . . . . . . . . . : Realtek PCIe GBE Family Controller

   Физический адрес. . . . . . . . . : F4-6D-04-2E-6E-96

 ....

В VirtualBox он отображается как Realtek PCIe GBE Family Controller #3

Тогда в скрипт пишем:


"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" controlvm myVirtMash nic1 null

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" controlvm myVirtMash  nic1 bridged "Realtek PCIe GBE Family Controller #3"

Добавляем планировшик Windows задание на запуск скрипта при выходе из сна. Теперь сеть виртуальной машины будет работать корректно.