Добавить в корзинуПозвонить
Найти в Дзене
ATmorTek

El forever login

Судя по вашим действиям, сервер не запускается из-за ошибки в настройках или в сети. Чаще всего это связано с синтаксической ошибкой в конфигурации или с тем, что сетевой интерфейс, который должен раздавать IP, не готов к работе. Давайте проверим все по порядку.
1. Проверка конфигурации
Ошибка в файле /etc/dhcp/dhcpd.conf — самая частая причина отказа в запуске. Выполните проверку

Судя по вашим действиям, сервер не запускается из-за ошибки в настройках или в сети. Чаще всего это связано с синтаксической ошибкой в конфигурации или с тем, что сетевой интерфейс, который должен раздавать 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 — так я смогу понять ситуацию точнее.