Вероятно в вашей сети не используется протокол dhcp kali linux

Обновлено: 08.07.2024

[Xiaobai Xiang] Kali Linux DHCP-сервер установка, настройка и запуск

Кали Linux установка и настройка DHCP сервера


Недавно я изучил сервер DHCP и обнаружил, что большинство существующих учебных пособий в Интернете не являются исчерпывающими. В процессе установки и настройки возникли некоторые проблемы. Я суммировал проблемы и написал это самостоятельное рассмотрение. Позвольте мне поделиться с вами более подробным учебником, и я надеюсь, что если в этой статье будут проблемы, старшие братья могут критиковать и исправлять.

Обзор DHCP

DHCP может автоматически назначать клиенту параметры TCP / IP, такие как IP-адрес, маска подсети, шлюз по умолчанию и адрес DNS-сервера.
Чтобы два компьютера, подключенные к Интернету, могли общаться друг с другом, они должны иметь свои собственные IP-адреса. Из-за ограниченных ресурсов IP-адресов операторы широкополосного доступа не могут делать это для каждого отчета. Пользователи широкополосного доступа могут назначить фиксированный IP-адрес (так называемый фиксированный IP-адрес означает, что, даже если вы не находитесь в Интернете, другие не могут использовать этот IP-адрес, этот ресурс всегда был для вас эксклюзивным), поэтому для доступа в Интернет должны использоваться пользователи DHCP. Сделайте временные адреса. То есть, если ваш компьютер подключен к Интернету, DHCP-сервер временно назначает вам IP-адрес из пула адресов. IP-адрес, назначаемый каждый раз при подключении к Интернету, может отличаться, что связано с ресурсами IP-адресов в то время. При отключении от сети DHCP-сервер может назначить этот адрес другим компьютерам, которые подключатся к сети позже. Таким образом, IP-адреса могут быть эффективно сохранены, что не только обеспечивает сетевую связь, но также улучшает коэффициент использования IP-адресов, а также помогает снизить стоимость обслуживания и управления сетью.
Например, предположим, что у вас есть только 30 допустимых IP-адресов и 60 управляемых компьютеров, поэтому, если эти 60 компьютеров одновременно используют серверную службу DHCP, не более 30 Тайвань, вы можете решить проблему недостаточных IP-адресов.

Установить службу DHCP

В Kali Linux по умолчанию не установлена ​​служба DHCP. Нам нужно установить его вручную, открыть терминал, открыть права доступа root, выполнить команду следующим образом:

После выполнения вышеупомянутой команды служба DHCP будет установлена. Если в процессе установки не сообщается об ошибке, служба будет успешно установлена ​​в систему.

Настройте службу DHCP

Если вы хотите запустить службу DHCP, вам нужно выполнить простую настройку.
Выполните следующую команду, чтобы открыть основной файл конфигурации DHCP:

Маленькие друзья, которые не могут vim, могут взглянуть на учебник Baidu.
Удалите содержимое и замените его следующим.Конечно, из соображений безопасности рекомендуется создать резервную копию исходного файла.

Советы: vim можно выбрать, нажав ggVG $ по очереди в обычном режиме.
gg - перейти к началу документа
V - войти в режим визуализации линии
G - перейти к концу документа
Если это gvim, последняя строка не может быть выбрана, нажмите $ для решения.

Приведенная выше информация о конфигурации указывает, что настроен пул адресов сегмента сети 192.168.0.0. Среди них шлюз по умолчанию - 192.168.0.1, адрес DNS-сервера - 192.168.0.1, пул адресов, используемый для выделения, - 192.168.0.10-20. Примечание: настроенная здесь информация о подсети должна находиться в том же сегменте сети, что и адрес одного из сетевых интерфейсов в хосте. Совет. Если пользователь является псевдо-точкой доступа и использует собственную службу DHCP для распределения адресов, настроенный сегмент сети службы DHCP должен находиться в том же сегменте сети, что и IP-адрес беспроводного интерфейса. Например, если IP-адрес в системном хосте - 192.168.1.100, указанный сегмент сети - 192.168.1.0.

Запустить службу DHCP

Введите команду следующим образом:

Но здесь есть проблема, как показано ниже:



Строка 8 Не удается открыть базу данных аренды /var/lib/dhcp/dhcpd.leases: нет такого файла или каталога
Просто нажмите dhcpd.leases в / var / lib / dhcp



Успешно запущен DHCP-сервер!

Интеллектуальная рекомендация

совместный запрос mysql с тремя таблицами (таблица сотрудников, таблица отделов, таблица зарплат)

1. Краткое изложение проблемы: (внизу есть инструкция по созданию таблицы, копирование можно непосредственно практиковать с помощью (mysql)) Найдите отделы, в которых есть хотя бы один сотрудник. Отоб.


[Загрузчик классов обучения JVM] Третий день пользовательского контента, связанного с загрузчиком классов


IP, сеанс и cookie

Как работает DHCP?

  • После загрузки подключенный к сети клиент (на котором настроено использование DHCP) отправляет DHCP-серверу пакет DHCPDISCOVER.
  • Получив пакет запроса DHCPDISCOVER, DHCP-сервер отвечает пакетом DHCPOFFER.
  • Клиент принимает пакет DHCPOFFER и отправляет серверу пакет DHCPREQUEST, подтверждая готовность принять сетевую конфигурацию, предоставленную в пакете.
  • Получив от клиента пакет DHCPREQUEST, сервер отправляет пакет DHCPACK, который разрешает клиенту использование выделенного IP-адреса.

В данном руководстве мы рассмотрим настройку DHCP-сервера в Ubuntu/Debian Linux, но большенство настроек будет работать и в других дистрибутивах. Для получения административных привилегий все команды будут выполняться через sudo.

Шаг 1: Установка DHCP-сервера

1. Для установки пакета DCHP-сервера, ранее известного как dhcp3-server, нужно выполнить следующую команду:

2. После завершения установки отредактируйте файл /etc/default/isc-dhcp-server для определения интерфейсов, которые будет использовать DHCPD для обработки DHCP-запросов, при помощи опции INTERFACES.

Например, если вам нужно, чтобы демон DHCPD прослушивал eth0, задайте следующее значение:

Для этого сетевого интерфейса нужно настроить статический IP-адрес.

Шаг 2: Настройка DHCP-сервера

  • параметры – указывают, как выполнять задание (например, на какое время выделять адрес), выполнять ли его вообще (например, выделять ли адреса неизвестным клиентам) или какие параметры сетевой конфигурации отправлять DHCP-клиенту.
  • декларации – определяют топологию сети, описывают клиентов и предоставляемые им адреса, или применяют группу параметров к группе деклараций.

4. Для определения настроек DHCP-сервера откроем и отредактируем файл конфигурации:

5. Теперь нужно указать подсеть, в нашем примере мы будем использовать DHCP в локальной сети 192.168.10.0/24.

Здесь мы использовали следующие параметры:

Шаг 3: Настройка статических IP-адресов для машин клиентов

6. Для выделения конкретным клиентам фиксированного (статического) IP-адреса нужно добавить в файл конфигурации секции следующего вида, где явно указаны MAC-адрес и статически выделяемый IP-адрес:

7. Запустим службу DHCP и установим ее автоматический запуск при загрузке:

8. Далее нужно создать правило для службы DHCP в брандмауэре (Демон DHCPD прослушивает UDP-порт 67):

Шаг 4: Настройка машин клиентов

9. Теперь можно настроить клиентские компьютеры в сети для автоматического получения IP-адресов от DHCP-сервера.

Отредактируйте файл конфигурации интерфейса Ethernet на клиентской машине (обратите внимание на имя/номер интерфейса):

Укажите следующие опции:

Сохраните и закройте файл, а затем перезапустите сетевые службы или перезагрузите систему:

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

Настройка DHCP-сервера завершена. Более подробную информацию о dhcpd и dhcpd.conf с описанием всех возможных опций можно получить в соответствующих man-страницах:

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.


Что такое DHCP? Любой, кто имеет базовые знания о компьютерных сетях, знает, что для того, чтобы два хоста могли общаться в одной сети с использованием модели TCP/IP, оба хоста должны иметь уникальный IP-адрес. Существует два способа получения IP-адреса любым хостом в вашей сети.

Каждый сетевой хост, настроенный для получения IP-адреса динамически через DHCP, при загрузке отправит запрос DHCP по сети (по определению это широковещательная передача), чтобы узнать, есть ли где-то в сети DHCP-сервер и, следовательно, запросить конфигурацию сети. Затем DHCP-клиент обязан поддерживать связь с DHCP-сервером и регулярно обновлять свой IP-адрес в соответствии с истечением срока аренды IP-адреса. В случае, если DHCP-клиент не может обновить свой IP-адрес (отключение, хост выключен и т. д. ) его IP-адрес истекает, и DHCP-сервер может свободно выдать этот IP-адрес другому DHCP-клиенту.

DHCP-сервер ведет запись всех арендованных IP-адресов и сохраняет их в файле под названием dhcpd.leases в каталоге /var/lib/dhcp (расположение этого файла может отличаться в зависимости от используемого дистрибутива Linux ). Наличие такого файла позволяет DHCP-серверу отслеживать все арендованные IP-адреса даже после перезагрузки или сбоя питания.

Вот некоторые преимущества использования DHCP-сервера в сети:

Установка DHCP-сервера

Стандартный DHCP-сервер доступен для Linux дистрибутивов от ISC (Internet System Consortium).

Используйте следующую команду для установки DHCP-сервера, в зависимости от вашего дистрибутива Linux.

Debian и Ubuntu

Redhat и Fedora

Простая конфигурация DHCP

По-умолчанию конфигурация в файле dhcpd.conf не содержит никаких объявленных сетей, а так же в файле /etc/default/isc-dhcp-server нет указанных интерфейсов, по которым будет происходит слушание и раздача параметров. Поэтому при запуске службы вы получите ошибку.

Starting ISC DHCP server: dhcpdcheck syslog for diagnostics. . failed!
Examining log files such as /var/log/syslog reveals more details:
No subnet declaration for eth0 (some IP address).
Your server may be connected to multiple network subnets. To start DHCP server, at least one subnet must be defined within the DHCP configuration file /etc/dhcp/dhcpd.conf.
NOTE: if your server has access to more than one subnet, DHCP requires all subnets to be defined even though there isn't immediate intention to enable DHCP service on that subnet.

Поэтому для запуска нам потребуется записать в конфигурационный файл простейшее описание сети(ей):

А так же в файле /etc/default/isc-dhcp-server укажем наш интерфейс (или несколько):

Этот файл конфигурации указывает DHCP-серверу прослушивать запросы DHCP-клиента в подсети 10.1.1.0 с маской сети 255.255.255.0 на интерфейсе eth0. Кроме того, он назначит IP адреса в диапазоне 10.1.1.3-10.1.1.254. Он также определяет пустое описание для подсети 192.168.0.0.

Измените приведенный выше код с вашей подсетью и вставьте его в файл /etc/dhcp/dhcpd.conf. После перезагрузите DHCP-сервер с помощью команды:

Время аренды по-умолчанию и максимальное время аренды в DHCP

На этом этапе мы можем добавить несколько дополнительных настроек к нашей конфигурации DHCP, а именно срок действия аренды по-умолчанию и максимальное время аренды.

Определение DNS-сервера

Другим параметром конфигурации, который может быть задан DHCP-сервером своему клиенту, является определение DNS-сервера. Если вы хотите, чтобы ваши клиенты использовали DNS-сервер с IP-адресом 8.8.8.8 и 10.1.1.1, вы можете сделать это, включив опцию domain-name-servers в конфигурационный файл DHCP.

Назначим шлюз по-умолчанию

DHCP-сервер также позволяет использовать шлюз по-умолчанию для клиента. Например установим шлюз по-умолчанию 10.1.1.1 для клиентов сети 10.1.1.0, добавим строку option routers 10.1.1.1 в dhcpd.conf в соотвествующие секции:

Описание конфигурации для отдельных хостов на DHCP-сервере

Возможно, потребуется установить статический IP-адрес для конкретного хоста в сети, такого как принтер, веб-сервер и т. д. В этом случае возможно изменить конфигурацию DHCP-сервера для аренды выбранного IP-адреса конкретному хосту, определенному его MAC-адресом.

Приведенный выше файл конфигурации DHCP будет постоянно присваивать IP-адрес 10.1.1.100 хосту printer с MAC-адресом 00:16:d3:b7:8f:86 и IP-адрес 10.1.1.200 хосту web-server с MAC-адресом 00:17:a4:c2:44:22.

Как быстро настроить DHCP-клиент на Ubuntu

Чтобы настроить ваш клиент на использование DHCP через сетевой интерфейс eth0 на Ubuntu или Debian подобных, пропишите следующие строки в файле /etc/network/interfaces:

auto eth0
iface eth0 inet dhcp

Конфигурация DHCP-relay (передача полномочий другому DHCP-серверу)

Если ваш DHCP-сервер не имеет доступа к какой-то конкретной подсети, это не значит, что он не может предоставлять там свои услуги. Для выполнения этой работы агент DHCP-relay должен быть настроен в удаленной подсети, которая пересылает все запросы на указанный DHCP-сервер и удаленную подсеть. Сначала установите DHCP-relay:

Затем создайте конфигурационный файл /etc/default/isc-dhcp-relay с такими двумя строками:

Приведенный выше конфигурационный файл даст указание агенту DHCP-relay agent прослушивать на интерфейсе eth0 запросы DHCP-клиента и пересылать их на DHCP-сервер по IP-адресу 192.168.5.5.

Чем же данный сервер может быть полезен в сети? Основная функция - это автоматическая выдача клиентским машинам информации о конфигурации сети (такой как IP-адрес, маска, шлюз и др.).

Протокол DHCP

В общем случае, не размусоливая о структуре посылаемых пакетов, схему работы протокола можно представить следующим рисунком:

Схема работы DHCP протокола

1. Обнаружение DHCP (DHCPDISCOVER)

2. Ответ DHCP - сервера (DHCPOFFER)

3. Запрос DHCP-сервера (DHCPREQUEST)

4. Подтверждение от DHCP-сервера (DHCPACK)

Наконец, сервер подтверждает запрос и направляет это подтверждение (DHCPACK) клиенту. После этого клиент должен настроить свой сетевой интерфейс, используя предоставленные опции.

Отказ от настроек, предоставленных DHCP-сервером (DHCPDECLINE)

Отмена от DHCP-сервера (DHCPNAK)

Освобождение адреса DHCP (DHCPRELEASE)

Информация DHCP (DHCPINFORM)

Клиент DHCP (dhclient) Linux

Для работы Linux в качестве DHCP-клиента необходимо установить пакет dhclient (в RedHat, возможно - dhcpcd). Данный клиент запрашивает у сервера параметры и применяет их к локальному хосту. dhclient использует конфигурационный файл /etc/dhclient.conf (иногда /etc/dhcp/dhclient.conf или /etc/dhcp3/dhclient.conf). А так же, хранит информацию об арендованных параметрах в файле /var/lib/dhcp/dhclient.leases. В общем случае, клиент DHCP устанавливается вместе с дистрибутивом ОС и создает файл конфигурации по умолчанию, который вполне работоспособен и не требует вмешательств. Для работы dhclient, необходимо в конфигурационных файлах сетевых интерфейсов вашего дистрибутива (на которых необходимо получение сетевых параметров по DHCP), указать параметр BOOTPROTO=dhcp (для RedHat) и iface eth_№_ dhcp (для Deb).

Сервер DHCP (dhcp-server / dhcpd) на Linux

Думаю функции сервера, из вышеописанного, вполне ясны - выдавать клиентам (хостам) параметры сетевого подключения. Для работы сервера необходимо установить пакет dhcp-server (в более старых версиях - dhcpd, иногда пакет имеет имя dhcp3-server). После установки, в системе появиться привидение демон - dhcpd. Данный демон должен быть разрешен для запуска на необходимых уровнях выполнения ОС (команда в RedHat - /sbin/chkconfig dhcpd on, в Debian - /usr/sbin/update-rc.d dhcpd defaults). Так же, необходимо, чтобы один из интерфейсов был настроен на статический адрес из той подсети, которую будет раздавать клиентам, иначе демон не будет работать корректно. После установки демон попытается запуститься, но у него ничего не получиться, потому что конфиг неверен.

Далее приведу пример типичного конфига для DHCP-server'a:

По данному конфигу клиентам распределяются IP-адреса из диапазона 192.168.1.10-192.168.1.100 и 192.168.1.150-192.168.1.200. Если клиент не запрашивает временных рамок, сервер выдает адрес на 600 секунд (default-lease-time 600). В противном случае, максимально возможное время будет установлено в 7200 секунд (max-lease-time 7200). Сервер будет также "советовать" клиенту использовать 255.255.255.0 в качестве маски подсети (option subnet-mask 255.255.255.0), 192.168.1.255 для широкого вещания (broadcast) (option broadcast-address 192.168.1.255), 192.168.1.254 в качестве маршрутизатора/шлюза и 192.168.1.1 и 192.168.1.2 для DNS-сервера (option routers 192.168.1.254 и option domain-name-servers 192.168.1.1, 192.168.1.1 соответственно ). О чем нам как бы говорит клиент, получивший адрес:

Так же, в конфиге есть такой параметр как host hostname, который говорит, что хост с именем hostname у которого сетевая карта имеет MAC 08:00:00:00:00:23 должен иметь постоянный адрес 192.168.1.222 (в Windows данная настройка называется резервирование). Поля options для данного раздела конфигурации так же приемлемы.

Кроме того, возможно "вкладывать" параметр host в параметр subnet для формирования более понятного конфигурационного файла:

Балансировка и резервный DHCP-server

Ознакомившись с настройкой DHCP-сервера, можно настроить резервировный (он же балансирующий нагрузку на основной) сервер DHCP. Резервный DHCP-server настраивается как и основной. Отличие резервного от основного в том, что основным сервером выдаются 80% адресов, а резервным - 20%. То есть параметр range в конфиге задается таким образом, чтобы поделить сеть в соотношении 80/20.

Что еще почитать:

Резюме

Итого, прочитав статью мы поняли, что такое DHCP протокол, как установить и настроить DHCP клиента на Linux, а так же, как настроить сервер DHCP на Linux. В общем, данная тема проста и понятна до безобразия и если кому-то не понятно, буду ждать Ваших комментариев!

Читайте также: