Настройка DHCP-сервера на Ubuntu Server 20.04 — это как попытка приручить дикого кота: вроде бы просто, но без правильного подхода будет много мяуканья и царапок. Представьте себе: вы, гордый администратор, решили, что пора серверу выдавать IP-адреса автоматически, а не вручную бегать по сети с блокнотом и ручкой, как кондуктор в старом трамвае. В этой истории мы будем настраивать DHCP-сервер на «Server2», который смело можно назвать главным раздавалой адресов в вашей сети.
Сначала рекомендуют сделать копию конфигурационного файла — это как снять фото перед тем, как решиться перекрасить волосы в ярко-розовый. Если что-то пойдет не так, всегда можно вернуться к исходной версии и не выглядеть в глазах коллег как человек, который «случайно» выключил интернет для всей компании. Команда для этого простая и лаконичная: sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak. Не забудьте очистить файл конфигурации — представьте, что вы стираете старую доску объявлений перед тем, как написать новые правила.
Далее заходите в каталог /etc/dhcp через файловый менеджер mc (Midnight Commander), который для многих системных администраторов — как швейцарский нож: простой, надежный и всегда под рукой. Открываете dhcpd.conf для редактирования клавишей F4 — почти как открыть пивную банку открывалкой с бутылкой.
Теперь начинается самое интересное: настройка параметров аренды IP-адресов. Тут всё просто — default-lease-time отвечает за то, сколько клиент может держать адрес без напоминаний сервера; max-lease-time — максимум терпения DHCP-сервера; subnet описывает вашу сеть; range — диапазон адресов для клиентов; option routers — адрес шлюза (или того самого первого сервера из вашей сети), а option domain-name-servers указывает DNS-сервер. Если кто-то думает, что это сложно — вспомните анекдот про программиста: «Если ты понимаешь этот код с первого раза — значит он написан кем-то другим».
После внесения изменений нужно указать сетевой интерфейс в файле /etc/default/isc-dhcp-server. Там в переменной INTERFACESv4 прописываем имя адаптера (например enp0s3). Это примерно то же самое, что выбрать правильную дверь для входа на вечеринку: если ошибетесь — никто вас не пустит.
Затем перезагружаем сервер командой reboot или перезапускаем службу DHCP через systemctl restart isc-dhcp-server. Проверяем статус службы с помощью systemctl status isc-dhcp-server — если видим слово «Активен», значит все прошло успешно! А если нет – не отчаивайтесь и проверьте журнал ошибок командой journalctl -xe. Это как читать дневник подростка – много непонятного текста и странных сообщений, но иногда там можно найти подсказки.
Чтобы проверить работу сервера, включаем одну из рабочих станций и смотрим, получился ли у неё IP-адрес из нужного диапазона с правильным шлюзом и DNS-сервером. Если всё совпадает – поздравляю! Вы приручили своего внутреннего сетевого кота.
А теперь немного о продвинутых вещах – назначение постоянного IP определенной рабочей станции по MAC-адресу. Для начала нужно узнать MAC этой машины (в Windows команда ipconfig /all или в Linux ifconfig/ip address). MAC-адрес похож на секретный ключ от сейфа банка – состоит из 6 байт в шестнадцатеричной системе счисления и выглядит как набор загадочных цифр и букв.