Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| bananapi:врсз [2019/07/03 20:32] alex | bananapi:врсз [2022/01/09 08:58] (текущий) alex | ||
|---|---|---|---|
| Строка 12: | Строка 12: | ||
| ==== Установка ==== | ==== Установка ==== | ||
| Для установки пакета DCHP-сервера, нужно выполнить следующую команду: | Для установки пакета DCHP-сервера, нужно выполнить следующую команду: | ||
| - | $ sudo apt install isc-dhcp-server | + | $ sudo apt-get install isc-dhcp-server | 
| После завершения установки отредактируйте файл ///etc/default/isc-dhcp-server// для определения интерфейсов, которые будет использовать DHCPD для обработки DHCP-запросов, при помощи опции **INTERFACES**. | После завершения установки отредактируйте файл ///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" | ||
| - | Для сетевого интерфейса на котором будет работать DHCP сервер, нужно настроить статический IP-адрес. | + | Для сетевого интерфейса на котором будет работать DHCP сервер, **должен** быть настроить статический IP-адрес. | 
| Основной файл конфигурации DHCP — ///etc/dhcp/dhcpd.conf//, в него нужно внести всю информацию, отправляемую клиентам. | Основной файл конфигурации DHCP — ///etc/dhcp/dhcpd.conf//, в него нужно внести всю информацию, отправляемую клиентам. | ||
| Строка 29: | Строка 29: | ||
| **декларации** – определяют топологию сети, описывают клиентов и предоставляемые им адреса, или применяют группу параметров к группе деклараций. | **декларации** – определяют топологию сети, описывают клиентов и предоставляемые им адреса, или применяют группу параметров к группе деклараций. | ||
| - | 4. Для определения настроек DHCP-сервера откроем и отредактируем файл конфигурации: | + | Все строки параметров в файле конфигурации dhcp заканчиваются точкой с запятой (;). Некоторые параметры могут иметь не одно значение, например, domain-name-servers, у которого два IP-адреса, разделенные запятой. Строки, начинающиеся с ‘#’, являются комментариями и не обрабатываются сервером dhcp. | 
| - | $ sudo vi /etc/dhcp/dhcpd.conf | + | В начале файла указываются глобальные параметры, которые будут действовать для всех указанных ниже деклараций. Это имя домена domain-name, имена DNS-серверов domain-name-servers, время аренды по умолчанию в секундах default-lease-time (если клиент не запросил его сам), максимальное время аренды в секундах max-lease-time и параметр authoritative, означающий «авторитетность» сервера в сегменте сети. Данный параметр нужен на тот случай, если клиент запросит неправильный IP-адрес — в этом случае сервер ответит ему отказом и предложит получить новый адрес. | 
| - | Установите в начале файла следующие глобальные параметры, они будут действовать для всех указанных ниже деклараций (измените их в соответствии с вашими задачами). Это имя домена domain-name, имена DNS-серверов domain-name-servers, время аренды по умолчанию в секундах default-lease-time (если клиент не запросил его сам), максимальное время аренды в секундах max-lease-time и параметр authoritative, означающий «авторитетность» сервера в сегменте сети. Данный параметр нужен на тот случай, если клиент запросит неправильный IP-адрес — в этом случае сервер ответит ему отказом и предложит получить новый адрес. | + | |
| - | option domain-name "itproffi.lan"; | + | ddns-update-style none; | 
| - | option domain-name-servers ns1.itproffi.lan, ns2.itproffi.lan; | + | option domain-name "babana"; | 
| - | default-lease-time 3600; | + | default-lease-time 600; | 
| - | max-lease-time 7200; | + | max-lease-time 7200; | 
| - | authoritative; | + | |
| - | Обратите внимание, что перед некоторыми параметрами указано слово option, а перед некоторыми — нет. Это слово задает параметры, которые передаются клиенту в сетевой конфигурации. | + | authoritative; | 
| + | 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; | ||
| + | } | ||
| - | 5. Теперь нужно указать подсеть, в нашем примере мы будем использовать DHCP в локальной сети 192.168.10.0/24. | + | Перед некоторыми параметрами указано слово option, а перед некоторыми — нет. Это слово задает параметры, которые передаются клиенту в сетевой конфигурации. | 
| - | subnet 192.168.10.0 netmask 255.255.255.0 { | + | * option routers — IP-адрес маршрутизатора по умолчанию | 
| - | option routers 192.168.10.1; | + | * option subnet-mask — маска подсети | 
| - | option subnet-mask 255.255.255.0; | + | * option domain-search — имя домена | 
| - | option domain-search "itproffi.lan"; | + | * option domain-name-servers — имена DNS-серверов | 
| - | option domain-name-servers 192.168.10.1; | + | * range — диапазон IP-адресов, выделяемый клиентам (можно указывать несколько диапазонов, но обязательно указать хотя бы один) | 
| - | range 192.168.10.10 192.168.10.100; | + | |
| - | range 192.168.10.110 192.168.10.200; | + | |
| - | } | + | |
| - | Здесь мы использовали следующие параметры: | + | |
| - | routers — IP-адрес маршрутизатора по умолчанию | + | Для выделения конкретным клиентам фиксированного (статического) IP-адреса нужно добавить в файл конфигурации секции следующего вида, где явно указаны MAC-адрес и статически выделяемый IP-адрес: | 
| - | subnet-mask — маска подсети | + | |
| - | domain-search — имя домена | + | |
| - | domain-name-servers — имена DNS-серверов | + | |
| - | range — диапазон IP-адресов, выделяемый клиентам (можно указывать несколько диапазонов, но обязательно указать хотя бы один) | + | |
| + | host centos-node { | ||
| + | hardware ethernet 00:f0:m4:6y:89:0g; | ||
| + | fixed-address 192.168.10.105; | ||
| + | } | ||
| + |  | ||
| + | host fedora-node { | ||
| + | hardware ethernet 00:4g:8h:13:8h:3a; | ||
| + | fixed-address 192.168.10.106; | ||
| + | } | ||
| - | Шаг 3: Настройка статических IP-адресов для машин клиентов | ||
| - | 6. Для выделения конкретным клиентам фиксированного (статического) IP-адреса нужно добавить в файл конфигурации секции следующего вида, где явно указаны MAC-адрес и статически выделяемый IP-адрес: | ||
| - | host centos-node { | + | ==== Запуск ==== | 
| - | hardware ethernet 00:f0:m4:6y:89:0g; | + | |
| - | fixed-address 192.168.10.105; | + | |
| - | } | + | |
| - | host fedora-node { | + | Запуск службы DHCP | 
| - | hardware ethernet 00:4g:8h:13:8h:3a; | + | $ sudo /etc/init.d/isc-dhcp-server start | 
| - | fixed-address 192.168.10.106; | + | ———— SystemD ————  | 
| - | } | + | $ sudo systemctl start isc-dhcp-server.service | 
| - | 7. Запустим службу DHCP и установим ее автоматический запуск при загрузке: | + | ———— 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-сервера. | ||
| Строка 116: | Строка 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 | ||