ifup@ens3.service Ubuntu 20.04: failed to bring up ens3
Разбираем сервис ifup@ens3 в Ubuntu 20.04: за что отвечает, почему ошибка failed to bring up ens3 и xtables lock от iptables. Конфликт с Netplan. Как отключить, если сеть работает через ubuntu netplan настройка сети.
За что отвечает сервис ifup@ens3.service в Ubuntu 20.04? Почему он не запускается с ошибкой ‘failed to bring up ens3’ и нужно ли его восстанавливать, если сетевой интерфейс работает и интернет доступен?
Статус сервиса:
● ifup@ens3.service - ifup for ens3
Loaded: loaded (/lib/systemd/system/ifup@.service; static; vendor preset: enabled)
Active: failed (Result: exit-code)
Ключевые ошибки в логах:
- Another app is currently holding the xtables lock. Perhaps you want to use the -w option?
- run-parts: /etc/network/if-pre-up.d/iptables exited with return code 4
- ifup: failed to bring up ens3
Сервис ifup@ens3.service в Ubuntu 20.04 отвечает за запуск утилиты ifup для сетевого интерфейса ens3 по legacy-системе ifupdown, которая читает настройки из /etc/network/interfaces. Ошибка failed to bring up ens3 возникает из-за конфликта с Netplan (стандартным инструментом настройки сети Ubuntu), блокировки xtables lock от скриптов iptables Ubuntu в /etc/network/if-pre-up.d/ и отсутствия описания ens3 в interfaces-файле. Если интерфейс работает и интернет доступен через Netplan, сервис бесполезен — его можно смело отключить, чтобы избавиться от логов.
Содержание
- Что отвечает сервис ifup@ens3.service
- Почему не запускается с ошибкой failed to bring up ens3
- Разбор ошибки xtables lock и iptables
- Netplan против ifupdown в Ubuntu 20.04
- Проверяем текущую настройку сети
- Нужно ли восстанавливать сервис
- Как отключить ifup@ens3 навсегда
- Источники
- Заключение
Что отвечает сервис ifup@ens3.service
Представьте: вы обновили систему, и в логах systemd мелькает странный failed-сервис. ifup@ens3.service — это шаблонный systemd-юнит из /lib/systemd/system/ifup@.service. Он вызывает команду ifup ens3, которая поднимает интерфейс на основе конфига ifupdown — старой, но живучей системы из Debian/Ubuntu.
Что именно делает? Парсит /etc/network/interfaces (или связанные файлы). Если там stanza для ens3:
auto ens3
iface ens3 inet static
address 192.168.1.10/24
gateway 192.168.1.1
То ifup применит IP, роуты, DNS. Перед этим запустит скрипты из /etc/network/if-pre-up.d/ и if-up.d/. Звучит полезно? В Ubuntu 20.04 — не всегда. Этот сервис static (vendor preset: enabled), то есть автозапускается при boot, но только если интерфейс описан в legacy-файле.
В новых Ubuntu netplan взял на себя роль босса сети. А ifupdown? Это relic из эпохи до systemd-networkd. Если ens3 не в interfaces — сервис даже не знает, что с ним делать. Отсюда и “unknown interface”.
Коротко: отвечает за legacy-подъем ens3. Но в 99% случаев на серверах Ubuntu 20.04 — мертвый груз.
Почему не запускается с ошибкой failed to bring up ens3
Логи не врут: ifup: failed to bring up ens3. Почему? Разберём по шагам.
Во-первых, интерфейс уже UP. Проверьте ip a show ens3 — увидите <BROADCAST,MULTICAST,UP,LOWER_UP>. Кто поднял? Netplan или systemd-networkd. Они стартуют раньше, по /etc/netplan/*.yaml. ifup видит: “Эй, ens3 уже живой, с DHCP или статическим IP!” И отказывается трогать — boom, exit-code.
Во-вторых, конфликт конфигураций. Unix & Linux Stack Exchange объясняет: ens3 настроен дважды. DHCP от Netplan (valid_lft показывает динамику) + static в /etc/network/interfaces. RTNETLINK жалуется: “File exists” — IP уже назначен.
Третье — скрипты-хукеры. run-parts /etc/network/if-pre-up.d/iptables выходит с code 4. Это про iptables Ubuntu. Но об этом в следующем разделе.
А статус “static; vendor preset: enabled”? Значит, systemd пытается запустить при каждой загрузке. Журнал покажет: sudo systemctl status ifup@ens3.service или journalctl -u ifup@ens3.service.
Если интернет летает — проблема косметическая. Сервис фейлится, но сеть жива.
Разбор ошибки xtables lock и iptables
Вот где засада: Another app is currently holding the xtables lock. Perhaps you want to use the -w option? И run-parts: /etc/network/if-pre-up.d/iptables exited with return code 4.
Это классика. В /etc/network/if-pre-up.d/ лежит скрипт iptables, который при ifup@ens3 пытается загрузить правила: iptables-restore < /etc/iptables/rules.v4. Но lock-файл /run/xtables.lock уже занят!
Кто держит? Server Fault советует: lsof -n | grep xtables.lock. Часто ufw, firewalld или другой ifup. В Ubuntu 20.04 ufw по умолчанию, но на серверах — чистый iptables-persistent.
Решения?
rm -f /run/xtables.lock— быстро, но временно.- Добавить
-w 10в скрипт: ждёт 10 сек. - Или
-fдля форсирования.
Но зачем фиксить, если iptables Ubuntu не нужны? ifupdown legacy, а Netplan не трогает эти хуки. Удалите скрипт или отключите сервис — и тишина.
Забавно: ошибка маскирует настоящую проблему. Без неё увидели бы чистый “unknown interface ens3”, как в другом треде на Unix SE.
Netplan против ifupdown в Ubuntu 20.04
Ubuntu настройка сети эволюционировала. С 18.04 — Netplan (netplan.io). YAML-конфиги в /etc/netplan/ (часто 00-installer-config.yaml или 50-cloud-init.yaml). renderer: networkd для серверов.
Пример netplan yaml для ens3:
network:
version: 2
ethernets:
ens3:
dhcp4: true # или addresses: [192.168.1.10/24], gateway4: 192.168.1.1
sudo netplan apply — и готово. ifupdown? Игнорируется. Ask Ubuntu подтверждает: после апгрейда networking.service фейлится, т.к. Netplan рулит.
Сравним:
| Аспект | Netplan | ifupdown |
|---|---|---|
| Файл | /etc/netplan/*.yaml | /etc/network/interfaces |
| Backend | systemd-networkd/NetworkManager | ifup/ifdown |
| Ubuntu default | Да, с 18.04 | Legacy, optional |
| Гибкость | VLAN, bonds, bridges | Базовая |
| Boot-speed | Быстрее | Медленнее (хуки) |
Хотите настройка netplan? netplan generate, netplan try, netplan apply. Переход с ifupdown: скопируйте настройки в YAML, удалите из interfaces.
В вашем случае: ls /etc/netplan/ — найдёте config для ens3. ifup@ens3 — лишний.
Проверяем текущую настройку сети
Не верите? Проверим.
ip a— статус ens3.ip route— роуты, gateway.systemctl status systemd-networkd— Netplan-backend жив?netplan status— текущие конфиги.cat /etc/netplan/*.yaml— вот ваш босс.grep -r ens3 /etc/network/interfaces*— пусто? Тогда ifup слепой.
Если ens3: dhcp4: yes в YAML — ubuntu netplan рулит. Интернет работает? Забудьте ifup.
А iptables ubuntu? iptables -L -v -n — правила на месте? ufw status?
Это базовый чек. В 90% серверов Ubuntu 20.04 — чистый Netplan.
Нужно ли восстанавливать сервис
Короткий ответ: нет. Почему?
- Сеть работает. Приоритет — функционал, не статус сервиса.
- Восстановление сломает Netplan: двойные IP, роуты.
- Логи засоряются зря. systemd-журнал разрастается.
CloudSpinx упоминает: если интерфейс UP — игнорьте. Server Fault то же: ifup только для interfaces.
Когда нужен? Редко: кастомные хуки в if-up.d/, миграция с Debian 10. Иначе — балласт.
Риски восстановления: downtime, конфликты DHCP/static. Лучше мигрировать на чистый Netplan.
Как отключить ifup@ens3 навсегда
Просто и чисто.
sudo systemctl stop ifup@ens3.servicesudo systemctl disable ifup@ens3.servicesudo systemctl mask ifup@ens3.service— на всякий (опционально).- Reboot, проверьте
systemctl status.
Масштабно: sudo systemctl disable ifup@*.service — все интерфейсы.
Бонус: очистите /etc/network/interfaces от ens3, удалите /etc/network/if-pre-up.d/iptables если пустой.
После — логи чистые, boot быстрее. Debian Forum предлагает systemd-networkd как альтернативу.
Готово. Теперь настройка сети Ubuntu под контролем Netplan.
Источники
- Ask Ubuntu: ifup cannot bring up eth0 after upgrading to 16.04
- Unix & Linux SE: ifdown interface enp0s3 not configured
- Debian Forum: ifup failed to bring up ens192:1
- Server Fault: IPTABLES xtables lock
- Unix & Linux SE: Unknown interface ens33
- CloudSpinx: fix ifup command not found
- Server Fault: Network issue ifup unknown interface
Заключение
Сервис ifup@ens3 — legacy из ifupdown, бесполезный в Ubuntu 20.04 с Netplan во главе настройки сети Ubuntu. Ошибки failed to bring up ens3 и xtables lock — сигнал конфликта, но если ens3 работает и интернет на месте, просто отключите: systemctl disable ifup@ens3. Это сэкономит нервы, место в логах и ускорит загрузку. Перейдите на netplan apply для будущего-proof конфигов — и никаких фейлов.