Инструменты пользователя

Инструменты сайта


bananapi:врсз

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
bananapi:врсз [2019/07/03 20:26]
alex
bananapi:врсз [2022/01/09 08:58] (текущий)
alex
Строка 3: Строка 3:
 ==== Как работает DHCP? ==== ==== Как работает DHCP? ====
 После загрузки подключенный к сети клиент (на котором настроено использование DHCP) отправляет DHCP-серверу пакет DHCPDISCOVER. После загрузки подключенный к сети клиент (на котором настроено использование DHCP) отправляет DHCP-серверу пакет DHCPDISCOVER.
 +
 Получив пакет запроса DHCPDISCOVER,​ DHCP-сервер отвечает пакетом DHCPOFFER. Получив пакет запроса DHCPDISCOVER,​ DHCP-сервер отвечает пакетом DHCPOFFER.
 +
 Клиент принимает пакет DHCPOFFER и отправляет серверу пакет DHCPREQUEST,​ подтверждая готовность принять сетевую конфигурацию,​ предоставленную в пакете. Клиент принимает пакет DHCPOFFER и отправляет серверу пакет DHCPREQUEST,​ подтверждая готовность принять сетевую конфигурацию,​ предоставленную в пакете.
 +
 Получив от клиента пакет DHCPREQUEST,​ сервер отправляет пакет DHCPACK, который разрешает клиенту использование выделенного IP-адреса. Получив от клиента пакет DHCPREQUEST,​ сервер отправляет пакет DHCPACK, который разрешает клиенту использование выделенного IP-адреса.
  
-  - Элемент нумерованного спискаДля установки пакета DCHP-сервера,​ нужно выполнить следующую команду:​ +==== Установка ​==== 
-  $ sudo apt install isc-dhcp-server +Для установки пакета DCHP-сервера,​ нужно выполнить следующую команду:​ 
-  - 2. После завершения установки отредактируйте файл ///​etc/​default/​isc-dhcp-server//​ для определения интерфейсов,​ которые будет использовать DHCPD для обработки DHCP-запросов,​ при помощи опции **INTERFACES**.+  $ sudo apt-get install isc-dhcp-server 
 +После завершения установки отредактируйте файл ///​etc/​default/​isc-dhcp-server//​ для определения интерфейсов,​ которые будет использовать DHCPD для обработки DHCP-запросов,​ при помощи опции **INTERFACES**.
  
 Например,​ если вам нужно, чтобы демон DHCPD прослушивал eth0, задайте следующее значение:​ Например,​ если вам нужно, чтобы демон DHCPD прослушивал eth0, задайте следующее значение:​
   INTERFACES="​eth0"​   INTERFACES="​eth0"​
-Если нужна работа DHCPD на интерфейсе ​eth0 и eth0.3+Если нужна работа DHCPD на интерфейсе ​wlan0 и eth0.3
   INTERFACES="​wlan0 eth0.3"​   INTERFACES="​wlan0 eth0.3"​
  
-Для ​этого ​сетевого интерфейса нужно настроить статический IP-адрес.+Для сетевого интерфейса на котором будет работать DHCP сервер,​ **должен** быть ​настроить статический IP-адрес.
  
-  - 3. Основной файл конфигурации DHCP — /​etc/​dhcp/​dhcpd.conf,​ в него нужно внести всю информацию,​ отправляемую клиентам.+Основной файл конфигурации DHCP — ///​etc/​dhcp/​dhcpd.conf//, в него нужно внести всю информацию,​ отправляемую клиентам.
 В файле конфигурации DHCP есть два типа данных:​ В файле конфигурации DHCP есть два типа данных:​
  
-параметры – указывают,​ как выполнять задание (например,​ на какое время выделять адрес),​ выполнять ли его вообще (например,​ выделять ли адреса неизвестным клиентам) или какие параметры сетевой конфигурации отправлять DHCP-клиенту. +**параметры** – указывают,​ как выполнять задание (например,​ на какое время выделять адрес),​ выполнять ли его вообще (например,​ выделять ли адреса неизвестным клиентам) или какие параметры сетевой конфигурации отправлять DHCP-клиенту.
- ​декларации – определяют топологию сети, описывают клиентов и предоставляемые им адреса,​ или применяют группу параметров к группе деклараций. +
-4. Для определения настроек DHCP-сервера откроем и отредактируем файл конфигурации:​+
  
-$ sudo vi /​etc/​dhcp/​dhcpd.conf +**декларации** – определяют топологию сетиописывают клиентов и предоставляемые им адреса, или применяют группу ​параметров к группе деклараций.
-Установите в начале файла следующие глобальные ​параметры, они будут ​действовать для всех указанных ниже деклараций (измените их в соответствии с вашими задачами). Это имя домена domain-name, ​имена DNS-серверов domain-name-servers,​ время ​аренды по умолчанию в секундах default-lease-time (если ​клиент ​не запросил ​его сам), максимальное время аренды в секундах max-lease-time ​и параметр authoritative,​ означающий «авторитетность» сервера в сегменте сети. Данный ​параметр ​нужен на тот случай, если клиент запросит неправильный IP-адрес — в этом случае сервер ответит ему отказом ​и предложит получить новый адрес.+
  
-option domain-name "​itproffi.lan";​ +Все строки параметров в файле конфигурации dhcp заканчиваются ​точкой с запятой (;). Некоторые параметры могут иметь ​не одно значениенапример, domain-name-servers, ​ у которого два IP-адресаразделенные запятой. Строки, начинающиеся с ‘#’, являются комментариями и не обрабатываются ​сервером dhcp.
-option domain-name-servers ns1.itproffi.lan,​ ns2.itproffi.lan;​ +
-default-lease-time 3600;  +
-max-lease-time 7200; +
-authoritative;​ +
-Обратите внимание, что перед некоторыми параметрами указано слово option, а перед некоторыми — нет. Это слово задает параметры, которые передаются клиенту в сетевой конфигурации.+
  
-5. Теперь нужно указать подсеть, в нашем примере мы будем использовать ​DHCP в локальной ​сети 192.168.10.0/​24.+В начале файла указываются глобальные параметры, которые будут действовать для всех ​указанных ниже деклараций. Это имя ​домена domain-name,​ имена DNS-серверов domain-name-servers, время ​аренды по умолчанию в секундах default-lease-time (если клиент не запросил его сам), максимальное время аренды в секундах max-lease-time и параметр authoritative,​ означающий «авторитетность» сервера в сегменте сети. Данный ​параметр нужен на тот случай, если клиент ​запросит неправильный IP-адрес — в этом случае сервер ​ответит ему отказом и предложит получить новый адрес.
  
-subnet 192.168.10.0 netmask 255.255.255.0 { +  ddns-update-style none; 
-          ​option routers ​192.168.10.1+  option domain-name "​babana";​ 
-          option ​subnet-mask 255.255.255.0+  default-lease-time 600; 
-          option ​domain-search "​itproffi.lan"+  max-lease-time 7200; 
-          ​option domain-name-servers ​192.168.10.1; +   
-          range 192.168.10.10 192.168.10.100+  authoritative;​ 
-          ​range ​192.168.10.110 192.168.10.200+  log-facility local7; 
-} +   
-Здесь мы использовали следующие параметры:​+  ​subnet 192.168.100.0 netmask 255.255.255.0 { 
 +    ​range ​192.168.100.100 192.168.100.200
 +    option ​routers 192.168.100.1
 +    option ​broadcast-address 192.168.100.255
 +  } 
 +   
 +  subnet ​192.168.101.0 netmask 255.255.255.0 { 
 +    range 192.168.101.100 192.168.101.200
 +    ​option routers ​192.168.101.1; 
 +    option broadcast-address ​192.168.101.255
 +  }
  
-routers — IP-адрес маршрутизатора по умолчанию +Перед некоторыми параметрами указано слово option, ​а перед некоторыми — нет. Это ​слово задает параметрыкоторые передаются клиенту в сетевой конфигурации.
-subnet-mask — маска подсети +
-domain-search ​— имя домена +
-domain-name-servers — имена DNS-серверов +
-range — диапазон IP-адресоввыделяемый ​клиентам (можно ​указывать несколько диапазонов,​ но обязательно ​указать хотя бы один)+
  
 +  * option routers — IP-адрес маршрутизатора по умолчанию
 +  * option subnet-mask — маска подсети
 +  * option domain-search — имя домена
 +  * option domain-name-servers — имена DNS-серверов
 +  * range — диапазон IP-адресов,​ выделяемый клиентам (можно указывать несколько диапазонов,​ но обязательно указать хотя бы один)
  
-Шаг 3: Настройка статических IP-адресов для машин клиентов +Для выделения конкретным клиентам фиксированного (статического) IP-адреса нужно добавить в файл конфигурации секции следующего вида, где явно указаны MAC-адрес и статически выделяемый IP-адрес:​
-6. Для выделения конкретным клиентам фиксированного (статического) IP-адреса нужно добавить в файл конфигурации секции следующего вида, где явно указаны MAC-адрес и статически выделяемый IP-адрес:​+
  
-host centos-node { +  ​host centos-node { 
-      hardware ethernet 00:​f0:​m4:​6y:​89:​0g;​ +        hardware ethernet 00:​f0:​m4:​6y:​89:​0g;​ 
-      fixed-address 192.168.10.105;​ +        fixed-address 192.168.10.105;​ 
-}+  } 
 +   
 +  host fedora-node { 
 +         ​hardware ethernet 00:​4g:​8h:​13:​8h:​3a;​ 
 +         ​fixed-address 192.168.10.106;​ 
 +  ​}
  
-host fedora-node { + 
-       hardware ethernet 00:​4g:​8h:​13:​8h:​3a;​ +==== Запуск ==== 
-       fixed-address 192.168.10.106;​ + 
-+Запуск службы DHCP 
-7. Запустим ​службу DHCP и установим ее автоматический запуск при загрузке:​+  $ sudo /​etc/​init.d/​isc-dhcp-server start 
 +———— SystemD ———— ​  
 +  $ sudo systemctl start isc-dhcp-server.service 
 +———— SysVinit ———— 
 +  $ sudo service isc-dhcp-server start 
 +       
 +Установка автоматического ​запуска DHCP при загрузке:​ 
 +  $sudo update-rc.d isc-dhcp-server defaults
  
 ———— SystemD ———— ———— SystemD ————
 +  $ sudo systemctl enable isc-dhcp-server.service
  
-$ sudo systemctl start isc-dhcp-server.service 
-$ sudo systemctl enable isc-dhcp-server.service 
 ———— SysVinit ———— ———— SysVinit ————
 +  $ sudo service isc-dhcp-server enable
  
-$ sudo service ​isc-dhcp-server.service ​start +Отключение автоматического запуска DHCP при загрузке:​ 
-$ sudo service isc-dhcp-server.service ​enable+  ​$sudo update-rc.d isc-dhcp-server disable 
 + 
 +———— SystemD ———— 
 +  $ sudo systemctl disable ​isc-dhcp-server.service 
 + 
 +———— SysVinit ———— 
 +  ​$ sudo service ​isc-dhcp-server disable 
 + 
 +Команда для перезапуска DHCP 
 +  $ sudo /​etc/​init.d/​isc-dhcp-server restart 
 + 
 +———— SystemD ———— ​  
 +  $ sudo systemctl restart ​isc-dhcp-server.service 
 + 
 +———— SysVinit ———— 
 +  $ sudo service isc-dhcp-server restart
  
-  /​etc/​init.d/​isc-dhcp-server restart 
  
 +Создание правила для службы DHCP в брандмауэре (Демон DHCPD прослушивает UDP-порт 67):
  
-8. Далее нужно создать правило для службы DHCP в брандмауэре (Демон DHCPD прослушивает UDP-порт ​67):+  $ sudo ufw allow 67/udp 
 +  $ sudo ufw reload 
 +  $ sudo ufw show
  
-$ sudo ufw allow 67/udp +==== Настройка клиентов ​====
-$ sudo ufw reload +
-$ sudo ufw show +
-Шаг 4: Настройка ​машин ​клиентов +
-9. Теперь можно настроить клиентские компьютеры в сети для автоматического получения IP-адресов от DHCP-сервера.+
  
 Отредактируйте файл конфигурации интерфейса Ethernet на клиентской машине (обратите внимание на имя/​номер интерфейса):​ Отредактируйте файл конфигурации интерфейса Ethernet на клиентской машине (обратите внимание на имя/​номер интерфейса):​
  
-$ sudo vi /​etc/​network/​interfaces+  ​$ sudo vi /​etc/​network/​interfaces
 Укажите следующие опции: Укажите следующие опции:
  
-auto eth0 +  ​auto eth0 
-iface eth0 inet dhcp+  iface eth0 inet dhcp
 Сохраните и закройте файл, а затем перезапустите сетевые службы или перезагрузите систему:​ Сохраните и закройте файл, а затем перезапустите сетевые службы или перезагрузите систему:​
  
 ———— SystemD ———— ———— SystemD ————
  
-$ sudo systemctl restart networking+  ​$ sudo systemctl restart networking
 ———— SysVinit ———— ———— SysVinit ————
  
-$ sudo service networking restart+  ​$ sudo service networking restart
 Если все настроено правильно,​ клиентская машина должна автоматически получать IP-адреса от DHCP-сервера. Если все настроено правильно,​ клиентская машина должна автоматически получать IP-адреса от DHCP-сервера.
  
Строка 110: Строка 141:
 Настройка DHCP-сервера завершена. Более подробную информацию о dhcpd и dhcpd.conf с описанием всех возможных опций можно получить в соответствующих man-страницах:​ Настройка DHCP-сервера завершена. Более подробную информацию о dhcpd и dhcpd.conf с описанием всех возможных опций можно получить в соответствующих man-страницах:​
  
-$ man dhcpd +  ​$ man dhcpd 
-$ man dhcpd.conf+  $ man dhcpd.conf
  
 Ссылки:​\\ Ссылки:​\\
 https://​itproffi.ru/​nastrojka-dhcp-servera-v-linux\\ https://​itproffi.ru/​nastrojka-dhcp-servera-v-linux\\
 +https://​wiki.debian.org/​ru/​DHCP_Server\\
 https://​wiki.debian.org/​ru/​NetworkConfiguration https://​wiki.debian.org/​ru/​NetworkConfiguration
bananapi/врсз.1562185577.txt.gz · Последние изменения: 2019/07/03 20:26 (внешнее изменение)