Привет! Сегодня мы хотим рассказать про то, как настроить 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.