Сервер Ubuntu Server не получает IP адрес по DHCP

Что делать если сервер Ubuntu Server не получает IP адрес по DHCP

Если сервер Ubuntu Server не получает IP адрес по DHCP, проверьте сетевой интерфейс, конфигурацию netplan и статус сервиса dhcp-клиента. В большинстве случаев проблема решается перезагрузкой сетевого интерфейса или исправлением файла конфигурации.

Причины проблемы

  • Сетевой интерфейс отключен или в неправильном состоянии
  • Некорректная конфигурация netplan или ifupdown
  • DHCP-сервис не запущен или неправильно сконфигурирован
  • Проблемы с драйвером сетевой карты
  • DHCP-сервер недоступен в локальной сети
  • Конфликт IP адресов или аренда DHCP истекла
  • Firewall блокирует трафик DHCP (порты 67-68 UDP)

Пошаговая инструкция

  1. Откройте терминал с правами администратора и выполните команду ip link show для просмотра списка всех сетевых интерфейсов.
  2. Проверьте статус интересующего интерфейса (например, eth0 или ens3) — он должен показывать состояние UP.
  3. Если интерфейс в состоянии DOWN, активируйте его командой sudo ip link set eth0 up (замените eth0 на ваш интерфейс).
  4. Проверьте конфигурацию netplan, выполнив cat /etc/netplan/*.yaml для просмотра содержимого файла конфигурации.
  5. Откройте файл конфигурации на редактирование: sudo nano /etc/netplan/00-installer-config.yaml (имя файла может отличаться).
  6. Убедитесь, что в конфигурации присутствует строка dhcp4: true для включения DHCP на интерфейсе.
  7. Проверьте синтаксис YAML файла — используйте пробелы (не табуляции) для отступов, иначе конфиг не будет применён.
  8. Примените конфигурацию командой sudo netplan apply.
  9. Перезагрузите сетевой интерфейс: sudo ip link set eth0 down && sudo ip link set eth0 up.
  10. Проверьте получение IP адреса командой ip addr show eth0 — должен отображаться адрес с префиксом inet.
  11. Если адрес не появился, выполните sudo dhclient -v eth0 для явного запроса DHCP аренды с отладочной информацией.
  12. Проверьте логи dhcp-клиента: sudo journalctl -u dhclient -n 50 для диагностики.
  13. Убедитесь, что DHCP демон запущен: sudo systemctl status systemd-networkd.
  14. Если демон остановлен, запустите его: sudo systemctl start systemd-networkd.
  15. Включите автоматический запуск сервиса: sudo systemctl enable systemd-networkd.
  16. Проверьте подключение к DHCP серверу пингом шлюза: ping -c 4 192.168.1.1 (замените на IP вашего шлюза).
  17. Если ping не срабатывает, проверьте физическое подключение кабеля и перезагрузитесь: sudo reboot.

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

Как проверить, получает ли сервер IP адрес от DHCP? Выполните команду ip addr show и найдите строку inet с адресом вида 192.168.x.x — если она есть, DHCP работает правильно.

Что означает ошибка "No DHCP offers received" в логах? DHCP сервер в сети не отвечает на запросы — проверьте подключение кабеля, статус DHCP сервера и наличие маршрута по умолчанию через ip route show.

Почему netplan apply не применяет конфигурацию? Проверьте синтаксис YAML командой sudo netplan validate — обычно проблема в некорректных отступах или опечатках в названиях параметров.

Похожие материалы

Бэкап баз данных MySQL на сервере по расписанию через Cron
DHCP сервер на базе Windows Server 2022
Роль контроллера домена Active Directory в Windows Server