Виртуальная машина в 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-доступ к машине.
Драйверы VirtIO в гостевой ОС
Классический сценарий: ВМ на Windows создана с адаптером VirtIO, установка прошла, но в диспетчере устройств сетевой карты нет или она отображается с ошибкой. Причина — в Windows нет встроенных драйверов VirtIO, их нужно установить отдельно с официального ISO-образа virtio-win, который публикует проект Fedora.
Порядок действий такой: подключите ISO с драйверами как второй CD-ROM к виртуальной машине, в гостевой системе откройте диспетчер устройств, найдите неизвестное устройство и укажите путь к драйверу на диске. В Linux-дистрибувах драйверы virtio-net обычно включены в ядро, поэтому там этот шаг, как правило, не требуется.
☑️ Проверка сети в гостевой ОС
Настройки сети внутри гостевой системы
Адаптер виден, драйверы стоят, а сети всё равно нет — проверяйте конфигурацию внутри гостевой ОС. В 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 недоступен или интерфейс DOWN | ip 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 на уровне шлюза или роутера вашей сети.