- dhcp: way to check the online status of the device
- 1 Answer 1
- Examples
- Как настроить DHCP-сервер в Ubuntu
- Установка сервера DHCP
- Настройка сервера DHCP
- Определение подсети
- Глобальная конфигурация DHCP
- Управление Службой DHCP
- Настройка клиента DHCP
- Список арендованных адресов
- Похожие записи:
- КакЭто: Настройка DHCP сервера на Linux
- Назначение DHCP
- Установка
dhcp: way to check the online status of the device
On Linux there is the file /var/lib/dhcpd/dhcpd.leases . I need to determine, for the devices for which information contained in this file, whether the device is online at a given moment. Is there any way other than to parse the file and ping addresses contained in it?
The system might be connected to the network but that does not always mean a user is logged in. Check manpages and other documentation about rwho and rwhod or tell us more about what you really need.
Yes we need more information as to what you’re trying to accomplish. As it stands looking in the leases file will just tell you what systems have leases. From that info you could ping the systems to confirm that they’re online. But this wouldn’t tell you anything about if a user was actually on that system. For that you’d have to go to each individual system and see who’s logged in.
1 Answer 1
The DHCP protocol does not make any accommodations so that you can query an actual DHCP server and inquire about the contents of it’s dhcpd.leases file.
So you essentially have 2 options.
- SSH into the DHCP server and parse the contents of the dhcpd.leases file manually.
- Install software such as DHCPStatus , which provides a interface so that you can get info about the contents of a DHCP server’s leases.
DHCPStatus is a query tool for browsing information stored in DHCPD’s configuration and leases files, dhcpd.conf and dhcpd.leases. It correlates the subnet details that you configure in the conf file with the lease records that DHCPD maintains in its lease file. You can thus obtain an overall picture of your DHCP environment, as well as view details of individual leases for each IP.
DHCPStatus can be run either as a CGI script and viewed via a web browser, or as a command-line tool that generates simple text output. The CGI/web interface requires that you run a CGI-capable web server on your DHCPD server machine. The command-line tool merely requires that you have a shell login on the server.
DHCPStatus provides 2 reports.
Examples
[localhost]$ dhcpstatus DHCP Subnet Information Location: IFC - Glenorchy Subnet: 10.1.4.64 Netmask: 255.255.255.192 IP range: 10.1.4.65 - 10.1.4.126 Router: 10.1.4.126 IPs defined: 47 IPs used: 33 IPs free: 14 Location: TGIO Subnet: 10.1.4.128 Netmask: 255.255.255.192 IP range: 10.1.4.129 - 10.1.4.190 Router: 10.1.4.190 IPs defined: 30 IPs used: 4 IPs free: 26 Location: Servtas - Devonport Subnet: 10.1.5.64 Netmask: 255.255.255.224 IP range: 10.1.5.65 - 10.1.5.94 Router: 10.1.5.94 IPs defined: 10 IPs used: 8 IPs free: 2 Location: Servtas - Burnie - Reece House Subnet: 10.1.5.96 Netmask: 255.255.255.224 IP range: 10.1.5.97 - 10.1.5.126 Router: 10.1.5.126 IPs defined: 15 IPs used: 5 IPs free: 10 Location: Servtas - Glenorchy Subnet: 10.1.5.160 Netmask: 255.255.255.224 IP range: 10.1.5.161 - 10.1.5.190 Router: 10.1.5.190 IPs defined: 15 IPs used: 1 IPs free: 14
As HTML
And here’s DHCPStatus’s detailed report. As text
[localhost]$ dhcpstatus -s 192.62.4.64 DHCP Subnet Information: IFC - Glenorchy Subnet: 192.62.4.64 Netmask: 255.255.255.192 Broadcast: 192.62.4.127 Router: 192.62.4.126 DNS servers: 192.62.11.156, 192.62.130.13 WINS servers: 192.62.10.39, 192.62.10.40 IP range: 192.62.4.65 - 192.62.4.126 IP address: 192.62.4.65 IP address: 192.62.4.66 IP address: 192.62.4.67 IP address: 192.62.4.68 IP address: 192.62.4.69 IP address: 192.62.4.70 IP address: 192.62.4.71 IP address: 192.62.4.72 Lease status: Active Lease start: 07/11/2000 07:43:12 Lease end: 21/11/2000 07:43:12 Mac address: 00:80:5f:f7:d9:52 DNS name: infna72.ifc.tas.gov.au WINS name: 9906000IFC9006
As HTML
Как настроить DHCP-сервер в Ubuntu
DHCP (Dynamic Host Control Protocol), как вы все знаете, является сетевым протоколом, который автоматически назначает IP-адреса клиентским машинам в сети. Он устраняет утомительную работу по ручному назначению IP-адресов каждой машине в большой сети. Кроме того, он устраняет конфликты, возникающие из-за ошибочного назначения одного и того же IP-адреса нескольким машинам. Мы можем определить диапазоны IP-адресов в конфигурации DHCP-сервера. Наряду с IP-адресом мы можем определить и другую информацию, такую как маска подсети, шлюз по умолчанию, информация о DNS-сервере и т.д., и эта информация затем распространяется среди клиентских машин в сети.
В этой статье мы рассмотрим, как установить DHCP-сервер в Ubuntu и настроить одного клиента на автоматическое получение IP-адреса с этого DHCP-сервера.
Установка сервера DHCP
Прежде чем приступить к установке DHCP-сервера, сначала обновите пакеты, выполнив следующую команду в Терминале:
Затем выполните следующую команду в Терминале для установки DCHP-сервера:
sudo apt-get install isc-dhcp-server -y
Подождите некоторое время до завершения установки.
Настройка сервера DHCP
После завершения установки DHCP-сервера перейдем к его настройке. IP-адрес нашего DHCP-сервера — 192.168.110.1. Чтобы узнать IP-адрес вашего DHCP-сервера, введите следующую команду в терминале:
Файл конфигурации DHCP находится по адресу /etc/dhcp/dhcpd.conf. Мы можем открыть этот файл, выполнив следующую команду в Терминале
sudo nano /etc/dhcp/dhcpd.conf
Определение подсети
Добавьте следующие строки в конфигурационный файл для определения подсети, диапазона IP-адресов, домена и серверов доменных имен, как показано ниже:
Чтобы определить подсеть, добавьте следующие строки:
subnet 192.168.153.0 netmask 255.255.255.0
При определении информации о подсети (диапазон, шлюз по умолчанию, сервер доменных имен), обязательно заканчивайте строки точкой с запятой (;) и заключайте их в фигурные скобки < >.
Чтобы указать диапазон арендуемых адресов, добавьте следующую строку. Диапазон определяет набор пула IP-адресов, из которого IP-адреса выделяются клиентам DHCP
range 192.168.110.5 192.168.1.10;
Чтобы указать шлюз по умолчанию, добавьте следующую строку:
option routers 192.168.110.1;
Чтобы указать серверы доменных имен, добавьте следующую строку:
option domain-name-servers 1.1.1.1, 1.0.0.1;
Внесите изменения в соответствии с параметрами вашей сети.
Глобальная конфигурация DHCP
Ниже приведены основные шаги, необходимые для настройки глобальных параметров для установки DHCP-сервера.
1. Чтобы задать время аренды по умолчанию и максимальное время аренды, найдите параметры default-lease-time и max-lease-time в файле config и измените их значения.
default-lease-time 600; max-lease-time 7200;
2. Если у вас несколько интерфейсов, вам нужно определить, какой интерфейс DHCP-сервер должен использовать для обслуживания DHCP-запросов. В конфигурационном файле найдите и отредактируйте значение INTERFACESv4 и измените его на интерфейс, который мы хотим использовать для обслуживания запросов.
3. Чтобы сделать DHCP-сервер официальным DHCP-сервером для клиентов, откомментируйте следующую строку в конфигурационном файле (убрав символ #):
Это базовая конфигурация, необходимая для запуска DHCP-сервера. После завершения работы сохраните и закройте конфигурационный файл.
Управление Службой DHCP
После завершения настройки вы можете использовать следующие команды для управления DHCP-сервером:
Чтобы убедиться, что служба работает нормально, проверьте статус службы DHCP, выполнив следующую команду в терминале:
sudo systemctl status isc-dhcp-server.service
Ниже приведен снимок экрана, показывающий состояние DHCP-сервера. Вы можете увидеть активный (работающий), выделенный зеленым цветом, подтверждающий, что DHCP-сервер работает нормально:
Есть еще несколько команд, которые мы можем использовать для запуска, остановки и перезапуска службы DHCP.
Внимательно проверяйте наличие точки с запятой в конце строк конфигурации, в противном случае может возникнуть ошибка запуска isc-dhcp-server
Чтобы запустить службу DHCP, выполните следующую команду в терминале:
sudo systemctl start isc-dhcp-server.service
Чтобы остановить службу DHCP, выполните следующую команду в Терминале:
sudo systemctl stop isc-dhcp-server.service
Чтобы перезапустить службу DHCP, выполните следующую команду в Терминале:
sudo systemctl restart isc-dhcp-server.service
Настройка клиента DHCP
Нам потребуется настроить сетевые параметры клиентского компьютера для получения IP-адреса от DHCP-сервера. Здесь мы будем использовать другой Ubuntu 18.04 LTS в качестве клиентского компьютера.
На клиентском компьютере откройте приложение Настройки из меню Dash в Ubuntu.
Затем выберите вкладку Сеть в левой панели приложения Настройки. Затем откройте настройки адаптера, нажав на значок шестеренки перед ним. Убедитесь, что он включен.
Откроется окно настроек адаптера. Выберите вкладку IPv4 в верхнем меню. Затем выберите опцию Автоматически (DHCP). Затем нажмите Применить, чтобы сохранить изменения.
Затем перезапустите сетевые службы, выполнив следующую команду в Терминале:
sudo systemctl restart NetworkManager.service
Теперь запустите Терминал и введите следующую команду, чтобы найти IP-адрес системы.
Проверьте конфигурацию сети с помощью команды IP
Вы увидите IP-адрес, который будет из диапазона, определенного нами в конфигурации DHCP-сервера. Если клиент по-прежнему не получает IP-адрес от DHCP-сервера, перезагрузите систему.
Список арендованных адресов
Чтобы узнать, какие адреса были назначены клиентам сервером DHCP, откройте машину, которую вы настроили как сервер DHCP, и введите следующую команду в Terminal:
Аренда - это период времени, на который IP-адрес назначается компьютеру.
Из этого списка вы можете убедиться, что наш DHCP клиент с MAC: 00:0c:29:4b:f8:15 получил IP адрес 192.168.153.141 от DHCP сервера.
Теперь установка завершена, и у нас есть DHCP сервер. Теперь мы можем использовать этот DHCP-сервер для назначения IP-адресов.
Похожие записи:
КакЭто: Настройка DHCP сервера на Linux
Dynamic Host Configuration Protocol (DHCP) — автоматический предоставляет IP адреса и прочие настройки сети (маску сети, шлюз и т.п) компьютерам и различным устройствам в сети.
Клиент настроенный на получение адреса по протоколу DHCP посылает запрос к серверу, и тот в свою очередь предоставляет свободный IP адрес клиенту во временное пользование — так сказать в аренду (в дальнейшем я буду это так и называть). Срок аренды IP адреса настраивается на сервере. DHCP позволяет значительно уменьшить затраченное время на настройку сети, так же позволяет подключать клиента из одной сети в другую без изменения сетевых параметров. Для провайдеров услуг — DHCP позволяет съэкономить на пуле IP адресов, и присвоить статический IP любому оборудованию.
Назначение DHCP
- Запрос на аренду: Клиент передает запрос на сервер DHCP с адресом источника 0.0.0.0 и адресом назначения 255.255.255.255. Запрос включает MAC-адрес, который используется для направления ответа от сервера.
- Предложение аренды IP-адреса: сервер DHCP отвечает с IP-адресом, маской подсети, сетевым шлюзом, именем домена, серверами имен, продолжительностью аренды и IP-адресом сервера DHCP.
- Выбор аренды: Когда клиент получил предложение — он передаёт всем серверам в сети, что он настроен, и больше настройки ему не нужны.
- Затем сервер DHCP отправляет клиенту подтверждение. Клиент настроен на использование TCP/IP.
- Продление срока аренды: Когда остаётся половина срока аренды, клиент запрашивает у DHCP сервера продление аренды IP-адреса.
Установка
Мы ставим DHCP сервер на:
Система – Ubuntu 18.04 LTS 64 bit
IP адрес – 192.168.188.0/24
Хост – mstream.lan
Откройте терминал и выполните следующую команду для установки сервера: