DHCP (Dynamic Host Configuration Protocol) — это сетевой протокол, который позволяет автоматически назначать IP-адреса устройствам в сети. Когда компьютер подключается к сети, DHCP-сервер предоставляет ему IP-адрес, маску подсети, шлюз по умолчанию и другую сетевую информацию. В некоторых случаях вам может потребоваться узнать текущий IP-адрес DHCP-сервера, который выдал вам конфигурацию сети. В этой статье мы рассмотрим несколько способов, как это можно сделать в Debian.
Содержание статьи
Использование команды ip
Один из самых простых способов узнать информацию о DHCP-сервере — это команда ip. Эта утилита предназначена для управления сетевыми интерфейсами и отображения информации о сетевых подключениях.
Для начала нужно определить сетевой интерфейс, который использует ваше устройство для подключения к сети. Введите следующую команду:
ip addr show
Эта команда выведет список всех сетевых интерфейсов, подключенных к системе, и их IP-адресов. В результате вы увидите информацию, похожую на следующую:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:1a:4b:16:01:3f brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0
valid_lft 3599sec preferred_lft 3599sec
Здесь важно обратить внимание на интерфейс с меткой inet — это ваш текущий IP-адрес, а имя интерфейса — это тот, который вам нужно будет использовать в следующих командах.
В данном примере это eth0.
Чтобы получить информацию о DHCP-сервере, можно воспользоваться командой ip route. Эта команда выводит информацию о маршрутах в вашей сети, в том числе о шлюзах и серверах.
Введите команду:
ip route show
Вы получите вывод, в котором будет указано следующее:
default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.100 metric 100
В этой строке значение default via 192.168.1.1 указывает на шлюз (в данном случае, это может быть IP-адрес DHCP-сервера). В большинстве случаев, DHCP-сервер и шлюз имеют одинаковый IP-адрес. В нашем случае IP-адрес DHCP-сервера — это 192.168.1.1.
Использование файла журналов syslog
Информация о DHCP-сервере также может храниться в системных логах. Debian записывает эту информацию в системные журналы при подключении к DHCP-серверу.
Откройте системный журнал с помощью следующей команды:
cat /var/log/syslog | grep dhclient
Команда grep ищет строки, содержащие упоминание о dhclient, который является процессом, взаимодействующим с DHCP-сервером. В результате вы можете получить вывод, в котором будет строка, содержащая информацию о DHCP-сервере:
DHCPACK of 192.168.1.100 from 192.168.1.1
Здесь 192.168.1.1 — это IP-адрес вашего DHCP-сервера.
Другой способ — просмотреть системные журналы с момента последнего подключения к DHCP-серверу:
sudo less /var/log/syslog
Просмотрите записи, которые относятся к сетевым подключениям, чтобы найти строку с информацией о DHCP-сервере. В случае успешного получения IP-адреса будет указана строка с DHCPACK, в которой будет написан IP-адрес DHCP-сервера.
Использование команды nmcli
Если вы используете NetworkManager для управления сетевыми интерфейсами, можно воспользоваться командой nmcli для получения информации о DHCP-сервере.
Получение информации о подключении. Введите следующую команду:
nmcli device show
Эта команда покажет информацию о сетевых интерфейсах и текущих соединениях. В выводе будет раздел IP4.DHCP.SERVER, который укажет на IP-адрес DHCP-сервера:
IP4.DHCP.SERVER: 192.168.1.1
Здесь 192.168.1.1 — это IP-адрес DHCP-сервера.
Использование утилиты dhclient
Утилита dhclient — это основной клиент DHCP, который используется для получения сетевой конфигурации от DHCP-сервера. Она также может использоваться для вывода текущей информации о DHCP-сервере.
Чтобы обновить текущую информацию о DHCP-сервере и сетевой конфигурации, выполните следующую команду:
sudo dhclient -v
Эта команда выведет информацию о DHCP-пакетах, которые передаются между клиентом и сервером. В выводе вы найдете строку, похожую на следующую:
DHCPACK from 192.168.1.1
Здесь 192.168.1.1 — это IP-адрес вашего DHCP-сервера.
Использование команды netstat
Команда netstat позволяет просматривать информацию о сетевых соединениях и может использоваться для определения DHCP-сервера.
Введите следующую команду:
sudo netstat -r
В выводе команды вы найдете информацию о маршрутах и шлюзах. DHCP-сервер часто совпадает с IP-адресом шлюза:
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
Здесь 192.168.1.1 — это IP-адрес DHCP-сервера.
Использование утилиты resolvectl
Если вы работаете в системе с Systemd, для получения информации о сетевых подключениях и серверах можно использовать команду resolvectl.
Введите следующую команду:
resolvectl status
Эта команда выведет информацию о текущих сетевых соединениях, в том числе о DNS и DHCP-серверах. В выводе будет строка:
DHCP4 Server: 192.168.1.1
Здесь 192.168.1.1 — это IP-адрес DHCP-сервера.
Заключение
Узнать текущий IP-адрес DHCP-сервера в Debian можно разными способами: с помощью утилиты ip, анализа системных журналов, использования команды nmcli или утилиты dhclient. Все эти методы позволяют вам получить нужную информацию о DHCP-сервере, который выдал вашему компьютеру сетевую конфигурацию.

