Зачастую в больших сетях для упрощения работы с добавлением новых компьютеров и других устройств в сеть используют протокол динамического выделения адресов - DHCP. Это значительно упрощает настройку оборудования и экономит огромное количество времени. Используя DHCP нам не нужно производить настройку сети на каждом отдельном устройстве, нужно лишь подключить устройство к сети и DHCP сервер сделает все настройки автоматически. Каждый домашний WiFi роутер имеет в себе встроенный DHCP сервер, поэтому вам не нужно каждый раз при подключении к разным роутерам прописывать все настройки вручную, роутер делает это за вас.
DHCP сервер может автоматически присвоить клиенту:
В отдельных случаях:
Преимущество использования DHCP сервера заключается в том, что при огромных размерах сети в несколько тысяч устройств, её будет очень удобно и почти безболезненно настраивать. Представьте себе, если в сети нужно поменять ip адреса на персональных компьютерах сотрудников, принтерам выдать иные адреса, управляемому сетевому оборудованию еще назначить и свои. При размерах сети в несколько тысяч устройств, ручная настройка отняла бы у вас огромное количество времени. Другое дело когда в сети есть настроенный DHCP сервер, который выполнить настройку за вас и на это потребуется всего несколько минут. В дополнение к этому, сервер поддерживает возможность резервирования адресов, таким образом если клиенту(компьютеру,принтеру,коммутатору) нужно назначить фиксированный адрес, мы можем это указать в настройках DHCP сервера и при следующем запросе, клиент получит нужный ему адрес.
В Ubuntu установка и настройка DHCP сервера выполняется всего в несколько шагов, быстро и продуктивно. Для того, чтобы начать использовать сервер нужно установить программное обеспечение на компьютер, делается это при помощи команды:
Sudo apt-get install isc-dhcp-server
Минимальная настройка DHCP сервера включает в себя редактирование только 2х файлов.
Первый файл который мы с вами отредактируем, это nano /etc/default/isc-dhcp-server и добавляем/редактируем всего одну строку:
INTERFACES="eth3"
где «eth3» интерфейс к которому подключаются клиенты с внутренней сети и который будет слушать DHCP;
Теперь собственно и сама настройка DHCP сервера. Открываем файл nano /etc/dhcp/dhcpd.conf и удаляем все содержимое.
Сейчас мы с вами настроим сервер только для раздачи адресов всем устройствам, которые будут запрашивать у сервера адрес. Добавляем в файл строки:
Default-lease-time 7200; max-lease-time 43200; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.100 192.168.0.200; option routers 192.168.0.1; option domain-name-servers 192.168.0.1; }
Разберем по-порядку строки которые мы внесли в этот файл:
Роутером у нас должен выступать интерфейс который мы описали в файле INTERFACES="eth3" и там должен быть назначен адрес который мы описали в настройках DHCP сервера. Если у вас не установлен DNS сервер, можете использовать сервер от вашего ISP провайдера или публичные от google или yandex .
Для управления DHCP сервером используются команды:
Можно использовать команду service isc-dhcp-server {start|stop|restart} .
Добрый день, эта статья будет посвящена установке и настройке DHCP на сервере Ubuntu 14.04. В прошлой статье мы говорили о том, как настроить DNS . DHCP очень часто работает в связке с DNS. DHCP раздает адреса, а DNS записывает символьное представление IP-адреса.
И так, приступим. Как всегда я предполагаю, что у Вас установлен сервер Ubuntu 14.04 и он полностью обновлен. Теперь устанавливаем службу DHCP, выполнив команду:
Sudo apt-get install isc-dhcp-server
Служб DHCP в ubuntu привиликое множество, я не буду рассказывать про них. Я предпочитаю именно isc-dhcp-server. После установки рекомендую остановить DHCP службу командой:
Это делается для того, что если у Вас сервер находится в рабочей сети, то чтоб не начал раздавать адреса. Теперь заходим в файл /etc/default/isc-dhcp-server
Sudo nano /etc/default/isc-dhcp-server
В этом фале находим строку INTERFACES=”” и между кавычек вписываем название сетевого интерфейса на котором будут раздаваться адреса. Чтоб посмотреть какие названия сетевых интерфейсов у Вас есть, выполните команду:
После того как впишите название сетевого интерфейса, у Вас должно получится что то вроде этого:
# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/isc-dhcp-server by the maintainer scripts
#
# This is a POSIX shell fragment
#
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0"
Sudo nano /etc/dhcp/dhcpd.conf
В этом файле нам необходимо указать диапазон адресов, которые будут выдавать нашим серверов. Сделайте по примеру
Subnet 192.168.0.0 netmask 255.255.255.0 { //указываем подсеть range 192.168.0.2 192.168.0.254; //диапазон выдачи option domain-name-servers 192.168.0.1; //указываем DNS option domain-name "workgroup"; //Доменное имя option routers 192.168.0.1; //Шлюз по умолчанию option broadcast-address 192.168.0.255; //Широковещательный адрес default-lease-time 604800; //время аренды в секундах (7дней) max-lease-time 604800; //максимальное время аренды в секундах (7дней) }
Всё готово, можем запустить:
Sudo service isc-dhcp-server stop
Проверим что адреса выдаются, если всё в порядке, перейдем к связке с DNS. Для связки с DNS нам понадобится ключ. Ключ можно сгенировать следующей командой
Dnssec-keygen -a HMAC-MD5 -b 128 -r /dev/urandom -n USER DHCP_UPDATER
Ключ сгенирован, и для того чтоб его увидеть воспользуемся командой:
Cat Kdhcp_updater.*.private|grep Key
Ключ необходимо записать, он нам понадобится в двух конфигурационных файлах. Теперь открываем /etc/dhcp/dhcpd.conf и в любом месте добавляем:
Key DHCP_UPDATER { //Описание ключа, его алгоритмы algorithm HMAC-MD5.SIG-ALG.REG.INT; secret "ЗДЕСЬ ЗАПИСАННЫЙ КЛЮЧ"; } zone workgroup. { //зона которую DHCP должен обновлять primary 127.0.0.1; key DHCP_UPDATER; } zone 0.168.192.in-addr.arpa. {//обратная зона которую DHCP должен обновлять primary 127.0.0.1; key DHCP_UPDATER; }
Готово, теперь DHCP будет обновлять DNS. Теперь в файле DNS надо разрешить это обновление указав ключ. Открываем файл /etc/bind/named.conf.local и добавляем в него:
Key DHCP_UPDATER { //Описание ключа, его алгоритмы algorithm HMAC-MD5.SIG-ALG.REG.INT; secret "ЗДЕСЬ ЗАПИСАННЫЙ КЛЮЧ"; }
Ищем в этом же фале описание зон workgroup и 0.168.192.in-addr.arpa и в их описание добавляем строку allow-update { key DHCP_UPDATER; }; Должно получится примерно так:
Zone "workgroup" { type master; file "/etc/bind/db.example.com"; allow-update { key DHCP_UPDATER; }; }; zone "0.168.192.in-addr.arpa" { type master; file "/etc/bind/db.0.168.192"; allow-update { key DHCP_UPDATER; }; };
Теперь перезапустим службы DNS и DHCP
Sudo service isc-dhcp-server restart
sudo service bind9 restart
Всё готво, теперь все компьютеры получившие адреса от DHCP будут попадать в DNS.