DHCP или протокол динамической конфигурации хоста используется для автоматического назначения устройствам случайных IP-адресов. При использовании сервера или маршрутизатора с DHCP-сервером клиентам не нужно устанавливать свои IP-адреса вручную. Им нужно запросить его у DHCP. IP-адреса, предоставляемые DHCP, называются динамическими IP-адресами, а IP-адреса, задаваемые вручную, называются статическими IP-адресами.
Инструмент dhclient – это основной метод Linux для работы с DHCP или динамическими IP-адресами. Когда наша система загружается, dhclient пытается настроить динамический IP-адрес для каждого сетевого устройства в нашей системе. Однако dhclient может быть вызван пользователем в любое время для обновления IP-адреса интерфейса.
В первом примере этой статьи мы выполним dhclient с флагом -r, чтобы освободить текущий IP-адрес. Важно отметить, что команда dhclient освободит все IP-адреса, если сетевое устройство не указано.
Примечание. После выполнения этой команды вы потеряете сетевое соединение. Вы восстановите его, выполнив следующие шаги этой статьи:
sudo dhclient -r
Теперь ваша система освободила свой IP-адрес, и ваше интернет-соединение пропало.
Вы также можете реализовать опцию -v (verbosity, многословие), чтобы получить весь процесс освобождения IP, подробно описанный в выходных данных, как показано в примере ниже:
sudo dhclient -v -r
Как только ваш IP-адрес будет освобожден, вы можете запросить новый с помощью команды dhclient без дополнительных параметров, как показано на скриншоте ниже:
sudo dhclient
И вы также можете реализовать флаг -v, чтобы получить подробный вывод, как показано в следующем примере:
sudo dhclient -v
Как видите, IP-адрес 192.168.1.103 был назначен устройству wlp3s0.
Как упоминалось ранее, если вы не укажете устройство при запуске команды dhclient, это повлияет на все IP-адреса сетевых карт.
Указать сетевую карту при запуске dhclient довольно просто. Просто добавьте имя сетевой карты в конце команды.
В следующем примере показано, как освободить IP-адрес карты Wi-Fi wlp3s0. Как упоминалось в первых шагах этого руководства, опция -v была добавлена только для получения подробных результатов. Вы можете пропустить это.
sudo dhclient -v -r wlp3s0
Затем, чтобы получить новый динамический IP-адрес специально для карты Wi-Fi wlp3s0, выполните следующую команду:
sudo dhclient -v wlp3s0
Как видите, IP-адрес был правильно назначен сетевому устройству wlp3s0.
Когда вы запускаете команду dhclient или когда загружаете компьютер, dhclient отправляет широковещательные сообщения (DHCP Discover) в подсети для обнаружения доступных DHCP-серверов. Пакет DHCP Discover включает в себя MAC-адрес физического компьютера для клиента, который будет идентифицирован сервером. Затем сервер DHCP отправляет ответ (ПРЕДЛОЖЕНИЕ DHCP) с предложением отправить IP-адрес. Клиент отвечает пакетом запроса или запросом DHCP, принимая предложение. Затем DHCP-сервер назначает клиенту IP-адрес, интегрируя его в сеть. Этот процесс известен как согласование DHCP.
Что касается пакетов, мы можем резюмировать этот процесс как DHCPDISCOVER> DHCPOFFER> DHCPREQUEST> DHCPACK, где:
DHCPDISCOVER: клиент отправляет пакет в подсети в поисках доступных DHCP-серверов для получения IP-адреса.
DHCPOFFER: когда пакет получен DHCP-сервером, сервер отправляет сообщение DHCPOFFER обратно клиенту, идентифицированному его MAC-адресом, а затем предлагает назначить ему свободный или неиспользуемый IP-адрес.
DHCPREQUEST: клиент отправляет пакет DHCP-серверу, принимая предложение. Если более одного DHCP-сервера предлагали IP-адрес, клиент примет первый полученный, а другие DHCP-серверы будут уведомлены о том, что первоначальный запрос уже был удовлетворен.
DHCPACK: Наконец, после того, как DHCP-сервер получил последний пакет запроса от клиента. Он ответит пакетом DHCPACK, завершающим назначение IP.
В некоторых случаях может потребоваться просмотреть историю динамических IP-адресов. Этого можно добиться, проверив системные журналы, расположенные в /var/log/syslog. Следующая команда позволяет вам увидеть все процессы согласования, в которых задействована команда dhclient:
sudo grep dhclient /var/log/syslog
Как видите, мы видим весь процесс переговоров и ранее назначенные IP-адреса.
Как видите, обновить IP-адрес в Debian 11 с помощью DHCP довольно просто. Понимание того, как работают DHCP-серверы и клиенты, – это базовые знания, которые должен изучить любой пользователь Linux, чтобы понять, сколько устройств получают их IP-адреса. Хотя динамические IP-адреса не имеют смысла в запланированных сетях, они являются отличным способом управления общедоступными IP-адресами, поскольку два устройства не могут иметь один и тот же адрес. Как видите, запрос динамического IP-адреса от устройства Linux может быть выполнен на любом уровне пользователя Linux при наличии привилегированного доступа. Во многих случаях, когда вы подключаетесь к общедоступной сети, но не получаете доступа в Интернет, вы можете попытаться запросить динамический IP-адрес, используя описанный метод. Это помогло мне в некоторых ситуациях.
Для получения дополнительной информации о команде dhclient вы можете посетить страницу руководства по адресу https://linux.die.net/man/8/dhclient .
Благодарим вас за то, что вы прочитали эту статью, в котором объясняется, как обновить IP-адреса DHCP в Debian 11.