Поиск по сайту:

Как установить DHCP-сервер в CentOS, RHEL и Fedora


DHCP (Протокол динамической конфигурации хоста) — это сетевой протокол, который позволяет серверу автоматически назначать IP-адрес и предоставлять другие связанные параметры конфигурации сети клиенту в сети, от заранее определенный пул IP-адресов.

Это означает, что каждый раз, когда клиент (подключенный к сети) загружается, он получает «динамический» IP-адрес, а не «статический» IP-адрес, который никогда не меняется. IP-адрес, назначенный DHCP-сервером DHCP-клиенту, находится в «аренде», время аренды может варьироваться в зависимости от того, как долго клиенту может потребоваться соединение или конфигурация DHCP.

В этом руководстве мы расскажем, как установить и настроить DHCP-сервер в дистрибутивах CentOS/RHEL и Fedora.

Настройка среды тестирования

Для этой настройки мы собираемся использовать следующую среду тестирования.

DHCP Server - CentOS 7 
DHCP Clients - Fedora 25 and Ubuntu 16.04

Как работает DHCP?

Прежде чем двигаться дальше, давайте кратко объясним, как работает DHCP:

  • Когда клиентский компьютер (настроенный для использования DHCP) и подключенный к сети, включается, он пересылает сообщение DHCPDISCOVER на DHCP-сервер.
  • И после того, как DHCP-сервер получает сообщение запроса DHCPDISCOVER, он отвечает сообщением DHCPOFFER.
  • Затем клиент получает сообщение DHCPOFFER и отправляет на сервер сообщение DHCPREQUEST, указывающее, что он готов получить конфигурацию сети, предлагаемую в DHCPOFFER сообщение.
  • И последнее, но не менее важное: DHCP-сервер получает сообщение DHCPREQUEST от клиента и отправляет сообщение DHCPACK, показывающее, что клиенту теперь разрешено использовать назначенный ему IP-адрес. .

Шаг 1. Установка DHCP-сервера в CentOS

1. Установить DCHP довольно просто: просто выполните команду ниже.

yum -y install dhcp

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

2. Откройте файл /etc/sysconfig/dhcpd, добавьте имя конкретного интерфейса в список DHCPDARGS, например, если интерфейс — eth0, затем добавьте:

DHCPDARGS=eth0

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

Шаг 2. Настройка DHCP-сервера в CentOS

3. Для начала, чтобы настроить DHCP-сервер, первым шагом является создание файла конфигурации dhcpd.conf, а основной файл конфигурации DHCP обычно имеет вид / etc/dhcp/dhcpd.conf (который по умолчанию пуст), он хранит всю сетевую информацию, отправляемую клиентам.

Однако существует пример файла конфигурации /usr/share/doc/dhcp*/dhcpd.conf.sample, который является хорошей отправной точкой для настройки DHCP-сервера.

В файле конфигурации DHCP определены два типа операторов:

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

Поэтому начните с копирования примера файла конфигурации в качестве основного файла конфигурации, например:

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

4. Теперь откройте основной файл конфигурации и определите параметры DHCP-сервера:

vi /etc/dhcp/dhcpd.conf 

Начните с установки следующих глобальных параметров, которые будут применяться ко всем подсетям (укажите значения, применимые к вашему сценарию) в верхней части файла:

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

5. Теперь определите подсеть; в этом примере мы настроим DHCP для сети LAN 192.168.56.0/24 (не забудьте использовать параметры, применимые к вашему сценарию):

subnet 192.168.56.0 netmask 255.255.255.0 {
        option routers                  192.168.56.1;
        option subnet-mask              255.255.255.0;
        option domain-search            "tecmint.lan";
        option domain-name-servers      192.168.56.1;
        range   192.168.56.10   192.168.56.100;
        range   192.168.56.120  192.168.56.200;
}

Шаг 3. Назначьте статический IP-адрес DHCP-клиенту.

Вы можете назначить статический IP-адрес определенному клиентскому компьютеру в сети, просто определив раздел ниже в файле /etc/dhcp/dhcpd.conf, где вы должны явно указать его MAC-адреса и фиксированные IP, который будет присвоен:

host ubuntu-node {
	 hardware  ethernet 00:f0:m4:6y:89:0g;
	 fixed-address 192.168.56.105;
 }

host fedora-node {
	 hardware  ethernet 00:4g:8h:13:8h:3a;
	 fixed-address 192.168.56.110;
 }

Сохраните файл и закройте его.

Примечание. Вы можете узнать или отобразить MAC-адрес Linux, используя следующую команду.

ifconfig -a eth0 | grep HWaddr

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

---------- On CentOS/RHEL 7 ---------- 
systemctl start dhcpd
systemctl enable dhcpd

---------- On CentOS/RHEL 6 ----------
service dhcpd start
chkconfig dhcpd on

7. Далее не забудьте разрешить службу DHCP (демон DHCPD прослушивает порт 67/UDP), как показано ниже:

---------- On CentOS/RHEL 7 ----------
firewall-cmd --add-service=dhcp --permanent 
firewall-cmd --reload 

---------- On CentOS/RHEL 6 ----------
iptables -A INPUT -p tcp -m state --state NEW --dport 67 -j ACCEPT
service iptables save

Шаг 4. Настройка DHCP-клиентов

8. Теперь вы можете настроить своих клиентов в сети на автоматическое получение IP-адресов от DHCP-сервера. Войдите на клиентский компьютер и измените файл конфигурации интерфейса Ethernet следующим образом (не учитывайте имя/номер интерфейса):

vi /etc/sysconfig/network-scripts/ifcfg-eth0

Добавьте параметры ниже:

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

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

9. Вы также можете выполнить настройки с помощью графического интерфейса на настольном компьютере, установив для параметра «Метод» значение «Автоматически» (DHCP), как показано на снимке экрана ниже (рабочий стол Ubuntu 16.04).

10. Затем перезапустите сетевые службы следующим образом (возможно, вы можете перезагрузить систему):

---------- On CentOS/RHEL 7 ----------
systemctl restart network

---------- On CentOS/RHEL 6 ----------
service network restart

На этом этапе, если все настройки верны, ваши клиенты должны автоматически получать IP-адреса от DHCP-сервера.

Вы также можете прочитать:

  1. Как установить и настроить многосетевой DHCP-сервер ISC в Debian Linux
  2. 10 полезных «IP» команд для настройки сетевых интерфейсов

В этом уроке мы показали вам, как настроить DHCP-сервер в RHEL/CentOS. Используйте форму комментариев ниже, чтобы написать нам. В следующей статье мы покажем вам, как настроить DHCP-сервер в Debian/Ubuntu. А до тех пор всегда оставайтесь на связи с TecMint.