КакЭто: Настройка DHCP сервера на Linux

Настройка DHCP сервера на Linux
Dynamic Host Configuration Protocol (DHCP) — автоматический предоставляет IP адреса и прочие настройки сети (маску сети, шлюз и т.п) компьютерам и различным устройствам в сети.

Клиент настроенный на получение адреса по протоколу DHCP посылает запрос к серверу, и тот в свою очередь предоставляет свободный IP адрес клиенту во временное пользование — так сказать в аренду (в дальнейшем я буду это так и называть). Срок аренды IP адреса настраивается на сервере. DHCP позволяет значительно уменьшить затраченное время на настройку сети, так же позволяет подключать клиента из одной сети в другую без изменения сетевых параметров. Для провайдеров услуг — DHCP позволяет съэкономить на пуле IP адресов, и присвоить статический IP любому оборудованию.

Назначение DHCP

  1. Запрос на аренду: Клиент передает запрос на сервер DHCP с адресом источника 0.0.0.0 и адресом назначения 255.255.255.255. Запрос включает MAC-адрес, который используется для направления ответа от сервера.
  2. Предложение аренды IP-адреса: сервер DHCP отвечает с IP-адресом, маской подсети, сетевым шлюзом, именем домена, серверами имен, продолжительностью аренды и IP-адресом сервера DHCP.
  3. Выбор аренды: Когда клиент получил предложение — он передаёт всем серверам в сети, что он настроен, и больше настройки ему не нужны.
  4. Затем сервер DHCP отправляет клиенту подтверждение. Клиент настроен на использование TCP/IP.
  5. Продление срока аренды: Когда остаётся половина срока аренды, клиент запрашивает у DHCP сервера продление аренды IP-адреса.

Установка

Мы ставим DHCP сервер на:
Система – Ubuntu 18.04 LTS 64 bit
IP адрес – 192.168.188.0/24
Хост – mstream.lan

Откройте терминал и выполните следующую команду для установки сервера:

Установка DHCP сервера
DHCP сервер установлен. Теперь давайте настроем его под наши нужды.

Настройка

Файл первичной конфигурации находится по адресу /etc/default/isc-dhcp-server. В нём нужно указать лишь наш сетевой интерфейс.

Если на вашем сервере больше одной сетевой карты, вы должны явно указать с какого интерфейса DHCP сервер должен принимать DHCP запросы.

Так как у меня на сервере только одна сетевая карта, под именем «ens33» — то я пропишу в конфигурационный файл именно её.
Давайте отредактируем конфиг /etc/default/isc-dhcp-server:

Определим сетевой интерфейс

Редактируем конфиг DHCP сервера
Если вы хотите использовать больше одного сетевого интерфейса — просто напишите их через пробел: «eth0 eth1».

Сохраните и закройте файл.

Теперь нам нужно отредактировать dhcpd.conf:

Редактируем его, как написано ниже. Замените домены на свои.

Редактируем основной конфиг dhcpd

Чтобы клиенты в нашей сети смогли получать ip адреса от нашего сервера, нужно расскоментировать следующую строку:

Изменяем директиву dhcpd

Немного прокрутите вниз, и определите маску сети, диапазон IP адресов, домен и NS сервера:

Прописываем основные параметры сети
Как вы видите выше, я выбрал диапазон IP адресов с 192.168.188.10 по 192.168.188.20, клиенты dhcp получат адреса именно с из этого диапазона.
А что, если мы хотим предоставить клиенту определённый ip? В принципе сделать это не так трудно. Вы можете предоставить определённый IP клиенту по его MAC адресу. Давайте разберём это далее в статье.

Предоставление определённого IP адреса клиенту dhcp сервера.

Для примера, давайте присвоим IP адрес 192.168.188.16 клиенту с MAC-адресом 00:0c:29:93:f0:59. Для определение MAC адреса используйте команду ifconfig

Вывод будет примерно следующим:
Вывод команды ifconfig
Обратите внимание на подчёркнутые слова — это IP адрес и MAC адрес.

Теперь присвоим нужный нам IP клиенту с MAC адресом, который мы узнали выше.

Добавляем фиксированный адрес клиенту по MAC
Как только вы добавили все нужные вам настройки в конфиг, сохраняем и закрываем файл.

Запускаем DHCP сервер с новыми настройками

Теперь нам нужно перезапустить сервер:

Посмотрите не оставили-ли вы ненужных записей в конфигурационном файле dhcpd.conf. Если, всё таки, вы оставили какие-то записи — просто закамментируйте их, в противном случае DHCP сервер не загрузится.

Чтобы проверить, работает наш DHCP сервер или нет, используйте команду:

Если сервер настроен верно, то статус сервера будет «active».

Чтобы запустить, или остановить DHCP сервер, используйте следующие команды:

Теперь у нас полностью рабочий DHCP сервер. Далее нам предстоит настройка клиента нашего сервера.

Настройка DHCP клиента

Для этой статьи на клиентской стороне я буду использовать Ubuntu Desktop 18.04 (64-bit).
Клиент:

  • Система – Ubuntu Desktop 18.04
  • IP адрес – DHCP включен

Открываем Настройки -> Сеть. Выбераем сетевое соединение, и нажимаем кнопку настройка сетевого подключения
Настройка сети в Ubuntu
переходим на вкладку настроек IPv4, и выбираем метод «Автоматический (DHCP)«. Нажимаем Сохранить.
Вкладка IPv4 настроек сети в Ubuntu
Давайте перезагрузим систему, после этого нам нужно будет проверить — получил ли наш клиент IP адрес от нашего сервера.

Если всё настроено верно — то клиент получил выделенный ему IP адрес. Задача решена.

Поздравляю! Наш DHCP сервер работает!!!

Комментариев: 3
  1. Павел

    Спасибо, полезная статья, правда пришлось кое что поменять — но вроде работает сервер…

  2. Илья Константинович

    Статья супер, все работает — благодарю автора и жму руку

  3. Кирилл

    На новой версии не работает, можете не пытаться, если найду гайд на новую обновлю комментарий :roll: :roll:

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

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: