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

Как настроить DHCP-сервер и клиент в CentOS и Ubuntu


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

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

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

В этой статье мы объясним, как настроить DHCP-сервер в дистрибутивах CentOS и Ubuntu Linux для автоматического назначения IP-адреса клиентскому компьютеру.

Установка DHCP-сервера в CentOS и Ubuntu

Серверный пакет DCHP доступен в официальных репозиториях основных дистрибутивов 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-сервер.

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

------------ On Ubuntu ------------
sudo vim /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;

Затем вам необходимо определить подсеть для внутренней подсети, т. е. 192.168.1.0/24, как показано.

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            "tecmint.lan";
        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;
}

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

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

------------ On CentOS ------------ 
systemctl start dhcpd
systemctl enable dhcpd
systemctl enable dhcpd

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

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

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

#------------ On 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. Если вам нужны дополнительные разъяснения по какому-либо пункту, вы можете задать вопрос через форму обратной связи ниже или просто поделиться с нами своими комментариями.