В этой статье мы рассмотрим установку и начальную настройку DHCP сервера на Ubuntu. В моем случае установка будет производиться на дистрибутив Ubuntu 14.04.3 LTS, однако, подобным образом DHCP можно установить и настроить на любом дистрибутиве. В моем случае сервер существует достаточно давно и в качестве DNS/DHCP на нем был установлен dnsmasq, который не был настроен и никогда не работал. Поскольку на данный момент dnsmasq входит в число неподдерживаемых дистрибутивом пакетов, было принято решение избавиться от него и настроить все несколько иначе. Если у Вас на сервере нет установленного DHCP-сервера, первый шаг можно пропустить.
Удаление dnsmasq
Тут ничего сложного, просто пишем в консоль:
sudo apt-get remove dnsmasq
И дожидаемся его полного удаления. После этого в системе, вероятно, остались ненужные более пакеты, от которых зависел dnsmasq, следует удалить и их тоже:
sudo apt-get autoremove
После этого можно приступать к настройке DHCP сервера с нуля.
Установка DHCP сервера isc-dhcp-server
Как обычно, для начала следует обновить установленные в системе пакеты:
sudo apt-get update && sudo apt get upgrade -y
Теперь установим непосредственно сам DHCP сервер:
sudo apt-get install isc-dhcp-server
Сервер должен сразу запуститься, но нам предстоит настроить его под свои нужды.
Открываем и редактируем файл /etc/default/isc-dgcp-server. В нем нужно указать сетевой интерфейс, который будет использоваться для раздачи IP-адресов. В моем случае один и тот же интерфейс смотрит как в локальную сеть, так на шлюз (который в той же локальной сети), поэтому я указываю его.
В большинстве случаев я предпочитаю сохранять оригинальные конфигурационные файлы, но в данном случае это лишнее, так как мы изменим в нем всего один параметр.
sudo nano /etc/default/isc-dhcp-server
Параметру INTERFACES присваиваем значение ethXN, где ethXN - адаптер для локальной сети. Получиться должно примерно следующее:
Узнать, какой интерфейс в Вашем случае используется для локальной сети можно выполнив:
ifconfig
Теперь займемся редактированием основных настроек DHCP
Откроем для редактирования /etc/dhcp/dhcpd.conf:
sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.dist && sudo nano -w /etc/dhcp/dhcpd.conf
Обратите внимание, что сначала мы делаем копию оригинального файла настроек на случай, если что-то пойдет не так. Так как это первый и на данный момент единственный DHCP-сервер в сети, то раскомментируем строку authoritative. Так же в этом файле сразу содержатся строки:
default-lease-time;
max-lease-time;
Их можно либо удалить, либо построить вокруг них секцию для своей подсети. Если не уверены, как это сделать, то проще будет просто стереть их или закомментировать знаком #, а потом добавить на их место такое содержимое:
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.200 192.168.0.250;
option domain-name "ordaupfin.local";
option domain-name-servers 192.168.0.231, 192.168.0.1;
option routers 192.168.0.231;
option broadcast-address 192.168.0.255;
default-lease-time 604800;
max-lease-time 604800; }
Рассмотрим эту секцию подробнее:
- Задаем подсеть 192.168.0.0 с маской 255.255.255.0, Вы, естественно, адаптируете все это под свои нужды. Обратите внимание, что все нижеследующие опции включены в секцию этой подсети (заключены в фигурные скобки);
- Range задает диапазон выдаваемых адресов. В моей сети большинство клиентов имеют статические адреса, поэтому я выделяю небольшой диапазон;
- option domain-name добавляет имя домена к имени клиента, например подключенному клиенту HOME-PC будет присвоено имя HOME-PC.ordaupfin.local;
- option domain-name-servers задает адреса DNS серверов, у меня в сети их 2, можно указать внешний DNS, например Google Public DNS A - 8.8.8.8;
- option routers задает шлюз по-умолчанию;
- option broadcast-address задает широковещательный адрес подсети;
- default-lease-time и max-lease-time задают срок аренды по умолчанию и максимальный срок аренды IP-адреса в секундах соответственно. У меня это 7 дней.
Вот как это выглядит в nano:
Теперь перезапускаем DHCP сервер командой:
sudo service isc-dhcp-server restart
Если вы увидели в терминале сообщение:
isc-dhcp-server stop/waiting
isc-dhcp-server start/running, process 30456
Значит, все хорошо и компьютеры в сети могут получать адреса по DHCP. Если демон после правки конфигов не запускается, значит внимательно смотрим конфигурационные файлы на предмет ошибок/опечаток. В этом может помочь syslog, если посмотреть его сразу после неудачной попытки запуска:
tail -f /var/log/syslog
Листать лог вверх-вниз можно сочетанием клавиш Shift+PgUp/Shift+PgDwn, выход из просмотра Ctrl+C.
В моем случае все прошло удачно. При включении WiFi и подключении к сети успешно был получен IP адрес и все остальные настройки:
Спасибо за внимание!
Если статья показалась полезной, поделитесь ей в соц сетях, кнопки которых расположены ниже
Предложения и обсуждения данной статьи ведется в комментариях
Комментарии к статье: