Настройка DHCP-сервера на Ubuntu Server 20.04 — это как попытка научить кота играть в шахматы: вроде и возможно, но требует терпения, смекалки и чувства юмора. Начнем нашу увлекательную одиссею с того, что IP-адресация — это не просто набор цифр, а целый космос, где каждый адрес — это звезда, а DHCP-сервер — добрый астроном, который раздаёт билеты на этот звездный бал.
Для начала нужно сделать копию конфигурационного файла dhcpd.conf. Это примерно как сделать резервную копию пирога перед тем, как экспериментировать с начинкой: вдруг получится шедевр, а вдруг придётся срочно возвращаться к классике. Команда sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak — ваш верный друг в этом деле. Если кто-то из вас думал, что очистить содержимое файла проще простого, то представьте себе: однажды я решил почистить холодильник и случайно выкинул… ключи от сервера! Так вот, команда sudo sh -c «cat /dev/null > /etc/dhcp/dhcpd.conf» очищает файл без лишних драм.
Потом мы переходим в каталог /etc/dhcp с помощью mc — файлового менеджера для тех, кто любит поностальгировать по временам DOS и Norton Commander. Открываем dhcpd.conf на редактирование (F4), и тут начинается магия. В файле нужно указать время аренды IP-адреса — default-lease-time и max-lease-time. Представьте себе аренду квартиры у соседа: default-lease-time — сколько вы можете пожить там без вопросов, а max-lease-time — максимальный срок договора аренды до того момента, когда сосед начнет подозревать неладное.
Настраиваем subnet (подсеть), range (диапазон адресов), option routers (шлюз) и option domain-name-servers (DNS). Это всё равно что определить территорию для вечеринки: где будет танцпол (range), кто отвечает за вход и выход гостей (option routers), а кто поставляет музыку (option domain-name-servers). У меня был знакомый админ, который так запутался в настройках DHCP, что его сервер начал выдавать IP не клиентам сети, а соседскому принтеру… К счастью, принтер оказался дружелюбным.
Далее указываем сетевой интерфейс в файле /etc/default/isc-dhcp-server через переменную INTERFACESv4. В моем случае это enp0s3 — звучит почти как имя героя из фантастического романа! Главное не перепутать с enp0s4 или enp0s5 — иначе сервер будет раздавать адреса кому попало. После сохранения изменений перезагружаем сервер командой reboot или просто рестартуем службу DHCP через systemctl restart isc-dhcp-server. Проверяем статус службы командой systemctl status isc-dhcp-server: если видим «Активен», значит все прошло успешно; если нет — готовьтесь к приключениям с журналом ошибок journalctl –xe.
Теперь самое интересное: включаем рабочую станцию и смотрим, получил ли она IP из нужного диапазона с правильным шлюзом и DNS-сервером. Если нет — значит где-то закралась ошибка или DHCP-сервер решил устроить забастовку в стиле «я сегодня отдыхаю». Чтобы проверить выдачу адресов на самом сервере, можно заглянуть в файл dhcpd.leases командой sudo cat /var/lib/dhcp/dhcpd.leases. Там хранится список счастливчиков с их арендуемыми IP.
Настройка DHCP-сервера на Ubuntu Server 20.04 — это увлекательное путешествие в мир IP-адресации, где каждый адрес как звезда, а DHCP-сервер играет роль доброго астронома, раздающего билеты на звездный бал. Копирование конфигурационного файла dhcpd.conf подобно резервной копии пирога перед экспериментами с начинкой — это шанс на создание шедевра или возвращение к классике в случае неудачи. Редактирование dhcpd.conf через файловый менеджер mc напоминает погружение в атмосферу DOS и Norton Commander, где устанавливается время аренды IP-адреса, аналогичное аренде квартиры у соседа, с default-lease-time и max-lease-time, определяющими продолжительность «проживания» без вопросов и максимальный срок договора.