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