#Что означает ошибка
Нет IP-адреса
Если на интерфейсе нет IPv4-адреса (ip a показывает только inet6 fe80::... или адрес 169.254.x.x), DHCP не отработал. Причины: сеть не подключена, DHCP-сервер недоступен, интерфейс выключен, конфликт сетевых менеджеров, неверное VLAN или ограничение по MAC-адресу.
Определите, какая подсистема управляет сетью: NetworkManager, systemd-networkd, netplan, ifupdown.
Лечить нужно именно её.
Проверьте кабель, состояние интерфейса (ip link), работу DHCP-клиента и службы NetworkManager/systemd-networkd.
#Причины и решения
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Интерфейс выключенlink down. | Нет IP. | Поднимите. |
| DHCP недоступенРоутер. | Нет. | Проверьте. |
| Служба не работаетNetworkManager. | Нет. | Запустите. |
| Неверная конфигурацияnetplan. | Нет. | Исправьте. |
#Пошаговое решение
- Проверьте ip -br a и ip linkОткройте терминал Linux и выполните
ip -br linkиip -br addr. Найдите интерфейс по имени и посмотритеUP/DOWN, наличие адресаinetи тип подключения. Если интерфейс отключён, прежде чем включать его вручную, выясните, управляет ли им NetworkManager (nmcli device status) или systemd-networkd (networkctl status). Запишите результаты: отсутствие адреса и отсутствие маршрута требуют разной диагностики. - Определите менеджер сетиОткройте терминал и выполните
systemctl is-active NetworkManagerиsystemctl is-active systemd-networkd; если естьnmcli, проверьтеnmcli device status. Для Ubuntu Server дополнительно посмотрите/etc/netplan/, для Debian —/etc/network/interfaces. Не изменяйте несколько систем конфигурации сети параллельно, особенно на сервере по SSH: сначала определите, какая управляет конкретным интерфейсом. - Запросите адрес вручнуюСначала в терминале выполните
ip -br addrиnmcli device status, если NetworkManager установлен. Для интерфейса, которым управляет NetworkManager, найдите реальное имя профиля черезnmcli -f NAME,DEVICE con show --active, затем используйтеsudo nmcli device reapply ИМЯ_ИНТЕРФЕЙСА(подставьте имя интерфейса, напримерenp3s0) либо штатное переподключение профиля через графические настройки. На системах, где DHCP управляетсяdhclientи он установлен, администратор может выполнитьsudo dhclient -v ИМЯ_ИНТЕРФЕЙСАвместо nmcli, а не после него. При удалённом доступе не отключайте единственный интерфейс: можно потерять SSH. Проверка успеха — новый IPv4-адрес и маршрутdefaultвip route. - Проверьте настройки профиля dhcp4Если после повторного запроса нет IPv4-адреса, выясните управляющую систему. Для NetworkManager откройте терминал и выполните
nmcli -f NAME,DEVICE con show --active, затемnmcli -f ipv4.method con show "ИМЯ_ПРОФИЛЯ", подставив точное имя подключения; для автоматического адреса должен быть методauto. В netplan проверьте YAML-файл для этого интерфейса в/etc/netplan/и параметрdhcp4: true, не меняя сразу все файлы. В/etc/network/interfacesпроверьте, не задан ли статический адрес для того же устройства. Правки выполняйте только при доступе к консоли и с резервной копией — ошибочная сеть может разорвать SSH. - Проверьте DHCP-сервер, VLAN и кабельЕсли интерфейс имеет
UP, но адрес IPv4 не назначен, проверьте кабель/порт и состояние DHCP на управляемом вами маршрутизаторе. В Linux соберитеip -br aи журналы менеджера сети, а для проверки отключите и подключите один раз конкретное соединение только если есть альтернативный доступ. Для VLAN или корпоративной сети сначала уточните идентификатор VLAN и настройки у администратора; не назначайте случайный IP в чужой подсети. - Адреса интерфейсовLinux · Терминал (Bash)КомандаАдреса интерфейсов.
ip -br addr
#Диагностика
Выполните ip -br a, ip link (интерфейс должен быть UP, LOWER_UP), nmcli device status, networkctl status. Проверьте кабель/Wi-Fi и светодиоды. Журнал: journalctl -b -u NetworkManager | tail -50 или journalctl -u systemd-networkd. Попробуйте получить адрес вручную: sudo dhclient -v eth0 либо sudo nmcli device connect eth0. Проверьте другой кабель/порт и другой компьютер в этом порту.
#Исправление
Включите интерфейс: sudo ip link set eth0 up. Перезапустите менеджер: sudo systemctl restart NetworkManager (или systemd-networkd). Создайте/проверьте профиль: nmcli connection add type ethernet ifname eth0 con-name wired ipv4.method auto, nmcli connection up wired. Для netplan: в /etc/netplan/*.yaml задайте dhcp4: true, затем sudo netplan apply. Для ifupdown: /etc/network/interfaces → iface eth0 inet dhcp и sudo ifup eth0.
#Сеть и сервер
Убедитесь, что на DHCP-сервере есть свободные адреса и не включена привязка к MAC. В виртуальных машинах проверьте режим сети (мост/NAT) и правильность виртуального коммутатора. Отключите конфликтующие менеджеры (не запускайте одновременно NetworkManager и systemd-networkd на одном интерфейсе). Временное решение — статический адрес: sudo ip addr add 192.168.1.50/24 dev eth0 и sudo ip route add default via 192.168.1.1, DNS в /etc/resolv.conf.
ip -br addrnmcli device status# Имя интерфейса посмотрите в выводе выше. Если DHCP управляет dhclient и он установлен:# sudo dhclient -v ИМЯ_ИНТЕРФЕЙСА