Найти в Дзене
Merion Academy

Настройка DHCP сервера на CentOS или Ubuntu

Оглавление

Привет! Сегодня мы хотим рассказать про то, как настроить DHCP-сервер и клиент в Linux CentOS и Linux Ubuntu. Поехали!

УСТАНОВКА DHCP-СЕРВЕРА В CENTOS И UBUNTU

Пакет DHCP-сервера доступен в официальных репозиториях основных дистрибутивов Linux, его установка довольно проста, просто выполните следующую команду:

# yum install dhcp #CentOS
$ sudo apt install isc-dhcp-server #Ubuntu

После завершения установки настройте интерфейс, на котором вы хотите, чтобы демон DHCP обслуживал запросы, в файле конфигурации /etc/default/isc-dhcp-server или /etc/sysconfig/dhcpd.

# vim /etc/sysconfig/dhcpd #CentOS
$ sudo vim /etc/default/isc-dhcp-server #Ubuntu

Например, если вы хотите, чтобы демон DHCPD прослушивал eth0, установите его с помощью следующей настройки.

DHCPDARGS=”eth0”

Сохраните файл и выйдите.

НАСТРОЙКА DHCP-СЕРВЕРА В CENTOS И UBUNTU

Основной файл конфигурации DHCP находится по адресу /etc/dhcp/dhcpd.conf, который должен содержать настройки того, что делать, где делать и все сетевые параметры, предоставляемые клиентам.

Этот файл в основном состоит из списка операторов, сгруппированных в две широкие категории:

  • Глобальные параметры: укажите, выполнять ли задачу, как выполнять задачу или какие параметры конфигурации сети предоставить DHCP-клиенту.
  • Объявления: определить топологию сети, указать состояние клиентов, предложить адреса для клиентов или применить группу параметров к группе объявлений.

Теперь откройте и отредактируйте файл конфигурации для настройки вашего DHCP-сервера.

------------ CentOS ------------
# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
# vi /etc/dhcp/dhcpd.conf

------------ Ubuntu ------------
$ sudo vim /etc/dhcp/dhcpd.conf

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

option domain-name "merionet.ru";
option domain-name-servers ns1.merionet.ru, ns2.merionet.ru;
default-lease-time 3600;
max-lease-time 7200;
authoritative;

Затем вам необходимо определить диапазон для внутренней подсети и дополнительные настройки:

subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-search " merionet.ru ";
option domain-name-servers 192.168.1.1;
range 192.168.10.10 192.168.10.100;
range 192.168.10.110 192.168.10.200;
}

Тут:

  • subnet – сеть, в которой будут работать настройки;
  • option routers – шлюз по-умолчанию;
  • option subnet-mask – маска подсети;
  • range – диапазон IP-адресов;
  • option domain-name-servers – DNS-сервера;
  • option domain-name – суффикс доменного имени;
  • option broadcast-address — адрес сети для широковещательных запросов;
  • default-lease-time, max-lease-time — время и максимальное время в секундах, на которое DHCP-клиент получит адрес;

Обратите внимание, что хосты, которым требуются специальные параметры конфигурации, могут быть перечислены в инструкциях хоста в cправке.


man dhcp-options

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

------------ CentOS ------------
# systemctl start dhcpd
# systemctl enable dhcpd
# systemctl enable dhcpd

------------ Ubuntu ------------
$ sudo systemctl start isc-dhcp-server
$ sudo systemctl enable isc-dhcp-server
$ sudo systemctl enable isc-dhcp-server

Затем разрешите выполнение запросов к демону DHCP в брандмауэре, который прослушивает порт 67/UDP, запустив его.

------------ CentOS ------------
# firewall-cmd --zone=public --permanent --add-service=dhcp
# firewall-cmd --reload

#------------ Ubuntu ------------
$ sudo ufw allow 67/udp
$ sudo ufw reload

НАСТРОЙКА КЛИЕНТОВ DHCP

Наконец, вам нужно проверить, нормально ли работает сервер DHCP. Войдите на несколько клиентских компьютеров в сети и настройте их на автоматическое получение IP-адресов с сервера.

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

НАСТРОЙКА КЛИЕНТА DHCP НА CENTOS

В CentOS конфигурационные файлы интерфейса находились в /etc/sysconfig/network-scripts/.

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

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

DEVICE=eth0
BOOTPROTO=dhcp
TYPE=Ethernet
ONBOOT=yes

Сохраните файл и перезапустите сетевой сервис (или перезагрузите систему).

# systemctl restart network

НАСТРОЙКА DHCP-КЛИЕНТА В UBUNTU

В Ubuntu 16.04 вы можете настроить интерфейс в файле конфигурации /etc/network/interfaces.

$ sudo vi /etc/network/interfaces

Добавьте эти строчки:

auto eth0
iface eth0 inet dhcp

Сохраните файл и перезапустите сетевой сервис (или перезагрузите систему).

$ sudo systemctl restart networking

В Ubuntu 18.04 сетевое управление контролируется программой Netplan. Вам нужно отредактировать соответствующий файл, например, в каталоге /etc/netplan/

$ sudo vim /etc/netplan/01-netcfg.yaml

Затем включите dhcp4 под конкретным интерфейсом, например, под ethernet, ens0, и закомментируйте статические настройки, связанные с IP:

network:
version: 2
renderer: networkd
ethernets:
ens0:
dhcp4: yes

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

$ sudo netplan apply

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

$ man dhcpd
$ man dhcpd.conf

Готово! В этой статье мы рассмотрели, как настроить DHCP-сервер в дистрибутивах CentOS и Ubuntu Linux.