Dhcp пакет для linux

Dhcp пакет для linux

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux

Beyond Linux From Scratch. Version 2011-12-30
Назад 13. Подключение к сети Вперед

Пакет Пакет DHCP-4.2.3

Знакомимся с пакетом DHCP

В пакете DHCP находятся клиентская и серверная программы DHCP. Программа dhclient (клиентская) используется для подключения вашего компьютера к сети, в которой для назначения сетевых адресов применяется DHCP. Программа dhcpd (сервер) используется для назначения сетевых адресов в вашей частной сети.

Известно, что пакет правильно собирается и работает на платформе LFS-7.0.

Информация о пакете

  • Загрузка (HTTP): http://www.isc.org/software/dhcp/423/download/dhcp-423targz?download=
  • Загрузка (FTP): ftp://ftp.isc.org/isc/dhcp/4.2.3/dhcp-4.2.3.tar.gz
  • Контрольная сумма MD5: a06649ec5336d284fc86a0232c0edd63
  • Размер загружаемого пакета: 9,1 MB
  • Оценочный размер требуемого дискового пространства: 185 MB (клиент и сервер), 140 MB — только клиент, 172 MB — только сервер
  • Оценочное время сборки: : 0,7 SBU (клиент и сервер, либо сервер), 0.6 SBU — только клиент

Дополнительные загрузки

  • Рекомендованный патч (для клиента): http://www.linuxfromscratch.org/patches/blfs/svn/dhcp-4.2.3-iproute2-1.patch
  • Дополнительный патч: http://www.linuxfromscratch.org/patches/blfs/svn/dhcp-4.2.3-missing_ipv6-1.patch

Зависимости пакета DHCP

Обязательные

Если вы не используете патч iproute2, то во время выполнения программы dhclient требуется пакет Net-tools-1.60

Замечания для пользователей:

Конфигурирование ядра

У вас в ядре должна быть включена поддержка Packet Socket (Networking Support => Networking Options => Packet Socket — Поддержка сетей => Сетевые настройки => Packet Socket). Если у вас не скомпилирована поддержка протокола IPv6 (Networking Support => Networking Options => The IPv6 Protocol — Поддержка сетей => Сетевые настройки => Протокол IPv6), то вы должны использовать патч missing_ipv6.

Установка пакета DHCP

Если у вас в ядре не откомпилирована поддержка протокола IPv6, то примените патч missing_ipv6

Если вы устанавливаете клиентскую программу и к тому времени, когда вы будете ее использовать,у вас не будет установлен пакет net-tools, то примените патч iproute2:

Установите пакет DHCP с помощью следующих команд:

Если вы хотите собрать только сервер, введите:

Если вы хотите собрать только клиентскую программу, введите:

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

Чтобы проверить результаты, выполните команду make check.

Теперь в роли пользователя root выполните:

В файлах /etc/dhcpd.conf (сервер) и /etc/dhclient.conf (клиент) приведены примеры настроек для конкретной системы BSD. Маловероятно, что они вам подойдут, но будет правильно, если вы их просмотрите перед тем, как их удалять или перемещать в другое место.

Теперь создайте рабочий директорий (директории).

Для клиентской программы:

Пояснение команд

sed -i ‘s%\(^sbindir =\).*%\1 @prefix@@sbindir@%’ server/Makefile.in: Эта команда перемещает программу dhcp в директорий /usr/sbin вместо директория /sbin , поскольку она не нужна во время загрузки сервера.

Читайте также:  Install rabbitmq mac os

—sbindir=/sbin: Программа dhclient перемещается в директорий /sbin вместо директория /usr/sbin , поскольку она должна быть доступна во время загрузки, например, если в /usr монтируется сетевая файловая система nfs .

—with-*-lease-files=. : По умолчанию, рабочие файлы помещаются в директорий /var/db , что является анахронизмом

sed -i ‘s/-Werror//’ /Makefile: В этом пакете для файлов Makefile в переменную CFLAGS добавляется параметр -Werror . В последних версиях компилятора gcc добавлено много нового, в том числе выдача предупреждений в случае, если переменные не используются. Флаг -Werror указывает выдавать предупреждения, что прервет сборку пакета, поэтому мы удаляем его там, где он не нужен.

sed -i ‘s/ something//’ Makefile: Эта команда останавливает сборку пакета из-за того, что требуется ввести имя директория (директориев).

rm -v /usr/lib/lib.a : Предотвратить сборку этих статических библиотек непросто, но они нужны только во время сборки этого пакета. Библиотека libdhcpctl.a устанавливается только в том случае, если вы собираете сервер.

Конфигурирование пакета DHCP

Конфигурационные файлы

/etc/dhclient.conf и /etc/dhcpd.conf

Подробнее о конфигурировании

Информацию о настройке клиентской программы DHCP можно найти в следующем разделе.

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

Установите скрипт начальной загрузки /etc/rc.d/init.d/dhcp , который находится в пакете blfs-bootscripts-20111226.

Рабочий файл должен существовать при запуске системе. С помощью следующей команды можно удовлетворить это требование:

С помощью следующих команд будет создан файл базовой конфигурации для сервера DHCP. Есть несколько параметров, которые вы можете добавить (информация будет передана обратно клиенту DHCP) и которые описаны в страницах man для dhcp.conf .

Все адреса следует изменить в соответствии с вашей конкретной ситуацией.

Описание пакета

Установленные программы: dhcpd, dhcrelay, dhclient, dhclient-script и omshell

Установленные библиотеки: libbdhcpctl.a, libdst.a, libomapi.a

Установленные директории: /var/state/dhcp, /usr/include/omapip и /usr/include/isi-dhcp

реализация клиентской программы DHCP

используется программой dhclient для (пере) конфигурирования интерфейсов. С его помощью можно выполнить дополнительные изменения с использованием dhclient--hooks

реализует протокол запросов Dynamic Host Configuration Protocol (DHCP) и Internet Bootstrap Protocol (BOOTP) сетевых адресов

предоставляет средство доступа запросов DHCP и BOOTP для подсети, не имеющих сервера DHCP, и перетрансляции их на сервер DHCP, находящийся в другой подсети

предоставляет интерактивный способ подключения, запросов, и, возможно, изменения состояния сервера ISC DHCP через OMAPI (Object Management API — API управления объектами).

Перевод сделан с варианта оригинала, датированного 2011-12-01 05:09:32 +0000

Источник

dhcpd (Русский)

dhcpd — реализация DHCP-сервера от Internet Systems Consortium. Может использоваться, к примеру, на машине, играющей роль маршрутизатора в локальной сети.

Contents

Установка

Использование

dhcpd предоставляет два файла юнитов, dhcpd4.service и dhcpd6.service , с помощью которых можно управлять демоном. Демоны запускаются на всех сетевых интерфейсах для IPv4 и IPv6 соответственно. Альтернативный вариант описан в разделе #Запуск на одном сетевом интерфейсе.

Настройка

Присвойте статический адрес IPv4 тому сетевому интерфейсу, для которого вы хотите запустить DHCP-сервер (в примерах будет использоваться eth0 ). Обратите внимание, что у двух различных сетевых интерфейсов на одной машине не должны полностью совпадать первые три октета адреса.

Читайте также:  Windows live если взломан

Автоматическое назначение статического IP при загрузке системы описано в статье Настройка сети#Статический IP-адрес.

Стандартный файл настроек, dhcpd.conf , содержит много незакомментированных примеров, поэтому следует переместить его в другое место, например

и создать на его месте новый.

Минимальная конфигурация может выглядеть следующим образом:

Если необходимо выдать фиксированный IP-адрес конкретному устройству, можно также указать настройки для отдельного хоста:

Опция domain-name-servers содержит адреса DNS-серверов, которые передаются клиентам. В данном примере используются публичные DNS-сервера Google. Если в вашей подсети уже есть DNS-серверы (например, предоставленные провайдером), следует указать их. Если на компьютере уже настроен собственный DNS-сервер, то укажите его адрес ( 139.96.30.100 в нашем примере).

Опции subnet-mask и routers содержат маску подсети и список маршрутизаторов в этой подсети, соответственно. В большинстве случаев для небольших сетей подойдет маска 255.255.255.0 , а в качестве маршрутизатора используется та же машина, на которой настроен DHCP-сервер.

Блоки subnet содержат настройки для отдельных подсетей, которые сопоставляются сетевым интерфейсам, на которых запущен dhcpd. В примере определена одна подсеть 139.96.30.0/24 за интерфейсом eth0 , для которой задан диапазон IP-адресов. Подключаемым клиентам будут присваиваться адреса из этого диапазона.

Запуск на одном сетевом интерфейсе

Если ваш компьютер уже является частью одной или нескольких сетей, может возникнуть ситуация, когда адреса будут выдаваться в том числе и компьютерам из другой сети. Это можно исправить либо настройками dhcpd, либо запуском в качестве демона с помощью systemctl.

Настройки dhcpd

Чтобы исключить конкретный интерфейс, в файле настроек создайте пустой блок subnet для этого интерфейса:

Файл службы

В «комплекте поставки» dhcpd не предусмотрен юнит для запуска на одном интерфейсе, поэтому придётся создать его самостоятельно. Сначала скопируйте существующую службу:

Затем отредактируйте строку ExecStart, добавив в неё спецификатор интерфейса:

Это юнит-шаблон, который привязывает процесс к определённому интерфейсу, например — dhcpd4@eth0.service . Здесь eth0 — название сетевого интерфейса; узнать интерфейсы вашей системы можно командой ip link .

Использование для PXE

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

Эти строки можно указать как в блоке subnet , так и в настройках отдельного хоста host . next-server представляет собой адрес TFTP-сервера, а filename — имя образа для загрузки. Подробнее см. PXE.

Источник

Настройка DHCP-сервера в Linux

Протокол динамической конфигурации узлов (Dynamic Host Configuration Protocol, DHCP) — это сетевой протокол, используемый для автоматического получения узлами IP-адресов и сетевой конфигурации с сервера.

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

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

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

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

Читайте также:  Windows 10 pro для школы

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

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

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

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

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

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

3. Основной файл конфигурации DHCP — /etc/dhcp/dhcpd.conf, в него нужно внести всю информацию, отправляемую клиентам.
В файле конфигурации DHCP есть два типа данных:

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

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

Установите в начале файла следующие глобальные параметры, они будут действовать для всех указанных ниже деклараций (измените их в соответствии с вашими задачами). Это имя домена domain-name, имена DNS-серверов domain-name-servers, время аренды по умолчанию в секундах default-lease-time (если клиент не запросил его сам), максимальное время аренды в секундах max-lease-time и параметр authoritative, означающий «авторитетность» сервера в сегменте сети. Данный параметр нужен на тот случай, если клиент запросит неправильный IP-адрес — в этом случае сервер ответит ему отказом и предложит получить новый адрес.

Обратите внимание, что перед некоторыми параметрами указано слово option, а перед некоторыми — нет. Это слово задает параметры, которые передаются клиенту в сетевой конфигурации.

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

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

routers — IP-адрес маршрутизатора по умолчанию
subnet-mask — маска подсети
domain-search — имя домена
domain-name-servers — имена DNS-серверов
range — диапазон IP-адресов, выделяемый клиентам (можно указывать несколько диапазонов, но обязательно указать хотя бы один)

Шаг 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.

Источник

Оцените статью