Proxmox: виртуальная машина не видит сеть — пошаговая диагностика

Виртуальная машина в Proxmox VE, у которой в гостевой ОС нет ни одного сетевого интерфейса или адаптер есть, но без доступа к сети, — почти всегда следствие одной из четырёх причин: неправильно выбран сетевой мост (vmbr), неверная модель виртуальной сетевой карты, отсутствующие драйверы VirtIO в гостевой системе или ошибки в настройках VLAN. Диагностику нужно начинать с веб-интерфейса Proxmox: откройте вкладку Hardware виртуальной машины и проверьте, есть ли там устройство net0 и к какому мосту оно привязано.

Если устройство net0 отсутствует в списке оборудования — гостевая ОС физически не сможет увидеть сеть, какие бы драйверы вы ни ставили. Если адаптер есть, но сети нет, проблема лежит глубже: в конфигурации моста на хосте, в тегах VLAN или в настройках самой гостевой системы. Ниже разберём каждый сценарий по порядку — от самых частых к более редким.

Проверка сетевого адаптера в настройках ВМ

Первое действие — убедиться, что виртуальная сетевая карта вообще добавлена. В веб-интерфейсе Proxmox выберите ВМ, перейдите в раздел Hardware и найдите строку вида Network Device (net0). Если её нет, добавьте адаптер через кнопку Add → Network Device.

Обратите внимание на поле Model. Для Windows и большинства современных Linux-дистрибутивов оптимален вариант VirtIO (paravirtualized) — он даёт лучшую производительность, но требует драйверов. Если драйверов нет, гостевая система просто не увидит адаптер. Как временная проверка подойдёт модель Intel E1000: её распознаёт практически любая ОС без дополнительных драйверов.

  • 🔌 Проверьте наличие устройства net0 в разделе Hardware виртуальной машины.
  • 🌉 Убедитесь, что в поле Bridge выбран существующий мост, например vmbr0.
  • 💾 Для Windows без драйверов VirtIO временно переключите модель на E1000.
  • 🔁 После изменения параметров адаптера выполните полную перезагрузку ВМ, а не Resume.

Проверка моста vmbr на стороне хоста

Даже корректно настроенный адаптер не даст сети, если сам мост на хосте не привязан к физическому интерфейсу. Откройте настройку узла: Datacenter → Node → System → Network и посмотрите параметры vmbr0. В поле Bridge ports должно быть указано имя физической сетевой карты сервера, например eno1 или eth0.

Быстрая проверка из консоли хоста показывает состояние моста и подключённых к нему интерфейсов:

ip link show

brctl show

Если brctl недоступен, используйте bridge link. В выводе должны быть видны и физический порт, и виртуальные интерфейсы tap работающих ВМ. Если tap-интерфейса вашей машины там нет — адаптер ВМ не подключён к мосту, и нужно вернуться к её настройкам оборудования.

⚠️ Внимание: изменение параметров сети хоста (IP-адреса, портов моста) выполняйте с осторожностью — при ошибке можно потерять сетевой доступ к самому серверу Proxmox. Перед правками убедитесь, что у вас есть локальный или IPMI-доступ к машине.
📊 На каком этапе у вас пропала сеть в Proxmox?
Сразу после создания ВМ
После перезагрузки или обновления
После переноса ВМ на другой узел
После настройки VLAN

Драйверы VirtIO в гостевой ОС

Классический сценарий: ВМ на Windows создана с адаптером VirtIO, установка прошла, но в диспетчере устройств сетевой карты нет или она отображается с ошибкой. Причина — в Windows нет встроенных драйверов VirtIO, их нужно установить отдельно с официального ISO-образа virtio-win, который публикует проект Fedora.

Порядок действий такой: подключите ISO с драйверами как второй CD-ROM к виртуальной машине, в гостевой системе откройте диспетчер устройств, найдите неизвестное устройство и укажите путь к драйверу на диске. В Linux-дистрибувах драйверы virtio-net обычно включены в ядро, поэтому там этот шаг, как правило, не требуется.

☑️ Проверка сети в гостевой ОС

Выполнено: 0 / 4

Настройки сети внутри гостевой системы

Адаптер виден, драйверы стоят, а сети всё равно нет — проверяйте конфигурацию внутри гостевой ОС. В Linux выполните ip addr: интерфейс может существовать, но находиться в состоянии DOWN. Поднять его можно командой ip link set имя_интерфейса up, после чего запросить адрес по DHCP.

Обратите внимание на типовые ошибки: интерфейс настроен на статический IP из чужой подсети, не указан шлюз, либо DHCP-клиент отключён, а в сети никто не раздаёт адреса статически. После клонирования ВМ в Linux также может измениться имя интерфейса (например, с eth0 на ens18), из-за чего старый конфиг перестаёт применяться — сверьте имя в выводе ip link с именем в сетевом конфиге системы.

Как проверить, выдаёт ли сеть адрес по DHCP

Выполните в гостевой Linux-системе команду dhclient имя_интерфейса или перезапустите сетевую службу. Если адрес не выдаётся, проверьте, есть ли DHCP-сервер в этой подсети и не блокирует ли его фаервол хоста.

VLAN и тегирование трафика

Если в вашей инфраструктуре используются VLAN, несовпадение тегов — одна из самых коварных причин «невидимой» сети. В настройках сетевого адаптера ВМ есть поле VLAN Tag: если там указан тег, а физический коммутатор или мост хоста настроен иначе, трафик будет молча отбрасываться. При сомнениях сначала полностью уберите VLAN Tag из настроек адаптера и проверьте связь в нетегированной сети — это быстро отделит проблемы VLAN от остальных.

Учтите, что настройки VLAN должны быть согласованы на трёх уровнях: порт физического коммутатора, мост vmbr на хосте (включён ли VLAN aware) и адаптер ВМ. Расхождение на любом из уровней приводит к потере связности без явных ошибок в интерфейсе.

СимптомВероятная причинаЧто проверить
Адаптера нет в гостевой ОСНет драйверов VirtIOУстановить virtio-win или сменить модель на E1000
Адаптер есть, нет IP-адресаDHCP недоступен или интерфейс DOWNip addr, настройки сети гостевой ОС
IP есть, шлюз не пингуетсяНеверный мост или VLAN TagПоле Bridge и VLAN Tag в Hardware ВМ
Сеть пропала после переноса ВМИмя моста отличается на новом узлеСовпадение имени vmbr на целевой ноде
Нет сети у всех ВМ сразуПроблема моста или физического порта хостаBridge ports в сетевых настройках узла

Фаервол Proxmox и дополнительные факторы

В Proxmox встроен фаервол, который может работать на уровне датацентра, узла и отдельной ВМ. Если в настройках ВМ на вкладке Firewall фильтрация включена, а правил нет, трафик может блокироваться по умолчанию. Проверьте также, не снят ли намеренно или ошибочно флажок Firewall у самого сетевого устройства net0 — и в каком состоянии глобальные правила на уровне Datacenter → Firewall.

Реже встречаются другие причины: отключённый физический порт на коммутаторе, неверный MTU при нестандартных настройках сети, проблемы после обновления ядра хоста. Если сеть пропала сразу после обновления Proxmox, проверьте, поднялся ли мост после перезагрузки, и изучите вывод journalctl -u networking на хосте.

⚠️ Внимание: отключение фаервола — допустимый шаг только для диагностики. После проверки верните защитные правила на место, иначе виртуальные машины останутся открытыми для сети.

Часто задаваемые вопросы

Windows не видит сетевой адаптер VirtIO — что делать?

Установите драйверы с официального ISO virtio-win, подключив его к ВМ как CD-ROM. Либо временно смените модель адаптера на Intel E1000, которую Windows распознаёт без дополнительных драйверов.

Почему после клонирования ВМ пропала сеть?

Возможные причины: изменилось имя сетевого интерфейса в гостевой ОС, конфликт MAC-адресов или отсутствие указанного моста на узле, где запущен клон. Проверьте имя интерфейса командой ip link и настройки net0 в разделе Hardware.

Как понять, что проблема в мосте хоста, а не в ВМ?

Если сеть отсутствует сразу у нескольких ВМ на одном узле — смотрите настройки моста и физического интерфейса хоста. Если проблема только у одной машины, ищите причину в её конфигурации или гостевой ОС.

Нужен ли VLAN Tag, если сеть без VLAN?

Нет. Поле VLAN Tag в настройках адаптера должно быть пустым, если ваша сеть не использует тегирование. Лишний тег приведёт к тому, что трафик ВМ будет отбрасываться.

ВМ пингует шлюз, но нет доступа в интернет — это проблема Proxmox?

Скорее всего, нет: связность внутри сегмента работает, значит мост и адаптер в порядке. Проверяйте маршрутизацию, NAT и DNS на уровне шлюза или роутера вашей сети.