Разное

Linux настройка dhcp: Установка и настройка DHCP сервера на Linux

Содержание

Установка и настройка DHCP сервера на Linux

Доброго времени, уважаемые! Сегодня на блоге выкладываю мини-HOWTO настройки DHCP-сервера на Linux. В статье хочу рассказать, как работает протокол DHCP? Как работает клиент DHCP? А так же как собственно, настроить сервер DHCP?

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

Протокол DHCP

Протокол DHCP (Dynamic Host Configuration Protocol — протокол динамического конфигурирования хостов) является протоколом клиент-серверной модели. То есть, есть сервер DHCP (демон dhcpd) отвечающий на запросы клиентов и есть клиент DHCP (dhclient) посылающий запросы и принимающий ответы от сервера. Передача данных производится при помощи протокола UDP, при этом сервер принимает сообщения от клиентов на порт 67 и отправляет сообщения клиентам на порт 68.

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

Градиентными овалами и стрелками на схеме обозначены широковещательные сообщения и направление сообщения соответственно. Линиями обозначены не широковещательные сообщения. Пунктиром обозначены, возможные сообщения (необязательные). На основании рисунка, рассмотрим пример процесса получения IP-адреса клиентом от параллельно работающих серверов DHCP. Предположим, клиент ещё не имеет собственного IP-адреса. Процесс состоит из следующих этапов:

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

На первом этапе, клиент выполняет широковещательный запрос по всей физической сети с целью обнаружить доступные DHCP-серверы. Он отправляет сообщение типа DHCPDISCOVER, при этом в качестве IP-адреса источника указывается 0.0.0.0 (так как компьютер ещё не имеет собственного IP-адреса), а в качестве адреса назначения — широковещательный адрес 255. 255.255.255. Кроме IP источника и назначения, клиент в данном сообщении  посылает: уникальный идентификатор запроса, свой MAC, и, возможно, прошлый присвоенный IP.

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

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

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

Выбрав одну из конфигураций, предложенных DHCP-серверами, клиент отправляет запрос DHCP (DHCPREQUEST). Он рассылается широковещательно. В сообщении содержится информация из сообщения DHCPDISCOVER + специальная опция — идентификатор сервера — указывающая адрес DHCP-сервера. При этом, сервер, который не выбран в качестве «устраивающего» тоже видит, что он не выбран.

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

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

При этом, кроме указанных сообщений, возможны и другие (на схеме указаны пунктиром):

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

Если после получения подтверждения (DHCPACK) от сервера клиент обнаруживает, что указанный сервером адрес уже используется в сети, он рассылает широковещательное сообщение отказа DHCP (DHCPDECLINE), после чего процедура получения IP-адреса повторяется.

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

Если по каким-то причинам сервер не может предоставить клиенту запрошенный IP-адрес, или если аренда адреса удаляется администратором, сервер рассылает широковещательное сообщение отмены DHCP (DHCPNAK). При получении такого сообщения соответствующий клиент должен повторить процедуру получения адреса.

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

Клиент может явным образом прекратить аренду IP-адреса. Для этого он отправляет сообщение освобождения DHCP (DHCPRELEASE) тому серверу, который предоставил ему адрес в аренду.

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

Сообщение информации DHCP (DHCPINFORM) предназначено для определения дополнительных параметров TCP/IP (например, адреса маршрутизатора по умолчанию, DNS-серверов и т. п.) теми клиентами, которым не нужен динамический IP-адрес (то есть адрес которых настроен вручную). Серверы отвечают на такой запрос сообщением подтверждения (DHCPACK) без выделения IP-адреса.

Клиент 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:

dhcp-server:~# cat /etc/dhcp3/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192. 168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mydomain.org";

subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.10 192.168.1.100;
        range 192.168.1.150 192.168.1.200;
}

host hostname {
        hardware ethernet 08:00:00:00:00:23;
        fixed-address 192.168.1.222;
}

По данному конфигу клиентам распределяются 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@host-VirtualBox1:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:fc:b4:ce
          inet addr:192.168.1.11  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fefc:b4ce/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2939 errors:0 dropped:0 overruns:0 frame:0
          TX packets:57 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:945634 (945.6 KB)  TX bytes:10373 (10.3 KB)

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

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

dhcp-server:~# cat /etc/dhcp3/dhcpd.conf
.....
subnet 192.168.1.0 netmask 255.255.255.0 {
         range 192.168.1.10 192.168.1.100;
         range 192.168.1.150 192.168.1.200;
         host hostname {
                 hardware ethernet 08:00:00:00:00:23;
                 fixed-address 192.168.1.222;
         }
}

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

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

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

man dhcpd.conf (5)
man dhcp-options(5)

Резюме

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

С Уважением, Mc.Sim!


Другие материалы в категории Linux


Теги: daemon, Debian, dhcp, Linux, udp, настройка, основы

Как настроить DHCP сервер на Linux Mint? — Хабр Q&A

Сервером в моём случае будет выступать ноутбук с LinuxMint, который принимает интернет через WiFi. К нему по Ethernet подключается экзотическое устройство которое поддерживает режим DHCP клиента.

Что я делал на ноутбуке:

Посмотрел ifconfig, чтоб узнать интерфейс который будет раздавать адреса, в моем случае это enp3s0f1

enp3s0f1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::57eb:1217:90af:ab61  prefixlen 64  scopeid 0x20<link>
        ether 80:fa:5b:52:bb:43  txqueuelen 1000  (Ethernet)
        RX packets 89748  bytes 14684474 (14. 6 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 73806  bytes 4988432 (4.9 MB)
        TX errors 25  dropped 0 overruns 0  carrier 0  collisions 0

Поставил isc-dhcp-server
sudo apt-get install isc-dhcp-server

Прописал интерфейс в его конфиг /etc/default/isc-dhcp-server

# Defaults for isc-dhcp-server (sourced by /etc/init.d/isc-dhcp-server)

# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
#DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
#DHCPDv6_CONF=/etc/dhcp/dhcpd6.conf

# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPDv4_PID=/var/run/dhcpd.pid
#DHCPDv6_PID=/var/run/dhcpd6.pid

# Additional options to start dhcpd with.
#	Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#	Separate multiple interfaces with spaces, e.g. "eth0 eth2".
#INTERFACESv4=""
#INTERFACESv6=""

INTERFACES="enp3s0f1"

Дальше заменил файл конфигурации /etc/dhcp/dhcpd. conf на

dns-update-style none;
default-lease-time 600;
max-lease-time 7200; 

authoritative;
option subnet-mask 255.255.255.0; 
option broadcast-address 192.168.116.0; 
option routers 192.168.116.254; 
option domain-name-servers 8.8.4.4, 8.8.8.8;

subnet 192.168.116.0 netmask 255.255.255.0
{
        # Диапазон выдаваемых IP
	range 192.168.116.100 192.168.116.200;
}

И перезапустил сервер

/etc/init.d/isc-dhcp-server restart
[ ok ] Restarting isc-dhcp-server (via systemctl): isc-dhcp-server.service.

Но вот когда я проверяю статус сервиса /etc/init.d/isc-dhcp-server status

● isc-dhcp-server.service - ISC DHCP IPv4 server
   Loaded: loaded (/lib/systemd/system/isc-dhcp-server.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2020-04-22 17:40:29 EEST; 55s ago
     Docs: man:dhcpd(8)
  Process: 27053 ExecStart=/bin/sh -ec      CONFIG_FILE=/etc/dhcp/dhcpd.conf;      if [ -f /etc/ltsp/dhcpd. conf ]; then CONFIG_FILE=/etc/ltsp/dhcpd.conf; fi;      [ -e /var/lib/dhcp/dhcpd.leases ] || touch /var/lib/dhcp/dhcpd.leases;      chown root:dhcpd /var/lib/dhcp /var/lib/dhcp/dhcpd.leases;      chmod 775 /var/lib/dhcp ; chmod 664 /var/lib/dhcp/dhcpd.leases;      exec dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE $INTERFACES (code=exited, status=1/FAILURE)
 Main PID: 27053 (code=exited, status=1/FAILURE)

Apr 22 17:40:29 dhcpd[27053]: 
Apr 22 17:40:29 dhcpd[27053]: If you think you have received this message due to a bug rather
Apr 22 17:40:29 dhcpd[27053]: than a configuration issue please read the section on submitting
Apr 22 17:40:29 dhcpd[27053]: bugs on either our web page at www.isc.org or in the README file
Apr 22 17:40:29 dhcpd[27053]: before submitting a bug.  These pages explain the proper
Apr 22 17:40:29 dhcpd[27053]: process and the information we find helpful for debugging..
Apr 22 17:40:29 dhcpd[27053]: 
Apr 22 17:40:29 dhcpd[27053]: exiting. 
Apr 22 17:40:29 systemd[1]: isc-dhcp-server.service: Main process exited, code=exited, status=1/FAILURE
Apr 22 17:40:29 systemd[1]: isc-dhcp-server.service: Failed with result 'exit-code'.

Протокол динамического выделения адресов (DHCP)

Протокол динамического выделения адресов (DHCP)

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

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

  1. IP адрес и сетевую маску

  2. IP адрес шлюза по умолчанию

  3. IP адрес DNS серверов

Однако DHCP сервер может также предоставить такие параметры настройки, как:

  1. Адрес сервера времени

  2. Адрес сервера печати

Преимущество использования DHCP заключается в изменчивости сети, например, изменение адреса DNS сервера потребует изменений только на DHCP сервере, а все сетевые хосты будут перенастроены в момент следующего запроса их DHCP клиента к DHCP серверу. Дополнительное преимущество заключается в простом подключении новых компьютеров к сети, поскольку не требуется проверять доступность IP адресов. Конфликты по выделенным IP адресам также минимальны.

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

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

Динамическое выделение (пул адресов)
При этом методе, DHCP сервер будет выделять IP адрес из пула адресов (иногда называемым диапазоном или областью) на период времени (или в аренду), который настраивается на сервере, или пока клиент не проинформирует сервер, что больше вообще не нуждается в адресе. Таким образом, клиенты получают свои настройки динамически по принципу «первый пришел — первый обслужился». Когда DHCP клиент отсутствует в сети определенное время, настройка считается просроченной и возвращается в пул адресов для использования другими DHCP клиентами. Это означает, что адрес арендуется или выдается на определенный период времени. По истечении этого периода клиент должен повторно договариваться об использовании адреса с сервером.

Автоматическое выделение
Использую этот метод, DHCP автоматически присваивает постоянный IP адрес устройству, выбранный из пула доступных адресов. Обычно DHCP используется для выдачи временного адреса, но DHCP сервер может использовать бесконечное время аренды.

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

Установка

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

sudo apt-get install isc-dhcp-server

Возможно вам потребуется изменить настройку по умолчанию редактированием /etc/dhcp/dhcpd.conf для удовлетворения вашим потребностям и специфическим настройкам.

Вы также можете исправить /etc/default/isc-dhcp-server для определения интерфейсов, которые должен слушать dhcpd.

Обратите внимание, что сообщения dhcpd будут посылаться в syslog. Смотрите его для диагностики.

Настройка

Сообщение об ошибке в конце установки может немного смущать, но следующие шаги помогут вам настроить сервис:

В большинстве случаев, все что вам нужно сделать, это выделять случайный IP адрес. Это можно сделать следующими настройками:

# minimal sample /etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.1.0 netmask 255.255.255.0 {
 range 192.168.1.150 192.168.1.200;
 option routers 192.168.1.254;
 option domain-name-servers 192.168.1.1, 192.168.1.2;
 option domain-name "mydomain.example";
}

В результате DHCP сервер будет выдавать клиентам IP адреса из диапазона 192.168.1.150-192.168.1.200. адреса будут предоставляться на 600 секунд, если клиенты не запросят специфический промежуток времени. При этом максимально разрешенное время аренды будет 7200 секунд. Сервер будет также «рекомендовать» клиентам использовать адрес 192.168.1.254 в качестве шлюза и 192.168.1.1 и 192.168.1.2 как DNS сервера.

После изменения настройки вам потребуется перзапустить dhcpd:

sudo /etc/init.d/isc-dhcp-server restart

Ссылки

8.4. Настройка DHCP (Dynamic Host Configuration Protocol). Linux-сервер своими руками

8.4. Настройка DHCP (Dynamic Host Configuration Protocol)

Для чего нужен протокол DHCP? DHCP — это протокол настройки узла, который автоматически назначает IP-адреса компьютерам. По сути, протокол DHCP — это дальнейшее развитие протокола ВООТР. Последний разрешает бездисковым клиентам запускать и автоматически конфигурировать протокол TCP/IP. Протокол DHCP централизовано назначает IP-адреса в вашей сети и автоматически конфигурирует рабочие станции. Возможно, вы подумали, что в одной сети должен быть только один сервер DHCP, потому что в противном случае между серверами возникнет конфликт, а пострадавшим опять окажется клиент, который зависнет при загрузке. А вот и не так — в одной сети может быть несколько серверов DHCP. И это не только не отразится на производительности сети, но даже повысит надежность сети, если, например, один из серверов выйдет из строя.

Итак, установите пакет dhcp и включите поддержку динамических IP-адресов командой

echo "1" > /proc/sys/net/ipv4/ip_dynaddr

DHCP в Linux реализован в виде демона сервера (dhcpd) и демона клиента (dhcpcd). Демон сервера непосредственно отвечает за назначение IP-адресов клиентам, при входе и выходе их из сети. Клиентский демон, как явствует из названия, запускается на стороне клиента.

Конфигурационным файлом для dhcpd является /etc/dhcp.conf. При запуске DHCP-сервера происходит выделение IP-адресов согласно содержащимся в файле /etc/dhcp. conf установкам. Выделенные адреса dhcpd регистрирует в файле dhcpd.leases, который обычно находится в каталоге /var/dhcpd.

Сейчас давайте рассмотрим простейшую конфигурацию, которую будем постепенно наращивать (см. листинг 8.8). Обратите внимание на то что, чтобы внесенные вами в файл /etc/dhcp.conf изменения вступили в силу, демон dhcpd необходимо остановить и запустить снова. При этом используйте команду /etc/rc.d/init.d/dhcpd stop для останова демона, и команду /etc/rc.d/init.d/dhcpd start для его запуска.

Листинг 8.8. Файл /etc/dhcpd.conf

# описание сети, указывающее, какая из подсетей будет

# обслуживаться. Указывается сетевой адрес и маска сети

subnet 192.168.1.0 netmask 255.255.255.0 {

# маршрутизатор по умолчанию

option routers 192.168.1.1;

# маска подсети 255.255.255.0

option subnet-mask 255.255.255.0;

# установка домена по умолчанию и сервера NIS, если таковой используется

option nis-domain "domain. ua";

option domain-name "domain.ua";

# адрес DNS-сервера, который будут использовать клиенты

option domain-name-servers 192.168.1.1;

# диапазон адресов для клиентов

# 192.168.1.50-192.168.1.250

range 192.168.1.10 192.168.1.254;

# сказать клиентам, чтобы отдали адрес через 21600 секунд (6 часов)

# после получения адреса

default-lease-time 21600;

# забрать адрес самому через 28800 секунд (8 часов)

max-lease-time 28800;

}

Теперь будем постепенно усложнять конфигурацию. Каждая сетевая карточка имеет уникальный собственный МАС-адрес. Допустим, вам нужно связать какой-то МАС-адрес с определенным IP-адресом. Для этого воспользуйтесь конструкцией host:

host myhost {

hardware ethernet xx:xx:xx:xx:xx:xx;

fixed-address 192. 168.1.9;

}

Ее нужно вставить в ту конструкцию подсети subnet, которой принадлежит назначаемый IP-адрес. Данная конструкция означает, что компьютеру с аппаратным адресом хх:хх:хх:хх:хх:хх будет назначен IP-адрес 192.168.1.9. Например:

subnet 192.168.1.0 netmask 255.255.255.0 {

 # прочие опции

 # …

 #

 host myhost {

  hardware ethernet 00:40:C7:34:90:1E;

  fixed-address 192.168.1.9;

 }

}

Данный пример показывает, что аппаратному адресу 00:40:С7:34:90:1Е будет сопоставлен IP-адрес 192.168.1.9. Обратите внимание, что IP-адрес хоста myhost 192.168.1.9 относится к подсети 192.168.1.0 и включен в инструкцию subnet подсети 192.168.1.0, а не какой-либо другой сети!

Существует довольно удобная утилита для просмотра всех МАС-адресов сетевых адаптеров в вашей сети — программа TCPNetView. Эта программа разработана Александром Горлачем и загрузить ее вы можете по адресу http://www.enet.ru/~gorlach/netview/. Правда, есть одно «но»: эта программа работает под Windows. В любом случае, если вы будете использовать эту программу, при настройке сервера вам не придется подходить к каждому компьютеру, чтобы узнать его МАС-адрес. Существуют также и утилиты под Linux, способные показать сразу все МАС-адреса. Примером может послужить программа Trafshow, которую вы найдете на прилагаемом компакт-диске. Но по сравнению с Trafshow, TCPNetView несколько удобнее (см. рис. 8.4). 

Рис. 8.4. Программа TCPNetView

Теперь, предположим, что вам необходимо обеспечить поддержку WINS, а на вашей машине установлен сервер Samba. В этом случае в конструкцию subnet нужно включить следующие директивы:

option netbios-name-servers 192.168.1.1;

option netbios-dd-server 192.168.1.1;

option netbios-node-type 8;

Примечание. Служба WINS (Windows Internet Name Service) используется для разрешения (перевода) имен NetBIOS в IP-адреса. Сервер WINS — это усовершенствованный сервер имен NetBIOS, разработан Microsoft для снижения широковещательного трафика. Пакет Samba предназначен для использования протокола SMB (Server Message Block), который также еще называется протоколом NetBIOS. С помощью пакета Samba ваша машина, работающая подуправлением Linux, ничем не будет отличаться от рабочей станции или сервера сети Microsoft.

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

# определяем широковещательный адрес

option broadcast-address 192.168.2.255;

# включаем IP-Forwarding

option ip-forwarding on;

# можно добавить глобальную опцию:

server-identifier server.domain.ua;

Как обычно, дополнительную информацию можно получить, введя команду man dhcpd.conf. При настройке клиентов Windows следует активизировать режим «Получить IP-адрес автоматически» в свойствах TCP/IP (рис. 8.5). А при настройке Linux с помощью конфигуратора netconf — включить режим DHCP (см. рис. 8.6). 

Рис.8.5. Настройка Windows-клиента

Рис. 8.6. Настройка Linux-клиента

Протокол DHCP подробно описан в RFC 1533, 1534, 1541, 1542, а протокол ВООТР описан в rfc 1532. Окончательный вариант конфигурационного файла приведен в листинге 8.9.

Листинг 8.9. Конфигурационный файл /etc/dhcpd.conf (окончательный вариант)

# Подсеть 192.168.1.0, маска сети 255.255.255.0

subnet 192.168.1.0 netmask 255.255.255.0 {

# маршрутизатор по умолчанию

option routers 192.168.1.1;

# маска подсети 255.255.255.0

option subnet-mask 255.255.255.0;

# установка домена по умолчанию и сервера NIS, если таковой используется

option nis-domain "domain.ua";

option domain-name "domain.ua";

# задание широковещательного адреса

option broadcast-address 192.168.2.255;

# включение IP-Forwarding

option ip-forwarding on;

# глобальная опция server-identifier:

server-identifier server.domain.ua;

# адрес DNS-сервера, который будут использовать клиенты

option domain-name-servers 192.168.1.1;

# диапазон адресов для клиентов

# 192.168.1.50-192.168.1.250 range

192.168.1.10 192.168.1.254;

# сказать клиентам, чтобы отдали адрес через 21600 секунд (6 часов)

# после получения адреса

default-lease-time 21600;

# забрать адрес самому через 28800 секунд (8 часов)

max-lease-time 28800;

option netbios-name-servers 192.168.1.1;

option netbios-dd-server 192.168.1.1;

option netbios-node-type 8;

# описание трех клиентов (dhcp50, dhcp51, dhcp52)

# и их аппаратных адресов

 host dhcp50 {

  hardware ethernet 00:40:C7:34:90:1E;

# обратите внимание на то, что вы должны использовать IP-адрес

# из указанного ранее диапазона адресов 192.168.1.50-250.

  fixed-address 192.168.1.50;

 }

 host dhcp51 {

  hardware ethernet 00:40:C7:34:90:1F;

  fixed-address 192.168.1.51;

 }

 host dhcp52 {

  hardware ethernet 00:40:C7:34:90:2A;

  fixed-address 192.168.1.52;

 }

}

Данный текст является ознакомительным фрагментом.

Читать книгу целиком

Поделитесь на страничке

Использование клиента DHCP. Сетевые средства Linux

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

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

На заметку

Если вы хотите, чтобы ваш компьютер действовал как сервер DHCP, т. е. предоставлял IP-адреса другим системам, вам надо внимательно прочитать главу 5. Серверу DHCP должен быть присвоен статический IP-адрес.

Большинство дистрибутивных пакетов Linux позволяет включать поддержку DHCP в процессе инсталляции системы, в частности, при настройке сетевых средств. Если соответствующая опция отсутствует или если вы хотите изменить конфигурацию системы после ее инсталляции, проще всего сделать это, используя специальный инструмент с графическим пользовательским интерфейсом. К таким инструментальным средствам относятся Linuxconf (Red Hat или Mandrake), COAS (Caldera), YaST и YaST2 (SuSE). На рис. 2.1 показано окно YaST2 с установленной опцией Automatic address setup (via DHCP). В результате установки данной опции система настраивается для получения IP-адресов посредством DHCP.

Рис. 2.1. Специальные инструменты с графическим пользовательским интерфейсом упрощают использование клиента DHCP

К сожалению, при настройке средств DHCP иногда возникают проблемы; некоторые из них описаны ниже.

• Несовместимый клиент DHCP. В системе Linux применяются четыре клиента DHCP: pump, dhclient, dhcpxd и dhcpcd (обратите внимание на различия между именами последних двух клиентов и именем сервера DHCP dhcpd). В большинстве случаев все четыре клиентские программы работают корректно, но в некоторых сетях могут использоваться серверы DHCP, несовместимые с некоторыми клиентами DHCP, применяемыми в системе Linux. Если возникнет подобная ситуация, вам придется заменить клиент-программу DHCP на другую.

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

• Использование нескольких сетевых карт. Если в вашем компьютере установлены две или больше сетевых карт (NIC — network interface card), может возникнуть необходимость использовать клиент DHCP для получения IP-адресов лишь для некоторых из этих карт. Возможно, вы захотите, чтобы для каких-либо карт часть информации (например, адрес шлюза) не принималась во внимание. В этом случае вам также придется отредактировать сценарий запуска DHCP, либо написать собственный сценарий, который изменял бы автоматически выбранную конфигурацию.

В табл. 2.1 для наиболее популярных дистрибутивных пакетов Linux представлены клиент DHCP, используемый по умолчанию, альтернативный клиент DHCP, расположение сценария запуска, а также расположение основных конфигурационных файлов DHCP. (Инструмент ifup для Debian, в отличие от одноименных файлов, используемых другими системами, представляет собой программу, в которой реализованы средства настройки клиента DHCP. Управлять работой программы ifup можно, изменяя содержимое конфигурационного файла /etc/network/interfaces.) Если клиент DHCP, с которым вы предпочитаете работать, отсутствует в дистрибутивном пакете, вы все равно можете установить и использовать его. Возможно, вам придется внести некоторые изменения в сценарий запуска, расположение которого приведено в табл. 2.1, или самостоятельно реализовать процедуру запуска клиента DHCP.

Если вы считаете, что источником проблем являются опции клиента DHCP, несовместимые с присутствующим в сети сервером DHCP, то для решения этих проблем вам надо отредактировать сценарий запуска. Найдите строку, отвечающую за запуск клиент- программы, и проанализируйте передаваемые ей опции. В этом вам помогут страницы справочной информации, посвященные клиенту DHCP. Удаляя или добавляя опции, постарайтесь добиться желаемого поведения программы. Например, некоторые серверы DHCP требуют, чтобы клиент передавал имя узла; если вы используете программу dhcpcd, вам придется добавить опцию -h имя_узла. Часто в сценариях используются данные из конфигурационного файла (их расположение также приведено в табл. 2.1), однако чаще всего эти файлы сообщают системе, следует ли использовать статические IP-адреса или надо воспользоваться DHCP.

Таблица 2.1. Информация о клиентах DHCP для наиболее популярных дистрибутивных пакетов Linux

Версия LinuxКлиент DHCP no умолчаниюАльтернативный клиент DHCPСценарий запуска клиента DHCPДополнительные конфигурационные файлы
Caldera OpenLinux Server 3.1dhclientОтсутствует/etc/sysconfig/network-scripts/ifup-dhcp/etc/sysconfig/network, /etc/sysconfig/network-scripts/ifcfg-eth0, /etc/dhcp/dhclient.conf
Debian GNU/Linux 2.2pumpdhcpcd/sbin/ifup (двоичный файл)/etc/network/interfaces
Linux Mandrake 8.1dhcpcddhclient, dhcpxd/sbin/ifup/etc/sysconfig/network, /etc/sysconfig/network-scripts/ifcfg-eth0
Red Hat Linux 7.2pumpdhcpcd/sbin/ifup/etc/sysconfig/network, /etc/sysconfig/network-scripts/ifcfg-eth0
Slackware Linux 8.0dhcpcdОтсутствует/etc/rc.d/rc.inet1Отсутствуют
SuSE Linux 7.3dhcpcddhclient/etc/init.d/dhclient/etc/rc.config
TurboLinux 7dhclientОтсутствует/sbin/ifup/etc/sysconfig/network, /etc/sysconfig/network-scripts/ifcfg-eth0

Поделитесь на страничке

Следующая глава >

Ubuntu → Настройка DNS+DHCP сервера для локальной сети+динамическое обновление DNS зон, под управлением Ubuntu 12.04

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

Я не буду рассказывать назначение данной службы, о том как она работает можно прочитать в Википедии. Скажу только что эта служба иерархическая.

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

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

Дополнительным плюсом это будет автоматическое создание прямой и обратной DNS зоны, для клиентских устройств локальной сети. Аналогичный процесс используется в сетях под управлением MS Windows в среде Active Directory. Там службы DNS и DHCP тесно интегрированы между собой т.е клиентский ПК подключившись к сети и получивший IP адрес автоматически получает DNS запись вида hostname.domainname.tld это добавляет удобства в случае необходимости подключения по имени а не по IP-который дтуднее запомнить, дополнительным плюсом является создание обратной зоны которая позволяет проводить обратный процесс -разрешение имени по IP, что может быть полезно в случае поиска устройсва если известен его IP адрес, то узнав его имя можно сразу понять о ком идет речь.

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

Предполагается что:

1) Операционная система Ubuntu 12.04 установлена, хотя на Debian будет также работать ничуть не хуже.
2) Сервер настроен в качестве шлюза по статье: Настройка шлюза локальной сети, на базе Ubuntu 12.04
3) Также на указанном сервере настроена служба DHCP по статье: Настройка DHCP

сервера под управлением Ubuntu 12.04

Первым делом, нам необходимо удалить пакет dnsmasq — который был установлен по статье, Настройка шлюза локальной сети, т.к надобность в нем отпадает, вместо него у нас будет использоваться Bind9.


Поднимаем права до root:

sudo su
aptitude purge dnsmasq
Установка DNS сервера

Установим Bind:

aptitude install bind9

Теперь генерируем ключ, для обновления DNS записей:

dnssec-keygen -a HMAC-MD5 -b 128 -r /dev/urandom -n USER DHCP_UPDATER

Проверим что у нас получилось:

cat Kdhcp_updater.*.private|grep Key

Нам выдаст нечто подобное (у вас ключ получится другим)

Key: cYqlx8g/jLcIxXFDpqrxZw==

Его нам необходимо записать, т.к. он нам еще пригодится.

Переходим к настройкам Bind9, для начала отредактируем файл name.conf.option:

nano /etc/bind/named.conf.options

Туда добавляем следующие строки:

forwarders {
        8.8.8.8;
     };

    listen-on {
      127.0.0.1;
      192.168.10.1;
    };
Рассмотрим более подробно то что мы написали:

В пункте forwarders мы указали, вышестоящие DNS сервера, куда будет передаваться запрос в случае если информации о запрошенном URL не будет найдено в собственной базе, в нашем случае, это DNS сервер google, но можно указать те которые нужны вам, например DNS сервер вашего провайдера.
В пункте listen-on указываем IP адреса, которые будет обслуживать наш DNS сервер, это localhost и интерфейс по которому подключена наша локальная сеть 192.168.10.1, запросы на другие IP адреса обслуживаться не будут, эту функцию можно рассматривать как дополнительную возможность по снижению нагрузки на наш сервер т.к. запросы из вне-не обслуживаются.

Переходим к редактированию файла name.conf.local:

nano /etc/bind/named.conf.local

Добавми туда следующее:

key DHCP_UPDATER {
        algorithm HMAC-MD5.SIG-ALG.REG.INT;
        secret "cYqlx8g/jLcIxXFDpqrxZw==";
};
 
zone "example.net" IN {
        type master;
        file "/var/lib/bind/forward.db";
        allow-update { key DHCP_UPDATER; };
};
 
zone "10.168.192.in-addr.arpa" IN {
        type master;
        file "/var/lib/bind/reverse.db";
        allow-update { key DHCP_UPDATER; };
};
Рассмотрим написанное, более подробно:

Пункт key DHCP_UPDATER содержит информацию о ключе, который мы генерировали в самом начале.
Пункт zone «example.net»-зона, которую обслуживает наш DNS сервер, в нашем случае example.net (многие советуют использовать зону .local, я этого делать не рекомендую т.к. avahi daemon с данными зонами не работает, да и Microsoft также крайне не рекомендует использовать зону local, в своей, свежей, документации к Windows 2k8 )
Также там описывается тип зоны- master и путь к файлу где будут храниться данные зоны, последний пункт разрешает обновление данного файла, только с использованием ключа.
Пункт zone «10.168.192.in-addr.arpa» отвечает за создание зоны обратного просмотра, назначение остальных пунктов, думаю, вы уже поняли.

Теперь нам необходимо создать сами файлы, в которых будут храниться данные зоны example.net.

Они будут располагаться в /var/lib/bind/ сделано это по одной постой причине-группа bind не имеет права на запись в /etc/bind/, а начинать менять права на системные директории, не очень хорошая идея.

Переходим с созданию файла настроек зоны, для начала, создадим зону прямого просмотра назовем его forward.db:

nano /var/lib/bind/forward.db

С содержимым:

$TTL 86400      ;       1 day
example.net.    IN      SOA     srv01.example.net. admin.example.net. (
                                20110103        ; Serial
                                10800           ; Refresh
                                3600            ; Retry
                                604800          ; Expire
                                86400           ; Minimum TTL
                        )

                IN      NS      srv01.example.net.
                IN      A       192.168.10.1
localhost       IN      A       127.0.0.1
srv01           IN      A       192.168.10.1

Из содержимого понятно что наша зона example.net, в которой присутствует DNS сервер (он же шлюз) с именем srv01, который имеет IP адрес 192.168.10.1. Других записей делать не будем т.к. их будет добавлять DHCP сервер автоматически.

Если вдруг вам понадобится создать запись в ручную, то достаточно добавить строку с именем и IP адресом узла локальной сети.

Теперь создадим файл зоны обратного просмотра, чтобы не выдумывать ничего, назовем его reverse.db

nano /var/lib/bind/reverse.db

С содержимым:

$TTL 86400      ;       1 day
10.168.192.in-addr.arpa. IN SOA srv01.example.net. admin.example.net. (
                        20110104        ; Serial
                        10800           ; Refresh
                        3600            ; Retry
                        604800          ; Expire
                        3600 )          ; Minimum

        IN      NS      srv01.example.net.
1       IN      PTR     example.net.
1       IN      PTR     srv01.example.net.

Выходим и перезапускам bind

/etc/init.d/bind9 restart

Теперь нам необходимо проверь работоспособность нашего сервера локально.
Проблема заключается в том что наш сервер по умолчанию использует DNS настройки которого по получил по сети и соответственно он ничего не знает о локальном DNS сервере, которые крутится на нем же-это нам необходимо исправить.
Если мы полезем, править resolv.conf то в Ubuntu 12.04 нас поджидает большой сюрприз в виде надписи:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)

# DO NOT EDIT THIS FILE BY HAND — YOUR CHANGES WILL BE OVERWRITTEN

Которая говорит нам о том что: resolv.conf нельзя редактировать и что он создается динамически, а все внесенные в него изменения будут перезаписаны!
В общем его править нельзя, мы будем править сам шаблон этого файла, который находится в /etc/resolvconf/resolv.conf.d/ нас интересует файл head, вот его мы и будем править:

nano /etc/resolvconf/resolv.conf.d/head

Добавляем в него:

domain example.net
search example.net
nameserver 127.0.0.1

Более опытные уже догадались что это ничто иное как DNS суффикс и домен для поиска по умолчанию, а также IP адрес локального DNS сервера.

У данной схемы есть еще одно преимущество- если настройки сети получаются нашим шлюзом от DHCP сервера провайдера, то DNS сервер провайдера добавляется в конце списка, после строки nameserver 127.0.0.1, таким образом, наш локальный DNS всегда является приоритетным, а в случае выхода его из строя, запросы начинают идти к DNS провайдера, автоматически!

Перезапустим сеть:

/etc/init.d/networking restart

Пробуем определить наш DNS сервер:

dig srv01

В ответ получаем нечто подобное:

; <<>> DiG 9.8.1-P1 <<>> srv01

;; global options: +cmd

;; Got answer:

;; ->>HEADER<< — opcode: QUERY, status: NXDOMAIN, id: 56977

;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:

;srv01. IN A

;; AUTHORITY SECTION:

. 812 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2012080300 1800 900 604800 86400

;; Query time: 44 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Fri Aug 3 13:28:45 2012

;; MSG SIZE rcvd: 98

Значит ответы присылаются, это хорошо.
Проверим самоопределение имени нашего сервера:

nslookup srv01

В ответ получим

Server: 127.0.0.1

Address: 127.0.0.1#53

Name: srv01.example.net

Address: 192.168.10.1

Эту операцию, также, можно выполнить и через host, сделав запрос вида:

host srv01

Если имя преобразовано в IP значит зона прямого просмотра работает нормально.

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

nslookup 192.168.10.1

Нам выдаст:

Server: 127.0.0.1

Address: 127.0.0.1#53

1.10.168.192.in-addr.arpa name = srv01.example.net.

1.10.168.192.in-addr.arpa name = example.net.

Если ответ получен, значит обратное разрешение имен, также, работает.
Можно считать половину дела сделанным…

Настраиваем динамическое обновление зон DHCP сервером.

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

subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.10 192.168.10.254;
option domain-name-servers 192.168.10.1;
option domain-name "example.net";
option routers 192.168.10.1;
option broadcast-address 192.168.10.255;
default-lease-time 604800;
max-lease-time 604800;
}

Мы ее немного подправим, а именно заменим option domain-name на example.net
перед диапазоном адресов нашего DHCP сервера, добавляем следующее:

nano /etc/dhcp/dhcpd.conf

За одно добавим строку update-static-leases on; которая отвечает за автоматическое создание прямой и обратной зоны для клиентов с зарезервированным IP, без нее записи придется создавать в ручную, а мы этот процесс автоматизируем.

ddns-update-style interim;
update-static-leases    on; 
key DHCP_UPDATER {
algorithm hmac-md5;
secret "cYqlx8g/jLcIxXFDpqrxZw==";
}
 
zone example.net. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
 
zone 10.168.192.in-addr.arpa. {
primary 127.0.0.1;
key DHCP_UPDATER;
}

В результате всех действий, у вас должен получиться конфигурационный файл вида:

ddns-update-style interim;
update-static-leases    on;
key DHCP_UPDATER {
algorithm hmac-md5;
secret "cYqlx8g/jLcIxXFDpqrxZw==";
}
 
zone example.net. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
 
zone 10.168.192.in-addr.arpa. {
primary 127.0.0.1;
key DHCP_UPDATER;
}

subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.10 192.168.10.254;
option domain-name-servers 192.168.10.1;
option domain-name "example.net";
option routers 192.168.10.1;
option broadcast-address 192.168.10.255;
default-lease-time 604800;
max-lease-time 604800;
}

Остальные настройки, оставляем как они были представлены в руководстве по настройке DHCP сервера.

Перезапустим DNS и DHCP сервер:

/etc/init.d/bind9 restart
/etc/init.d/isc-dhcp-server restart

Подключаем наш клиентский ПК к локальной сети, предположим что его имя test01 он получит IP от нашего DHCP сервера, а DHCP сервер создаст DNS запись вида test01.example.net.

Пробуем выполнить запрос по имени

nslookup test01

нам должен возвращаться IP адрес который получила клиентская машина от DHCP сервера.
Ну и преобразование IP адреса в имя, также должно работать.
Во время работы данной связки, у нас будут создаваться файлы в директории /var/lib/bind с расширением .jnl, они создаются автоматически, создавать или удалять их не нужно.
Выглядеть это будет так как на скриншоте:

Теперь работы по настройке данной схемы можно считать успешно завешенными.

На этом все.

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

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

DHCP (протокол динамической конфигурации хоста) — это служба, работающая на порту 67, которая назначает IP-адреса компьютерам в сети. Настройка DHCP-сервера требует, чтобы вы указали диапазон IP-адресов, которые будут назначены компьютерам в сети, адрес шлюза, который является адресом маршрутизатора или модема, и адрес DNS-сервера, который будет использоваться для разрешения имена хостов. Для этого в Linux достаточно просто установить приложение и отредактировать файл.conf файл.

Установите DHCP RPM

Перед установкой убедитесь, что он еще не установлен. Перейдите в терминал командной строки и введите команду rpm -qa dhcp *, ничего не должно отображаться. Если отображается dhcpclient или что-то подобное, это означает, что у вас не установлена ​​версия сервера. Если вы видите только dhcp- .el5 , значит, он у вас уже установлен, поэтому пропустите этот шаг и переходите к следующей части.

Если он у вас не установлен, вы можете установить его через репозиторий, если он у вас настроен правильно.Введите yum list dhcp * и пакет dhcp.i386 будут перечислены в списке доступных пакетов. Чтобы установить его, введите yum install dhcp.i386 , и пакет будет загружен из репозитория (если это репозиторий HTTP / FTP) и установлен. Если у вас есть файл RPM для dhcp, вы можете установить его, перейдя в папку, содержащую файл RPM, и введите команду rpm -ivh dhcp- .rpm , и теперь служба dhcp будет установлена. Чтобы проверить, успешно ли он установлен, введите rpm -qa dhcp , в нем будут перечислены установленные пакеты с именем dhcp

.

Скопируйте и переименуйте dhcpd.conf в / etc

После установки в каталоге / etc создается файл с именем dhcpd.conf , это файл конфигурации для службы DHCP. Но если вы откроете его, он может содержать строку, сообщающую вам, что /usr/share/doc/dhcp*/dhcpd.conf.sample — это расположение файла образца, который необходимо скопировать и переименовать в каталог / etc. . Чтобы сделать и то, и другое в одной команде, введите cp /usr/share/doc/dhcp-/dhcpd.conf.sample / etc / dhcpd.conf , он спросит, нужно ли перезаписывать dhcpd.conf, расположенный внутри / etc, введите y, чтобы это сделать.

Отредактируйте файл /etc/dhcpd.conf

Зарегистрирован как пользователь root vi /etc/dhcpd.conf нажмите i, чтобы войти в режим вставки, вам нужно будет настроить следующие строки.
подсеть 192.168.0.0 сетевая маска 255.255.255.0
дополнительные маршрутизаторы 192.168.0.1;
опция маска подсети 255.255.255.0;
option domain-name-servers 192.168.1.1;
диапазон динамической загрузки 192.168.0.128 192.168.0.254;
время аренды по умолчанию 21600;
max-lease-time 43200;

В строке номер 1 установите подсеть для домена в соответствии с классом IP, который вы собираетесь использовать. Установите IP-адрес маршрутизатора / шлюза в вашей сети и установите IP-маску подсети. Обратите внимание, что в отличие от Windows, которая автоматически заполняет маску подсети в соответствии с введенным IP-адресом, Linux требует, чтобы вы указали ее вручную, поэтому убедитесь, что вы указали правильную маску подсети в соответствии с классом IP-адреса.Опция domain-name-servers — это то место, где вы должны ввести DNS-серверы для своего домена. Если вы хотите ввести более одного DNS-сервера, разделите каждый IP-адрес запятыми. Диапазон dynamic-bootp — это место, где можно указать диапазон IP-адресов, которые должны быть назначены устройствам в сети. Начальный и конечный IP-адреса должны быть разделены пробелом. Последней настройкой является время аренды по умолчанию и максимальное время аренды, которые следует указывать в секундах. Это сообщает устройствам в сети, по истечении какого времени IP-адрес должен быть обновлен.Нажмите ESC, затем введите: wq, чтобы сохранить файл и выйти.

Назначьте статический IP-адрес DHCP-серверу

DHCP-серверу должен быть назначен статический IP-адрес, чтобы он мог обслуживать запросы клиентов. В командной строке введите vi / etc / sysconfig / network-scripts / ifcfg-eth0 и введите значения для IPADDR, GATEWAY, NETMASK и DNS1. Сохраните файл и перезапустите сетевую службу, набрав service network restart, чтобы изменения вступили в силу. введите ifconfig, чтобы увидеть, были ли применены изменения.

Запустите и проверьте DHCP-сервер

Для запуска демона DHCP введите service dhcpd start, чтобы он запускался вместе с ОС типа chkconfig dhcpd on. Теперь включите другой компьютер в сети и посмотрите, правильно ли назначены адреса IP / Netmask / Gateway / DNS, набрав ipconfig , если на клиенте работает Windows, или ifconfig в Linux.

Назначьте фиксированный IP-адрес определенным машинам с помощью DHCP

Иногда может потребоваться, чтобы определенным компьютерам в вашей сети были назначены определенные IP-адреса.Это можно сделать, указав имя хоста и MAC-адрес компьютера. Чтобы узнать имя хоста, введите имя хоста в командной строке. Чтобы узнать MAC-адрес, введите ipconfig / all для Windows или ifconfig для Linux. Затем добавьте следующий код в конец файла /etc/dhcpd.conf.
host {
hardware ethernet ;
фиксированный адрес ;
}

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

Если служба DHCP запускается, но IP-адрес не назначен никаким компьютерам, это может быть связано с тем, что брандмауэр, работающий на Linux DHCP-сервере , блокирует порт 67. Укажите правила, разрешающие входящим запросам отправлять 67, и он должен работать правильно.

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

Для кабельного модема или DSL-соединения поставщик услуг динамически назначает IP-адрес вашему компьютеру.Когда вы устанавливаете DSL или домашний кабельный маршрутизатор между домашней сетью и модемом, ваш компьютер будет получать свой IP-адрес от домашнего маршрутизатора во время загрузки. Система Linux может быть настроена как DHCP-сервер и использоваться вместо маршрутизатора.

DHCP не установлен по умолчанию в вашей системе Linux. Его необходимо установить, получив root-права:

$ вс —

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

# yum install dhcp

Как только все зависимости будут удовлетворены, установка будет завершена.

Запустите DHCP-сервер

Для включения, запуска, остановки или перезапуска службы dhcpd вам потребуются права root:

# systemctl enable dhcpd.service

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

# systemctl start dhcpd.service
# systemctl stop dhcpd.service
# systemctl restart dhcpd.service

или с помощью следующих команд, если команда systemctl недоступна:

# service dhcpd start
# service dhcpd stop
# service dhcpd restart

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

# systemctl status dhcpd.служба

Другой способ узнать, работает ли dhcpd , — использовать команду service :

# статус dhcpd службы

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

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

В зависимости от версии установленной Linux, которую вы используете в настоящее время, файл конфигурации может находиться в каталогах / etc / dhcpd или / etc / dhcpd3 .

При установке пакета DHCP создаются каркасный файл конфигурации и образец файла конфигурации. Оба они довольно обширны, и в файле конфигурации скелета большинство команд деактивировано с # в начале. Пример файла конфигурации можно найти по адресу /usr/share/doc/dhcp*/dhcpd.conf.sample .

При создании файла dhcpd.conf создается раздел подсети для каждого из интерфейсов, присутствующих в вашей системе Linux; это очень важно.Ниже приводится небольшая часть файла dhcp.conf :

ddns-update-style промежуточный

игнорировать обновления клиента

подсеть 192.168.1.0 маска сети 255.255.255.0 {

# Диапазон IP адресов сервера

# будет выдавать клиентам ПК с включенным DHCP

# загрузка по сети

диапазон 192.168.1.201 192.168.1.220;

# Установите время в секундах, в течение которого

# клиент может сохранить IP-адрес

время аренды по умолчанию 86400;

max-lease-time 86400;

# Установить шлюз по умолчанию, который будет использоваться

# ПК клиенты

дополнительных маршрутизаторов 192.168.1.1;

# Не пересылать запросы DHCP от этого

# Интерфейс NIC к любому другому NIC

# интерфейсы

опция ip-forwarding отключена;

# Установить широковещательный адрес и маску подсети

# для использования клиентами DHCP

вариант широковещательного адреса 192.168.1.255;

опция маска подсети 255.255.255.0;

# Установите сервер NTP, который будет использоваться

# DHCP-клиенты

вариант ntp-серверов 192.168.1.100;

# Установите DNS-сервер, который будет использоваться

# DHCP-клиенты

вариант доменных имен-серверов 192.168.1.100;

# Если вы укажете WINS-сервер для своих клиентов Windows,

# вам необходимо включить в файл dhcpd.conf следующую опцию:

вариант netbios-name-серверов 192.168.1.100;

# Вы также можете назначить определенные IP-адреса на основе

клиентов.

# MAC-адрес Ethernet следующим образом (имя хоста «лазерный принтер»:

главный лазерный принтер {

аппаратный Ethernet 08: 00: 2b: 4c: 59: 23;

фиксированный адрес 192.168.1.222;

}

}

#

# Перечислить неиспользуемый интерфейс здесь

#

подсеть 192.168.2.0 маска подсети 255.255.255.0 {

}

Необходимо изменить IP-адреса для соответствия диапазонам, подходящим для вашей сети. Существуют и другие операторы параметров, которые можно использовать для настройки DHCP. Как видите, некоторым ресурсам, например принтерам, которым требуются фиксированные IP-адреса, дается конкретный IP-адрес на основе MAC-адреса сетевого адаптера устройства.

Для получения дополнительной информации вы можете прочитать соответствующие страницы руководства:

# man dhcp-options

Маршрутизация с DHCP-сервером

Когда компьютер с конфигурацией DHCP загружается, он запрашивает IP-адрес у DHCP-сервера. Для этого он отправляет стандартный пакет DHCP-запроса на DHCP-сервер с исходным IP-адресом 255.255.255.255. К этому адресу 255.255.255.255 необходимо добавить маршрут, чтобы DHCP-сервер знал, на каком интерфейсе он должен отправить ответ.Это делается путем добавления информации о маршруте в файл / etc / sysconfig / network-scripts / route-eth0 , предполагая, что маршрут должен быть добавлен в интерфейс eth0 :

#

# файл / etc / sysconfig / network-scripts / route-eth0

#

255.255.255.255/32 dev eth0

После определения интерфейса для DHCP-маршрутизации необходимо дополнительно убедиться, что ваш DHCP-сервер слушает только этот интерфейс и никакой другой. Для этого необходимо отредактировать файл / etc / sysconfig / dhcpd и добавить предпочтительный интерфейс в переменную DHCPDARGS .Если интерфейс должен быть eth0, необходимо внести следующие изменения:

# Файл: / etc / sysconfig / dhcpd

DHCPDARGS = eth0

Тестирование DHCP

Использование команды netstat вместе с параметром -au покажет список интерфейсов, прослушивающих порт UDP bootp или DHCP:

# netstat -au | grep bootp

приведет к следующему:

UDP 0 0 192.168.1.100: загрузки *: *

Кроме того, проверка файла / var / log / messages покажет определенные интерфейсы, используемые с момента запуска демона dhcpd:

24 февраля, 17:22:44 Linux-64 dhcpd: прослушивание LPF / eth0 / 00: e0: 18: 5c: d8: 41/192.168.1.0 / 24
24 февраля 17:22:44 Linux-64 dhcpd: отправка на LPF / eth0 / 00: e0: 18: 5c: d8: 41 / 192.168.1.0 / 24

Это подтверждает, что служба DHCP была успешно установлена ​​и работает правильно.

Вернуться к разделу «Система Linux и сетевые службы»

настройка dhcp

Еще 10 дискуссий, которые могут вас заинтересовать

1. IP-сеть

У меня на принтере HP есть DHCP. Как я могу найти для этого информацию о номерах? (2 ответов)

Обсуждение началось: teak

2 ответов

2.IP-сеть

Привет всем!
пожалуйста, просмотрите настройку ниже:
————————————————— ——————
| DHCP-сервер | ———— | МАРШРУТИЗАТОР & | ———— | Клиенты |
| 192.168.99.1 | — — | DHCP-RELAY | — | 192.168.88.X |
… (2 ответов)

Обсуждение началось: gdangoor

2 ответов

3. IP-сеть

Уважаемые специалисты!
У меня есть плата TI DM8148 EVM REV C, EZSDK5.05 SW и DVRRDK1.09 SW.
EZSDK5.05 и DVRRDK1.09 используют Linux2.6.37, однако между этими двумя ядрами есть некоторые модификации.
Когда я использую uImage DVRRDK1.09 для загрузки платы EVM, этой плате может быть присвоено … (0 ответов)

Обсуждение начато: oobin168

0 ответов

4. UNIX для чайников. Вопросы и ответы

Привет всем!
Я пытаюсь настроить DHCP-сервер на хосте linux с eth0: 1, который использует 192.168.1.10
Я также хочу ограничить свой DHCP-клиент только одним хостом adcnew222.
Имя хоста DHCP-сервера — adcnew111
Имя DHCP-клиента — adcnew222
Мой файл conf на сервере DHCP выглядит следующим образом:
… (2 ответов)

Обсуждение началось: sriram003

2 ответов

5. UNIX для продвинутых и опытных пользователей

Важен ли dnsmasq для dhcp для настройки dns? (3 ответов)

Обсуждение начато: cokedude

3 ответов

6.AIX

Я знаю, что официальная позиция IBM заключается в том, что NIM не работает в среде etherchannel, но может ли кто-нибудь обойти это?
Я работаю над системой LPAR p5-590, а мастер NIM и клиенты находятся в одном кадре.
Любая помощь приветствуется. (1 ответ)

Обсуждение началось: pdtak

1 ответов

7. Linux

привет всем,
пока я настраиваю свой DHCP, я получаю следующее сообщение в журналах:
«Несколько интерфейсов соответствуют одной и той же общей сети: eth0 eth2»
кто-нибудь знает, что означает это сообщение.заранее спасибо
ура (3 ответов)

Обсуждение началось: ppass

3 ответов

8. UNIX для чайников. Вопросы и ответы

HI,
Новичок в Unix, и я унаследовал сеть, в которой работает DHCP в режиме ручной настройки. По сути, для того, чтобы машина получила IP-адрес, она должна иметь запись в dhcpd.conf с ее MAC-адресом, сопоставленным с именем хоста (имя хоста затем сопоставляется с IP-адресом, указанным в файле db DNS). Если там есть… (2 ответов)

Обсуждение начато: NJay

2 ответов

9. UNIX для продвинутых и опытных пользователей

Привет всем. Я пытаюсь включить DHCP в Sun Utra 5 под управлением Solaris 8, но во время процесса загрузки он отправляет мне сообщение: «Устройство не в соответствующем состоянии»
У кого-нибудь включен DHCP на solaris 8?
Любая процедура?
Я полагаю, что DHCP-сервер — это NT. (2 ответов)

Обсуждение начато: alex blanco

2 ответов

10.IP-сеть

Привет всем, у меня Intel Pentium 233/128 под управлением Solaris 8. У меня также есть dhcp / router / dns под управлением SuSElinux 7.2 (извините, если это не по теме) Моя проблема в том, что окно Solaris, когда оно пытается настроить интерфейс (elxl0) через dhcp не получается. Похоже, согласно … (1 ответ)

Обсуждение начато: jdevarie

1 ответов

Как настроить DHCP-сервер в Linux

Это руководство объясняет, как настроить DHCP-сервер в RedHat Linux и DHCP-клиент Windows и Linux, шаг за шагом с практическим примером.Узнайте, как настроить DHCP-сервер для динамического назначения IP-адресов из пула IP-адресов и настроить его для назначения фиксированных IP-адресов определенным ресурсам на основе MAC-адреса.

DHCP или Протокол динамической конфигурации хоста, позволяет администратору настраивать сетевые параметры для всех клиентов на центральном сервере.

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

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

Экзаменационный вопрос Настройте DHCP-сервер , выполнив следующие условия:

  • Подсеть и маска сети должны быть 192.168.0.0 255.255.255.0
  • Шлюз Должен быть 192.168.0.254
  • DNS-сервер Должен быть 192.168.0.254
  • Доменное имя должно быть example.com
  • Диапазон от 192.168.0.10-50

Экзаменационный вопрос У вас есть DHCP-сервер , который назначает IP-адрес, шлюз и IP-адрес DNS-сервера клиентам.Есть один DNS-сервер с MAC-адресом (00: 50: FC: 98: 8D: 00 в вашей локальной сети, но всегда требуется фиксированный IP-адрес (192.168.0.10) . Настройте DHCP-сервер для назначения фиксированный IP-адрес DNS-сервера.

Настроить DHCP-сервер

В этом примере мы настроим DHCP-сервер и предоставим клиентам IP-адреса.

В этом примере мы используем три системы: один сервер Linux, один клиент Linux и один клиент окна.

dhcp об / мин требуется для настройки DHCP-сервера. проверьте, если не нашел, то установите

Теперь проверьте службу dhcpd в системной службе, она должна быть на

 #setup
Выберите  Системная служба 
из списка [*] dhcpd
 

Для назначения IP-адреса DHCP-серверу

DHCP-сервер имеет статический IP-адрес. Сначала настройте IP-адрес 192.168.0.254 с сетевой маской 255.255.255.0 на сервере.

Запустить setup command form root user

откроется новое окно выбора конфигурации сети

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

назначьте IP в этом поле и нажмите ОК

нажмите ОК, выйти и снова выйти, чтобы вернуться к приглашению root.

перезапустите сетевой сервис , чтобы новый IP-адрес можно было разместить на карте LAN

основной файл конфигурации dhcp-сервера — dhcpd.conf. Этот файл находится в каталоге / etc . Если этого файла там нет или вы его испортили, сначала скопируйте новый файл, если запросите перезапись, нажмите y

теперь откройте /etc/dhcpd.conf

запись по умолчанию в этом файле выглядит так

сделайте эти изменения в этом файле для настройки dhcp server

 удалить эту строку # - - - шлюз по умолчанию
установите маршрутизаторы опции на 192.168.0.254
установите для параметра маска подсети значение 255.255.255.0
option nis domain на example.com
option domain-name на example.com
option domain-name-servers на 192.168.0.254
диапазон dynamic-bootp до 192.168.0.10 192.168.0.50;
 

После изменения этот файл должен выглядеть так

как назначить исправленный IP-адрес любому хосту

найдите этот абзац и измените аппаратного Ethernet на MAC-адрес клиента и фиксированный -адрес с по IP-адрес , который вы хотите предоставить этому хосту

после внесения необходимых изменений сохраните файл и выйдите из

теперь создает пустой файл . используется для хранения информации о выделенном IP-адресе .

Теперь перезапустите службу dhcpd и на ней chkconfig команды

Конфигурация клиента Linux

Настройка клиента очень проста и понятна.Все, что вам нужно сделать, это установить динамический IP-адрес в свойствах сетевой карты. В linux

 #setup
выберите конфигурацию сети   из списка меню
Выберите  lan card  и введите ОК
Выберите  ИСПОЛЬЗОВАТЬ DHCP  и введите ОК.
Теперь нажмите  выйти из 
и  выйти из , чтобы вернуться к корневому запросу
 

Теперь перезапустите сетевую службу , чтобы получить IP-адрес от сервера dhcp

Конфигурация клиента окна

Для настройки системы Windows в качестве клиентов dhcp откройте свойства LAN карты и выберите tcp / ip , щелкните свойства и установите получить IP-адрес автоматически

Перейдите в командную строку и проверьте новый IP-адрес

Проверить аренду на DHCP-сервере

вы можете проверить выделенный адрес на сервере.

ПОШАГОВАЯ КОНФИГУРАЦИЯ DHCP-СЕРВЕРА LINUX В REDHAT / CENTOS / FEDORA

ПОШАГОВАЯ КОНФИГУРАЦИЯ DHCP-СЕРВЕРА LINUX В REDHAT / CENTOS / FEDORA

Введение

В этой статье мы собираемся обсудить очень интересную и важную тему, например, конфигурацию DHCP-сервера.Linux DHCP Server означает . Протокол динамической конфигурации хоста используется для предоставления IP-адреса клиентским компьютерам динамически ИЛИ автоматически. Номер порта DHCP-сервера — 67, а номер порта DHCP-клиента — 68.

Где мы должны использовать DHCP-сервер?

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

Как работает DHCP-сервер? ИЛИ Что такое процесс DORA?

  1. Когда новая система подключается к сети, в качестве первого шага он ищет DHCP-сервер в сети, и когда он не может найти тот же, что и у него в настоящее время нет IP-адреса, система отправляет сообщение DHCP Discover на все устройства, подключенные к сети.Этот процесс называется широковещательной передачей.
  2. Когда DHCP-сервер получает сообщение DHCP Discover от клиентского компьютера, DHCP-сервер предлагает и транслирует IP-адрес (например: 192.168.1.3) всем подключенным устройствам.
  3. Теперь, когда клиентский компьютер получает IP-адрес, он транслирует запрос по сети, что он принимает IP-адрес.
  4. Затем DHCP-сервер подтверждает IP-адрес, который теперь может использовать клиентский компьютер.Так работает DHCP-сервер в Linux. Весь этот процесс называется DORA ( Подтверждение запроса на обнаружение предложения ).

Как и другие службы, такие как DNS-сервер BIND, сервер NFS, DHCP также является сервером и типом клиента. Итак, здесь нам также нужны сервер и клиент для настройки DHCP-сервера. Детали DHCP-сервера и клиента указаны ниже:

Сведения о DHCP-сервере:

Имя сервера: dhcpserver
IP-адрес: 192.168.0.100
MAC-адрес:

Сведения о клиенте DHCP:

Имя хоста: Клиент1
MAC-адрес:

Важные параметры DHCP-сервера Linux

  • option domain-name: Упоминание доменного имени например: elinuxbook.com
  • option domain-name-servers: Упомяните DNS-серверы , например: 192.168.0.100, 192.168.0.101 ( Примечание: Вы также можете указать полное доменное имя)
  • default-lease-time: Время по умолчанию в секундах до того момента, когда DHCP-сервер назначит IP-адрес клиентскому компьютеру.
  • max-lease-time: Максимальное время в секундах до того момента, когда DHCP-сервер назначит IP-адрес клиентскому компьютеру.
  • подсеть: Укажите IP-адрес подсети , например: 192.168.0.0
  • netmask: Укажите маску подсети , например: 255.255.255.0
  • диапазон: Укажите диапазон IP-адресов, который DHCP-сервер Linux динамически назначает клиентским компьютерам. например: от 192.168.0.2 до 192.168.0.240
  • дополнительных маршрутизаторов: Укажите IP-адрес шлюза , например: 192.168.0.1
  • option broadcast-address: Укажите свой широковещательный адрес , например: 192.168.0.255
  • аппаратный Ethernet: Укажите свой MAC Accress ИЛИ физический адрес , например: 00: 0C: 29: F7: BE: 27
  • option host-name: Имя хоста вашей системы ИЛИ Имя компьютера например: dhcpserver

Выполните следующие шаги для настройки DHCP-сервера Linux

Шаг: 1 Подготовьте сервер перед настройкой DHCP-сервера

Прежде чем мы начнем настройку DHCP-сервера, нам нужно подготовить наш сервер к этому.

Сначала назначьте статический IP-адрес вашему серверу. См. Команду ниже.

 [root @ dhcpserver ~] # cat / etc / sysconfig / network-scripts / ifcfg-eth0  # Установить статический IP-адрес 
УСТРОЙСТВО = eth0
BOOTPROTO = нет
HWADDR = 00: 0c: 29: 41: 6a: ae
IPV6INIT = да
NM_CONTROLLED = да
ONBOOT = да
ТИП = Ethernet
UUID = "2172489a-2137-49f3-8389-6e616d9d6ca1"
  IPADDR = 192.168.0.100 
  СЕТЕВАЯ МАСКА = 255.255.255.0 
  ШЛЮЗ = 192.168.0.1 
  DNS1 = 192.168.0.100 
USERCTL = нет
  DNS2 = 192.168.0.101
  

Дайте правильное имя хоста вашему серверу. Здесь имя хоста моего сервера — dhcpserver .

 [root @ dhcpserver ~] # имя хоста  # Проверка имени хоста 
dhcpserver.elinuxbook.com
 

Шаг: 2 Установите необходимые пакеты

Установите необходимые пакеты и зависимости для DHCP-сервера Linux.

 [root @ localhost ~] # yum -y install dhcp *  # Установить пакет DHCP-сервера Linux 
Загруженные плагины: fastestmirror, refresh-packagekit, безопасность
Скорость загрузки зеркала из кэшированного хост-файла
 * база: centos.excellmedia.net
 * Дополнительно: mirror.fibergrid.in
 * обновления: mirrors.aluhost.com
Настройка процесса установки
Разрешение зависимостей
-> Выполняется проверка транзакции
---> Будет установлен пакет dhcp.x86_64 12: 4.1.1-53.P1.el6.centos
---> Пакет dhcp-common.x86_64 12: 4.1.1-38.P1.el6.centos будет обновлен
-> Зависимость обработки: dhcp-common = 12: 4.1.1-38.P1.el6.centos для пакета: 12: dhclient-4.1.1-38.P1.el6.centos.x86_64
---> Пакет dhcp-common.x86_64 12: 4.1.1-53.P1.el6.centos будет обновлением
---> Пакет dhcp-devel.x86_64 12: 4.1.1-53.P1.el6.centos будет установлен
-> Выполняется проверка транзакции
---> Пакет dhclient.x86_64 12: 4.1.1-38.P1.el6.centos будет обновлен
---> Пакет dhclient.x86_64 12: 4.1.1-53.P1.el6.centos будет обновлением
-> Завершенное разрешение зависимостей

Решенные зависимости

================================================== ================================================== ================================================== ========
 Размер репозитория версии пакета Arch
================================================== ================================================== ================================================== ========
Установка:
 dhcp x86_64 12: 4.1.1-53.P1.el6.centos base 823 k
 dhcp-devel x86_64 12: 4.1.1-53.P1.el6.centos base 158 КБ
Обновление:
 dhcp-common x86_64 12: 4.1.1-53.P1.el6.centos base 144 k
Обновление для зависимостей:
 dhclient x86_64 12: 4.1.1-53.P1.el6.centos base 322 k

Сводка транзакции
================================================== ================================================== ================================================== ========
Установить 2 пакета (ов)
Пакет (-ы) обновления 2

Общий размер загружаемых файлов: 1,4 M
Скачивание пакетов:
(1/4): dhclient-4.1.1-53.P1.el6.centos.x86_64.rpm | 322 кБ 00:00
(2/4): dhcp-4.1.1-53.P1.el6.centos.x86_64.rpm | 823 кБ 00:00
(3/4): dhcp-common-4.1.1-53.P1.el6.centos.x86_64.rpm | 144 кБ 00:00
(4/4): dhcp-devel-4.1.1-53.P1.el6.centos.x86_64.rpm | 158 кБ 00:00
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- --------
Всего 954 кБ / с | 1.4 МБ 00:01
предупреждение: rpmts_HdrFromFdno: Заголовок V3 Подпись RSA / SHA1, идентификатор ключа c105b9de: NOKEY
Получение ключа из файла: /// etc / pki / rpm-gpg / RPM-GPG-KEY-CentOS-6
Импорт ключа GPG 0xC105B9DE:
 Идентификатор пользователя: ключ CentOS-6 (официальный ключ подписи CentOS 6) 
 Пакет: centos-release-6-5.el6.centos.11.1.x86_64 (@ anaconda-CentOS-201311272149.x86_64 / 6.5)
 Из: / etc / pki / rpm-gpg / RPM-GPG-KEY-CentOS-6
Запуск rpm_check_debug
Запуск теста транзакции
Проверка транзакции прошла успешно
Выполняемая транзакция
  Обновление: 12: dhcp-common-4.1.1-53.P1.el6.centos.x86_64 1/6
  Установка: 12: dhcp-4.1.1-53.P1.el6.centos.x86_64 2/6
  Установка: 12: dhcp-devel-4.1.1-53.P1.el6.centos.x86_64 3/6
  Обновление: 12: dhclient-4.1.1-53.P1.el6.centos.x86_64 4/6
  Очистка: 12: dhclient-4.1.1-38.P1.el6.centos.x86_64 5/6
  Очистка: 12: dhcp-common-4.1.1-38.P1.el6.centos.x86_64 6/6
  Проверка: 12: dhcp-common-4.1.1-53.P1.el6.centos.x86_64 1/6
  Проверка: 12: dhcp-devel-4.1.1-53.P1.el6.centos.x86_64 2/6
  Проверка: 12: dhcp-4.1.1-53.P1.el6.centos.x86_64 3/6
  Проверка: 12: dhclient-4.1.1-53.P1.el6.centos.x86_64 4/6
  Проверка: 12: dhcp-common-4.1.1-38.P1.el6.centos.x86_64 5/6
  Проверка: 12: dhclient-4.1.1-38.P1.el6.centos.x86_64 6/6

Установлен:
  dhcp.x86_64 12: 4.1.1-53.P1.el6.centos dhcp-devel.x86_64 12: 4.1.1-53.P1.el6.centos

Обновлено:
  dhcp-common.x86_64 12: 4.1.1-53.P1.el6.centos

Зависимость обновлена:
  dhclient.x86_64 12: 4.1.1-53.P1.el6.centos

Готово!
 

Вы можете проверить, правильно ли установлены пакеты, используя команду ниже.

 [root @ localhost ~] # rpm -qa | grep dhcp  # Подтвердите установленный пакет DHCP-сервера 
dhcp-4.1.1-53.P1.el6.centos.x86_64
dhcp-common-4.1.1-53.P1.el6.centos.x86_64
dhcp-devel-4.1.1-53.P1.el6.centos.x86_64
 

После установки давайте проверим, что такое каталог установки Linux DHCP-сервера и путь ко всем файлам конфигурации. Мы можем сделать это с помощью команды ниже.

 [root @ localhost ~] # rpm -ql dhcp  # Проверить путь к каталогам установки и файлам конфигурации 
  / etc / dhcp # Каталог установки 
  /etc/dhcp/dhcpd.conf # Главный файл конфигурации DHCP-сервера 
/ и т.д. / dhcp / dhcpd6.conf
/etc/openldap/schema/dhcp.schema
/ и т.д. / portreserve / dhcpd
  /etc/rc.d/init.d/dhcpd 
/etc/rc.d/init.d/dhcpd6
/etc/rc.d/init.d/dhcrelay
/etc/rc.d/init.d/dhcrelay6
/ и т. д. / sysconfig / dhcpd
/ и т. д. / sysconfig / dhcpd6
/ и т.д. / sysconfig / dhcrelay
/ и т.д. / sysconfig / dhcrelay6
/ usr / bin / omshell
  / usr / sbin / dhcpd # Двоичные файлы 
/ usr / sbin / dhcrelay
/usr/share/doc/dhcp-4.1.1
/usr/share/doc/dhcp-4.1.1/3.0b1-lease-convert
/usr/share/doc/dhcp-4.1.1/IANA-arp-parameters
/usr/share/doc/dhcp-4.1.1/README.ldap
/usr/share/doc/dhcp-4.1.1/api+protocol
/usr/share/doc/dhcp-4.1.1/dhclient-tz-exithook.sh
/usr/share/doc/dhcp-4.1.1/dhcpd-conf-to-ldap
/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
/usr/share/doc/dhcp-4.1.1/dhcpd6.conf.sample
/usr/share/doc/dhcp-4.1.1/draft-ietf-dhc-ldap-schema-01.txt
/usr/share/doc/dhcp-4.1.1/ms2isc
/usr/share/doc/dhcp-4.1.1/ms2isc/Registry.perlmodule
/usr/share/doc/dhcp-4.1.1/ms2isc/ms2isc.pl
/usr/share/doc/dhcp-4.1.1/ms2isc/readme.txt
/usr/share/doc/dhcp-4.1.1/sethostname.sh
/ usr / share / doc / dhcp-4.1.1 / solaris.init
/usr/share/man/man1/omshell.1.gz
/usr/share/man/man5/dhcpd.conf.5.gz
/usr/share/man/man5/dhcpd.leases.5.gz
/usr/share/man/man8/dhcpd.8.gz
/usr/share/man/man8/dhcrelay.8.gz
/ var / lib / dhcpd
  /var/lib/dhcpd/dhcpd.leases # Файл аренды DHCP-сервера Linux 
/var/lib/dhcpd/dhcpd6.leases
 

Таким образом, каталог установки DHCP-сервера — / etc / dhcp , а основной файл конфигурации Linux DHCP-сервера — dhcpd.conf . По умолчанию файл dhcpd.conf будет выглядеть так, как показано ниже. Как вы можете видеть ниже, у нас есть сообщение о том, что мы можем скопировать образец файла dhcpd.conf из каталога / usr / share / doc / dhcp * .

 [корень @ localhost ~] # cat /etc/dhcp/dhcpd.conf
#
# Файл конфигурации DHCP-сервера.
# см. /usr/share/doc/dhcp*/dhcpd.conf.sample
# см. 'man 5 dhcpd.conf'
#
 

Шаг: 3 Подготовьте файл конфигурации

Итак, давайте скопируем dhcpd.conf.sample файл как dhcpd.conf . Система запросит перезапись, поскольку у нас уже есть файл dhcpd.conf по пути / etc / dhcp. Просто введите yes и нажмите Enter, чтобы продолжить копирование.

 [корень @ localhost ~] # cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
cp: перезаписать /etc/dhcp/dhcpd.conf? да
 

Также читают:

Шаг: 4 Настройте DHCP-сервер Linux

Теперь давайте настроим DHCP-сервер Linux.Просто отредактируйте файл / etc / dhcp / dhcpd / conf в любом текстовом редакторе.

Показанные ниже конфигурации являются глобальными переменными и будут применяться ко всем подсетям, которые мы объявляем в файле dhcpd.conf. Так что просто отредактируйте файл конфигурации и внесите изменения в соответствии со своим сценарием.

 вариант доменного имени " elinuxbook.com ";
вариант доменных имен-серверов  192.168.0.100 ,  192.168.0.101 ;

  время аренды по умолчанию 600;
max-lease-time 7200;
 
# Используйте это для включения / отключения динамических обновлений DNS глобально.# ddns-update-style нет;

# Если этот DHCP-сервер является официальным DHCP-сервером для локального
# сеть, авторитетная директива должна быть раскомментирована.
  авторитетных;
  

Затем объявите подсеть в соответствии с вашим сетевым сценарием. Здесь я беру IP-адрес, начиная с 192.168.0, а подсеть — 255.255.255.0

.

Пример вывода:

 подсеть 192.168.0.0 сетевая маска 255.255.255.0 {
  диапазон 192.168.0.5 192.168.0.240;  # Диапазон IP-адресов 
  option domain-name-servers 192.168.0.100, 192.168.0.101;  # DNS-серверы 
  вариант доменного имени "elinuxbook.com";  # доменное имя 
  вариант маршрутизаторов 192.168.0.1;  # Адрес шлюза 
  опция широковещательного адреса 192.168.0.255;
  время аренды по умолчанию 600;
  max-lease-time 7200;
}
 

Где:

Диапазон предназначен для разрешенного диапазона IP-адресов, т.е. 192.168.0.5 до 192.168.0.240 . DHCP-сервер будет назначать IP-адреса клиентским компьютерам в этом диапазоне. И другие общие настройки, такие как доменное имя, адрес маршрутизатора, то есть адрес шлюза, DNS-серверы и т. Д., О которых я уже объяснил выше.

После всех необходимых изменений в файле конфигурации dhcpd.conf запустите службу сервера Linux dhcp, используя команду ниже.

 [root @ dhcpserver ~] # /etc/init.d/dhcpd start  # Запуск службы DHCP-сервера 
Запуск dhcpd: [OK]
 

Настройте службу DHCP для запуска при запуске системы.

 [root @ dhcpserver ~] # chkconfig --level 35 dhcpd on  # Запуск службы DHCP при запуске 

[root @ dhcpserver ~] # chkconfig --list dhcpd  # Подтвердите конфигурацию запуска 
dhcpd 0: выключен 1: выключен 2: выключен  3: включен  4: выключен  5: включен  6: выключен
 

Конфигурация на стороне клиента DHCP

Настройте соединение Ethernet со стороны клиента для получения IP-адреса от DHCP-сервера.Для этого просто отредактируйте файл ifcfg-ethX и установите BOOTPROTO = dhcp (выделено красным цветом). См. Пример вывода ниже.

Примечание: Замените X своим номером подключения Ethernet

 [root @ client1 ~] # nano / etc / sysconfig / network-scripts / ifcfg-eth2  # Настроить Ethernet-соединение 

HWADDR = 00: 0C: 29: F7: BE: 27
ТИП = Ethernet
BOOTPROTO =  dhcp 
РАЗМОРАЖИВАТЬ = да
PEERDNS = да
PEERROUTES = да
IPV4_FAILURE_FATAL = да
IPV6INIT = нет
ИМЯ = "eth2"
UUID = 51af58db-2b74-4b31-9016-2e8682cafcb4
ONBOOT = да
LAST_CONNECT = 1495972689
 

Затем перезапустите сетевую службу, используя команду ниже.

 [root @ dhcpserver ~] # /etc/init.d/network restart  # Перезапуск сетевой службы 
 

После перезапуска сетевой службы система получит IP-адрес от DHCP-сервера Linux. Чтобы подтвердить то же самое, мы можем использовать команду ifconfig для проверки IP-адреса. См. Команду ниже.

 [root @ client1 ~] # ifconfig eth2
eth2 Link encap: Ethernet HWaddr 00: 0C: 29: F7: BE: 27
          inet адрес:  192.168.0.5  Bcast: 192.168.0.255 Маска: 255.255.255.0
          inet6 адрес: fe80 :: 20c: 29ff: fef7: be27 / 64 Область действия: Ссылка
          ВВЕРХ ТРАНСЛЯЦИИ МУЛЬТИКАСТ MTU: 1500 Метрическая система: 1
          Пакеты RX: 39 ошибок: 0 отброшено: 0 переполнений: 0 кадров: 0
          Пакеты TX: 121 ошибка: 0 сброшено: 0 переполнено: 0 несущая: 0
          коллизии: 0 txqueuelen: 1000
          Байт RX: 5184 (5,0 КиБ) Байт TX: 7917 (7,7 КиБ)
 

После того, как клиент получит IP-адрес от DHCP-сервера, вы сможете увидеть всю информацию о клиенте, такую ​​как назначенный IP-адрес, MAC-адрес, имя клиентского компьютера в / var / lib / dhcpd.сдает в аренду Сервер.

Примечание. Информация об аренде IP-адреса хранится в файле /var/lib/dhcpd.leases . По умолчанию он поставляется с установкой пакета DHCP-сервера, но если его там нет, вам придется создать его вручную, иначе вы не сможете запустить службу DHCP.

 [root @ dhcpserver ~] # cat /var/lib/dhcpd/dhcpd.leases  # Проверка файла dhcpd.leases 
# Формат этого файла задокументирован в dhcpd.leases (5) справочная страница.
# Этот файл аренды был написан isc-dhcp-4.1.1-P1

server-duid "\ 000 \ 001 \ 000 \ 001 \ 275v \ 261 \ 000 \ 014) Aj \ 256";

аренда  192.168.0.5  {
  старты 0 2017/05/28 12:02:32;
  заканчивается 0 2017/05/28 12:12:32;
  cltt 0 28.05.2017 12:02:32;
  активное состояние привязки;
  следующее состояние привязки свободно;
  аппаратный Ethernet  00: 0c: 29: f7: be: 27 ;
  client-hostname " client1 ";
}
 

Расширенные возможности DHCP-сервера Linux

Еще одна полезная функция, которую вы можете настроить в Linux DHCP-сервере, — вы можете зарезервировать IP-адрес для некоторого пользователя, используя его MAC-адрес (физический адрес).Обычно DHCP-сервер предоставляет клиенту IP-адрес в аренду на определенное время. При перезапуске системы возможно, что DHCP назначит вам другой IP-адрес.

Преимущество резервирования IP в том, что IP-адрес никогда не изменится. Предположим, у вас есть принтер Nework, который настроен во многих клиентских системах, в том случае, если ваш IP-адрес часто меняется, пользователи не смогут использовать принтер. Чтобы избежать такой ситуации, вам необходимо зарезервировать IP-адрес для этого принтера в DHCP-сервере Linux.

Здесь я зарезервировал IP-адрес для одного из моих клиентских компьютеров, то есть client1 . См. Образец выходных данных ниже.

 ### объявление хоста ###

host client1 {
        опция host-name "client1";  # Имя хоста клиентского компьютера 
        аппаратный Ethernet 00: 0c: 29: f7: be: 27;  # MAC-адрес клиентского компьютера 
        фиксированный адрес 192.168.0.130;  # IP-адрес, который вы хотите назначить этому клиенту 
}
 

После внесения необходимых изменений просто перезапустите службу DHCP, чтобы изменения вступили в силу.

 [root @ dhcpserver ~] # /etc/init.d/dhcpd restart  # Перезапустить службу DHCP 
Завершение работы dhcpd: [OK]
Запуск dhcpd: [OK]
 

Затем перезапустите сетевую службу со стороны клиента DHCP, и вы получите зарезервированный IP-адрес. См. Образец выходных данных ниже.

 [root @ client1 ~] # ifconfig eth2
eth2 Link encap: Ethernet HWaddr 00: 0C: 29: F7: BE: 27
          inet адрес:  192.168.0.130  Bcast: 192.168.0.255 Маска: 255.255.255.0
          inet6 адрес: fe80 :: 20c: 29ff: fef7: be27 / 64 Область действия: Ссылка
          ВВЕРХ ТРАНСЛЯЦИИ МУЛЬТИКАСТ MTU: 1500 Метрическая система: 1
          Пакеты RX: 56 ошибок: 0 отброшено: 0 переполнений: 0 кадров: 0
          Пакеты TX: 174 ошибки: 0 сброшено: 0 переполнено: 0 несущая: 0
          коллизии: 0 txqueuelen: 1000
          Байт RX: 8534 (8,3 КиБ) Байт TX: 11943 (11,6 КиБ)
 

Здесь я упомянул мой настроенный файл dhcpd.conf для справки.

  # Настроить глобальные переменные, которые являются общими для всех объявленных подсетей и будут применяться ко всем подсетям 

вариант доменного имени "elinuxbook.com";
option domain-name-servers 192.168.0.100, 192.168.0.101;
время аренды по умолчанию 600;
max-lease-time 7200;
авторитетный;
лог-объект local7;

  # Объявление подсети с диапазоном IP-адресов 

подсеть 192.168.0.0 маска сети 255.255.255.0 {
  диапазон 192.168.0.5 192.168.0.240;
  option domain-name-servers 192.168.0.100, 192.168.0.101;
  вариант доменного имени "elinuxbook.com";
  вариант маршрутизаторов 192.168.0.1;
  опция широковещательного адреса 192.168.0.255;
  время аренды по умолчанию 600;
  max-lease-time 7200;
}

  # Объявление хоста для резервирования IP-адреса 

host client1 {
        опция host-name "client1";
        аппаратный Ethernet 00: 0c: 29: f7: be: 27;
        фиксированный адрес 192.168.0.130;
}
 

Если вы нашли эту статью полезной, то ставьте лайк, поделитесь с нами, подпишитесь на нашу рассылку новостей ИЛИ, если вам есть что сказать, не стесняйтесь комментировать поле для комментариев ниже.

dhcp-server — Справка сообщества Wiki

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

примечание: этот пакет назывался dhcp3-server в версиях до точной версии 12.04 LTS.

В командной строке терминала введите следующую команду для установки dhcpd:

 sudo apt-get install isc-dhcp-server 

Вам, вероятно, потребуется изменить конфигурацию по умолчанию, отредактировав /etc/dhcp3/dhcpd.conf на соответствовать вашим потребностям и конкретной конфигурации.

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

Кроме того, вы должны назначить статический IP-адрес интерфейсу, который вы будете использовать для dhcp. Если вы будете использовать eth0 для предоставления адресов в подсети 192.168.1.x, вам следует назначить, например, ip 192.168.1.1 интерфейсу eth0 с помощью NetworkManager. Без этого шага вы получите сообщение об ошибке от dhcpd при запуске службы.

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

Чаще всего вам нужно назначить IP-адрес случайным образом.Это можно сделать с помощью следующих настроек:

 nano -w /etc/dhcp/dhcpd.conf 
 # Пример /etc/dhcpd.conf
# (добавьте сюда свои комментарии)
время аренды по умолчанию 600;
max-lease-time 7200;
опция маска подсети 255.255.255.0;
опция широковещательного адреса 192.168.1.255;
вариант роутеров 192.168.1.254;
вариант доменных имён-серверов 192.168.1.1, 192.168.1.2;
вариант доменного имени "mydomain.example";

подсеть 192.168.1.0 сетевая маска 255.255.255.0 {
диапазон 192.168.1.10 192.168.1.100;
диапазон 192.168.1.150 192.168.1.200;
} 

Это приведет к тому, что сервер DHCP предоставит клиенту IP-адрес из диапазона 192.168.1.10-192.168.1.100 или 192.168.1.150-192.168.1.200. Он арендует IP-адрес на 600 секунд, если клиент не запрашивает определенные временные рамки. В противном случае максимальная (разрешенная) аренда будет 7200 секунд. Сервер также «посоветует» клиенту использовать 255.255.255.0 в качестве маски подсети, 192.168.1.255 в качестве широковещательного адреса, 192.168.1.254 в качестве маршрутизатора / шлюза и 192.168.1.1.1 и 192.168.1.2 в качестве DNS-серверов.

Если вам нужно указать WINS-сервер для ваших клиентов Windows, вам нужно будет включить опцию netbios-name-servers, например

 nano -w /etc/dhcp/dhcpd.conf 
 option netbios-name-servers 192.168.1.1; 

Запуск и остановка службы

 перезапуск службы sudo isc-dhcp-server
 sudo service isc-dhcp-server start
 служба sudo isc-dhcp-server stop 

пример нескольких интерфейсов

Интерфейс

 nano -w / etc / network / interfaces 
 auto lo
iface lo inet loopback

отображение горячего подключения
        скрипт grep
        карта eth2

iface eth2 inet dhcp

авто eth0
iface eth0 inet статический
    адрес 10.152.187.1
    маска сети 255.255.255.0

авто wlan0
  iface wlan0 inet static
    адрес 192.168.1.1
    маска сети 255.255.255.0
    up / sbin / iwconfig wlan0 mode TTTTTT && / sbin / iwconfig wlan0 enc
ограниченный && / sbin / iwconfig ключ wlan0 [Y] XXXXXXXX && / sbin / iwconfig
wlan0 essid SSSSSSSS

auto eth2 

Выбрать интерфейсную карту

 nano -w / etc / default / isc-dhcp-server 
 INTERFACES = "wlan0 eth0" 

Настроить подсеть

 нано -w / etc / dhcp3 / dhcpd.conf 
 ddns-update-style none;
лог-объект local7;

подсеть 192.168.1.0 сетевая маска 255.255.255.0 {

        вариант маршрутизаторов 192.168.1.1;
        опция маска подсети 255.255.255.0;
        опция широковещательного адреса 192.168.1.255;
        вариант доменных имен-серверов 194.168.4.100;
        вариант ntp-серверов 192.168.1.1;
        опция netbios-name-servers 192.168.1.1;
        вариант netbios-node-type 2;
        время аренды по умолчанию 86400;
        max-lease-time 86400;

        host bla1 {
                аппаратный Ethernet DD: GH: DF: E5: F7: D7;
                фиксированный адрес 192.168.1.2;
        }
        host bla2 {
                аппаратное обеспечение Ethernet 00: JJ: YU: 38: AC: 45;
                фиксированный адрес 192.168.1.20;
        }
}

подсеть 10.152.187.0 сетевая маска 255.255.255.0 {

        вариант роутеров 10.152.187.1;
        опция маска подсети 255.255.255.0;
        опция широковещательного адреса 10.152.187.255;
        вариант доменных имен-серверов 194.168.4.100;
        вариант ntp-серверов 10.152.187.1;
        опция netbios-name-servers 10.152.187.1;
        вариант netbios-node-type 2;

        время аренды по умолчанию 86400;
        max-lease-time 86400;

        host bla3 {
                аппаратный Ethernet 00: KK: HD: 66: 55: 9B;
                фиксированный адрес 10.152.187.2;
        }
} 

Проверить маршрут

 ip route 
 192.168.1.0/24 dev wlan0 scope ссылка
82.16.TT.0 / 24 dev eth2 scope ссылка
Ссылка на 10.152.187.0/24 dev eth0 scope
по умолчанию через 82.16.TT.UU dev eth2 

Иногда при повышении уровня DHCP-сервер сообщает об ошибках разрешения, например,

 Не удается открыть / etc / dhcp / dhcp.conf: в разрешении отказано 

или

 Невозможно открыть /var/lib/dhcp/dhcpd.leases: в разрешении отказано. 

Если после проверки права доступа оказались правильными, проверьте профиль apparmor для dhcpd:

 shell # sudo apparmor_status
модуль apparmor загружен.
Загружено 15 профилей.
15 профилей находятся в принудительном режиме.
   / sbin / dhclient
   / usr / bin / evince
   / usr / bin / evince-превью
   / usr / bin / evince-thumbnailer
   /usr/lib/NetworkManager/nm-dhcp-client.action
   / usr / lib / connman / скрипты / dhclient-скрипт
   / usr / lib / cups / backend / cups-pdf
   / usr / lib / телепатия / управление миссией-5
   / usr / lib / телепатия / телепатия- *
   / usr / sbin / cupsd
   / usr / sbin / dhcpd
   / usr / sbin / mysqld-akonadi
   / usr / sbin / mysqld-akonadi /// usr / sbin / mysqld
   / usr / sbin / tcpdump
   / usr / share / gdm / гостевая сессия / Xsession
0 профилей находятся в режиме жалоб.Для 4 процессов определены профили.
4 процесса находятся в принудительном режиме.
   / sbin / dhclient (1092)
   / sbin / dhclient (1093)
   / usr / sbin / cupsd (978)
   / usr / sbin / mysqld-akonadi /// usr / sbin / mysqld (2136)
0 процессов находятся в режиме жалоб.
0 процессов не ограничены, но имеют определенный профиль. 

Если / usr / sbin / dhcpd находится в списке профилей, выполните следующие действия:

 sudo /etc/init.d/apparmor stop 
  • 2. Отредактируйте /etc/apparmor.d/usr.sbin. dhcpd с правами root и убедитесь, что в файле есть следующие строки:
 / var / lib / dhcp / dhcpd.аренда * rwl,
/var/lib/dhcp/dhcpd6.leases* rwl,
/etc/dhcp/dhcpd.conf r,
/etc/dhcp/dhcpd6.conf r, 
  • /var/lib/dhcp/dhcpd6.leases и /etc/dhcp/dhcpd6.conf необходимы для запуска DHCP-сервера в режиме IPV6, например:
 dhcpd - 6 -cf /etc/dhcp/dhcpd6.conf -lf /var/lib/dhcp/dhcpd6.leases eth0 
 sudo /etc/init.d/apparmor start 

После этой операции apparmor deamon разрешит открытие сервера dhcp / etc / dhcp / dhcpd.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *