Как запросить новый IP-адрес от моего DHCP-сервера, используя Ubuntu Server?

Вопрос или проблема

Я знаю, что есть простая команда для этого, но как я могу заставить мой сервер Ubuntu запросить новый IP-адрес у DHCP-сервера на eth0?

dhclient eth0

страница man: dhclient

Чтобы освободить текущий IP-адрес:

$ sudo dhclient -r

Чтобы получить новый лизинг:

$ sudo dhclient 

Другая проблема, с которой я столкнулся, заключалась в том, что dhclient продолжал запрашивать тот же IP у DHCP-сервера. Запуск команды dhclient -r это не решил. Поэтому, после более тщательного изучения man pages, я обнаружил, что если я отредактировал файл /var/lib/dhcp3/dhclient.leases для удаления всех ссылок на аренду конкретного адаптера, в моем случае eth0. Затем запуск sudo dhclient eth0 сработал как ожидалось и назначил мне новый/другой IP.

Моя ситуация, возможно, была уникальной, но требовала, чтобы мой сервер получал адрес из более высокого диапазона, чем было выдано ранее. DHCP-сервер был настроен на это, если только конкретный IP-адрес не запрашивался, независимо от диапазона. Поскольку dhclient специально запрашивал старый IP-адрес, на основе информации в файле dhclient.leases, DHCP-сервер всегда возвращал один и тот же адрес.

Если кто-то наткнется на эту старую тему. dhclient не используется во всех дистрибутивах (больше):

    sudo netplan apply

помогло мне на более новой версии Ubuntu (я использовал 24.04)

Когда вы запускаете “sudo /etc/init.d/dhcp3-server restart”, появляется ли что-то вроде:

Остановка DHCP сервера: dhcpd3.
Запуск DHCP сервера: dhcpd3.

Если нет, значит, он не запущен…

Тогда, чтобы убедиться, проверьте, отправляет ли ваш клиент запрос на аренду, посмотрите файл /var/logs/daemon.log. Там должно быть много DHCP-запросов. Если нет, проблема в вашем клиенте (и мы займемся этим дальше).

Если с вашим клиентом все в порядке, просто забудьте о firestarter на данный момент и попробуем сделать так, чтобы все заработало без него. Убедитесь, что ваш DHCP-сервер запущен и работает. Введите “sudo /etc/init.d/dhcp3-server stop”, а затем “sudo /etc/init.d/dhcp3-server start”. После этого он должен быть запущен, если он правильно установлен на вашем компьютере.

Я включил копию моего файла dhcpd.conf.

Наконец, посмотрите файл /var/log/messages вашего сервера, чтобы увидеть, получает ли он запросы и отвечает ли на них правильным арендным соглашением. Это также может дать вам представление о том, что не так в вашем конфигурационном файле (если в нем что-то не так). Если вы не можете разобраться с этим, опубликуйте ваш файл сообщений, и я посмотрю на это позже.

удачи

Раджат

Ответ или решение

Чтобы запросить новый IP-адрес от DHCP-сервера на Ubuntu Server, необходимо обратиться к инструменту DHCP-клиента, которым чаще всего является dhclient. Этот процесс можно объяснить, следуя TEA (Theory, Example, Application) копирайтинговой формуле.

Теория

DHCP (Dynamic Host Configuration Protocol) — это сетевой протокол, который позволяет устройству автоматически получить параметры сети, такие как IP-адрес, маска подсети, шлюз и DNS-серверы, от DHCP-сервера. В операционных системах на основе Linux, таких как Ubuntu Server, для обращения к DHCP-серверу используется клиент DHCP, наиболее распространённым из которых является утилита dhclient.

Когда вы настраиваете ваше сетевое устройство, скажем, eth0, на автоматическое получение IP-адреса, система отправляет запрос DHCP на локальный сетевой сегмент. DHCP-сервер отвечает, предоставляя IP-адрес, который устройство может использовать. C помощью dhclient можно управлять этим процессом через командную строку.

Пример

Рассмотрим пример команды, которая помогает получить новый IP-адрес от DHCP-сервера:

  1. Релиз текущего IP-адреса:

    sudo dhclient -r eth0

    Эта команда позволяет производить освобождение текущего IP-адреса, заставляя сервер забыть о предоставленном IP.

  2. Получение нового IP-адреса:

    sudo dhclient eth0

    После релиза можно запросить новый IP-адрес. Если DHCP-сервер настроен корректно, вы получите свежий IP в заданном диапазоне.

Если после выполнения этих команд получить новый IP не удается, возможно, система запрашивает тот же самый IP из-за наличия информации о предыдущих сессиях в файле /var/lib/dhcp3/dhclient.leases. Тогда стоит удалить записи об этом адаптере из этого файла.

Применение

Практические шаги для выполнения процедуры получения нового IP-адреса на Ubuntu Server:

  1. Освобождение текущего IP-адреса:
    Выполните команду, чтобы ваш DHCP-клиент больше не использовал текущий IP.

    sudo dhclient -r eth0
  2. Обновление файлов аренды:
    Если команда релиза не помогает, вы можете вручную отредактировать или удалить файл /var/lib/dhcp/dhclient.leases (или /var/lib/dhcp3/dhclient.leases на более старых системах), чтобы удалить все записи, относящиеся к eth0.

  3. Запрос нового IP-адреса:
    Используйте эту команду, чтобы ваш сервер запросил новый адрес.

    sudo dhclient eth0
  4. Проверка работы DHCP-клиента:
    Вы можете посмотреть логи, чтобы убедиться, что запрос отправлен и обработан, выполнив:

    sudo tail -f /var/log/syslog | grep DHCP

Если ваша версия Ubuntu уже перешла на использование netplan, том вместо dhclient можно применить:

sudo netplan apply

С этим пониманием вы сможете эффективно управлять запросами IP-адресов на сервере Ubuntu. Утилита dhclient предоставляет гибкость и простоту использования, хотя стоит помнить о возможных особенностях ваших сетевых настроек и версии вашего программного обеспечения. Если IP все еще не меняется, проверьте настройки вашего DHCP-сервера, чтобы убедиться в правильности его конфигурации.

Оцените материал
Добавить комментарий

Капча загружается...