Установите DHCP-сервер в Ubuntu 16.04.
DHCP, аббревиатура от Dynamic Host Control Pпротокол, представляет собой сетевой протокол, который автоматически назначает IP-адреса клиентским системам в сети. Это упрощает утомительную задачу ручного назначения IP-адресов в большой сети, состоящей из сотен систем. Мы можем определить диапазон IP (областей) на DHCP-сервере и распределить их по сети. Клиентские системы в сети автоматически получат IP-адрес.
В этом руководстве мы увидим, как установить DHCP-сервер на сервере Ubuntu 16.04 LTS и настроить DHCP-клиенты.
Установите DHCP-сервер на сервере Ubuntu 16.04 LTS.
Для целей этого руководства я буду использовать следующую систему в качестве DHCP-сервера.
Мой DHCP-сервер:
- ОС — Ubuntu 16.04 LTS, 64-разрядная версия.
- IP-адрес - 192.168.1.105/24.
- Имя хоста — ubuntuserver.ostechnix.lan
Откройте терминал и выполните следующую команду для установки DHCP-сервера:
sudo apt-get install isc-dhcp-server
DHCP-сервер установлен. Теперь пойдем дальше и настроим его в соответствии с нашими потребностями.
Настроить DHCP-сервер
Файл конфигурации DHCP-сервера по умолчанию - /etc/default/isc-dhcp-server. Нам нужно отредактировать и изменить его в соответствии с нашими требованиями.
Если на вашем DHCP-сервере установлено несколько сетевых карт, вам необходимо указать, на каком интерфейсе DHCP-сервер должен обслуживать DHCP-запросы.
Поскольку на моем сервере только один сетевой адаптер, я назначил 'enp0s3' в качестве интерфейса прослушивания. Здесь enp0s3 — это имя сетевой карты.
Для этого отредактируйте файл конфигурации /etc/default/isc-dhcp-server:
sudo vi /etc/default/isc-dhcp-server
Назначаем сетевой интерфейс:
[...]
INTERFACES="enp0s3"
Если у вас несколько интерфейсов, укажите их через пробел, например «eth0 eth1».
Сохраните и закройте файл.
Затем отредактируйте файл dhcpd.conf,
sudo vi /etc/dhcp/dhcpd.conf
Измените его, как показано ниже. Замените имя домена своими собственными значениями.
Введите имя домена и серверы доменных имен:
[...]
option definitions common to all supported networks...
option domain-name "ostechnix.lan";
option domain-name-servers ubuntuserver.ostechnix.lan;
[...]
Чтобы сделать этот сервер официальным DHCP для ваших клиентов, найдите и раскомментируйте следующую строку:
[...]
authoritative;
[...]
Прокрутите немного вниз и определите подсеть, диапазон IP-адресов, домен и серверы доменных имен, как показано ниже.
[...]
A slightly different configuration for an internal subnet.
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.20 192.168.1.30;
option domain-name-servers ubuntuserver.ostechnix.lan;
option domain-name "ostechnix.lan";
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
default-lease-time 600;
max-lease-time 7200;
}
[...]
Как вы видите в приведенной выше конфигурации, я назначил диапазон IP-адресов от 192.168.1.150 до 192.168.1.200. Таким образом, клиенты DHCP получат IP-адрес из этого диапазона. Но что, если вы хотите назначить конкретный IP-адрес (фиксированный IP-адрес) конкретному клиенту? Это тоже легко. Вы можете легко назначить конкретный IP-адрес клиенту вашей сети, добавив MAC-идентификатор этого клиента с фиксированным IP-адресом, как показано ниже.
Например, предположим, что мы хотим назначить IP 192.168.1.160 клиенту с MAC-идентификатором 00:22:64:4f:e9:3a. Чтобы узнать IP и MAC-адреса, используйте команду 'ifconfig'.
ifconfig
Пример вывода:
Посмотрите подчеркнутые слова. Это IP и MAC адреса.
Назначьте фиксированный IP-адрес и MAC-идентификатор клиента, как показано ниже.
[...]
host ubuntu-client {
hardware ethernet 08:00:27:13:14:d5;
fixed-address 192.168.1.160;
}
[...]
После того, как вы изменили все настройки в соответствии с вашими требованиями, сохраните и закройте файл.
Теперь перезапустите службу DHCP:
sudo systemctl restart isc-dhcp-server
Убедитесь, что вы не оставили неиспользуемых записей в файле dhcpd.conf. Если есть неиспользуемые или ненужные строки, просто закомментируйте их. В противном случае служба DHCP не запустится.
Давайте проверим, запущена ли наша служба DHCP или нет с помощью команды:
sudo systemctl status isc-dhcp-server
Пример вывода:
Как вы видите на скриншоте выше, DHCP-сервер работает!
Чтобы запустить или остановить службу DHCP, используйте следующие команды:
sudo systemctl start isc-dhcp-server
sudo systemctl stop isc-dhcp-server
На этом этапе у вас будет работающий DHCP-сервер. Часть настройки серверной части закончена. Давайте продолжим и настроим DHCP-клиентов.
Настройка DHCP-клиентов
Для целей этого руководства я буду использовать рабочий стол Ubuntu 16.04 LTS в качестве DHCP-клиента.
Мой DHCP-клиент:
- ОС — Ubuntu 16.04 LTS для рабочего стола
- IP-адрес - DHCP включен
Откройте «Сетевые подключения» либо из панели Unity, либо из меню.
В окне «Сетевые подключения» выберите карту Ethernet и нажмите Изменить.
Нажмите Настройки IPv4 и выберите параметр Автоматически (DHCP). Наконец нажмите Сохранить.
Теперь перезапустите свою клиентскую систему и проверьте IP-адрес вашей клиентской системы.
ifconfig
Пример вывода:
Вы увидите новый IP-адрес из диапазона IP, который мы определили на DHCP-сервере, назначенный вашей клиентской системе.
Как вы видите на снимке экрана выше, моей настольной системе Ubuntu 16.04 LTS с MAC-идентификатором 08:00:27:13:14:d5 назначен фиксированный IP-адрес ( 192.168.1.160) с DHCP-сервера. Помните, что мы упомянули эти значения в файле dhcpd.conf нашего DHCP-сервера.
Поздравляем! DHCP-сервер работает!!
Рекомендуем прочитать:
- Как отслеживать использование DHCP-сервера