Судя по вашим действиям, сервер не запускается из-за ошибки в настройках или в сети. Чаще всего это связано с синтаксической ошибкой в конфигурации или с тем, что сетевой интерфейс, который должен раздавать IP, не готов к работе. Давайте проверим все по порядку.
1. Проверка конфигурации
Ошибка в файле /etc/dhcp/dhcpd.conf — самая частая причина отказа в запуске. Выполните проверку синтаксиса:
```bash
sudo dhcpd -t
```
· Если выявлены ошибки: В выводе команды будет указана строка, где найдена проблема. Самая частая ошибка — использование «умных» (типографских) кавычек “...” вместо стандартных "...", а также пропущенные точки с запятой ; в конце строк. Убедитесь, что все кавычки выглядят как " и '.
· Если проверка успешна: Вы увидите сообщение Configuration file syntax is OK. — это означает, что с файлом dhcpd.conf всё в порядке.
2. Проверка интерфейса ens36.200
Сервер не запустится, если интерфейс, указанный в /etc/default/isc-dhcp-server, не существует, не поднят или на нем нет IP-адреса.
· Существует ли интерфейс? Выполните ip link show. Убедитесь, что видите в списке интерфейс с точным именем ens36.200. Поскольку это VLAN-интерфейс, должен существовать и физический интерфейс ens36.
· Назначен ли ему IP-адрес? Выполните ip addr show ens36.200. Если IP-адрес в подсети 192.168.10.32/28 не назначен, укажите его вручную:
```bash
sudo ip addr add 192.168.10.33/28 dev ens36.200
```
· Поднят ли интерфейс? Выполните sudo ip link set ens36.200 up.
После этих действий еще раз проверьте статус интерфейса (ip link show). Он должен быть <... UP ...>.
3. Диагностика по логам
Если синтаксис в порядке, а интерфейс работает, но сервер все еще не запускается, причина будет в логах системы. Ошибка должна быть прямо там:
```bash
sudo journalctl -u isc-dhcp-server -xe --no-pager | tail -20
```
Ищите строки с пометкой dhcpd: — в них будет содержаться ключ к разгадке. Например, возможна ошибка No subnet declaration for ens36.200 (no IPv4 addresses).
4. Наиболее вероятные причины по логам
· Несовпадение подсетей: В конфигурации объявлена подсеть 192.168.10.32/28 с маской 255.255.255.240, а интерфейсу, например, назначен адрес 192.168.10.1/24.
· Решение: Убедитесь, что IP-адрес интерфейса входит в заявленный диапазон. В вашем случае адрес интерфейса — это адрес шлюза, 192.168.10.33. Этот адрес действительно находится внутри подсети 192.168.10.32/28.
· Проблемы с правами: Файлу блокировки /var/run/dhcpd.pid может не хватать прав или он занят.
· Решение: Удалите старый файл, если он есть: sudo rm -f /var/run/dhcpd.pid.
· Конфликт портов: Порт DHCP-сервера (67/UDP) может быть занят другим процессом.
· Решение: Проверьте это командой sudo ss -tulpn | grep 67. Если порт занят, остановите процесс-нарушитель.
· Отключен IPv6 (редко): Иногда сервер может выдавать ошибки, связанные с IPv6.
· Решение: Временно отключите IPv6 для сервиса, отредактировав файл /etc/default/isc-dhcp-server и добавив строку: DHCPD_OPTS="-6".
После каждого исправления повторяйте попытку перезапустить сервис:
```bash
sudo systemctl restart isc-dhcp-server
sudo systemctl status isc-dhcp-server
```
---
Надеюсь, это руководство поможет вам найти и устранить проблему. Если после всех этих шагов сервер всё ещё не запускается, покажите вывод команды sudo journalctl -u isc-dhcp-server -xe --no-pager | tail -30 — так я смогу понять ситуацию точнее.