Настройка DHCP-сервера
Включение DHCP сервера
Для настройки DHCP-сервера зайдите в настройках системы сбора статистики на вкладку dhcp.
Для включения DHCP сервера установить галочку: "Включить DHCP-сервер"
Необходимые параметры:
- max-lease-time(в секундах) - время с последнего продления через которое у клиента закончится аренда;
- default-lease-time(в секундах) - время через которое клиент будет продлять аренду адреса.
- Номера интерфейсов DHCP (список) - Список интерфейсов сервера, которые будет слушать служба DHCP. Заполняется списком. Пример:
eth0 eth2 eth3.10 eth3.20
Описание параметров
Для работы сервиса необходимо:
- Включить службу
- При необходимости, настроить прочие параметры: DNS, решить нужно ли постоянно освобождать привязки, граничить ли набор интерфейсов DHCP и т.д.
- Добавить подсети
В настройках DHCP сервера должна быть указана подсеть, которой принадлежит хотя бы один локальный интерфейс, иначе DHCP не запустится. Если вы хотите настроить DHCP с Option 82 и вам не нужны подсети, попадающие под локальные интерфейсы, то обязательно создать subnet <IP_адрес_локального_интерфейса>/32 без диапазона |
Если адрес коммутатора не в сети абонента, то обязательно создать subnet <IP_адрес_Коммутатора>/32 без диапазона |
Настройки:
- Не создавать статические mac привязки
- Освобождать все IP-привязки раз в 10 мин.
- default-lease-time:
- OPT 82. Создавать статические mac привязки вместо vlan+port+:
- DHCP_LOCAL_ADDRESS:
- max-lease-time:
- DNS по умолчанию (список):
Формат
192.0.2.1 192.0.2.2 192.0.2.3
- Номера интерфейсов DHCP (список):
- Включить DHCP-сервер:
- Фиксированные привязки IP к MAC адресу (список):
Добавление подсетей
Перейдите на вкладку "DHCP subnets"
Заполните поля:
- DHCP SUBNET - адрес сети(задается в формате <subnet address>/<subnet mask>), пример:
198.51.100.0/24
- DNS сервер для клиентов - список dns-серверов, которые будет выдаваться клиентам в данной подсети. Прописывается в виде:
198.51.100.10, 198.51.100.20
- DHCP шлюз для клиентов - Адрес основного шлюза в данной подсети. Пример:
198.51.100.1
- DHCP Range для дин. раздачи - Диапазон IP адресов, которые DHCP сервер будет выдавать абонентам, при отсутствии дополнительных привязок (mac или opt82). Прописывается через дефис, например:
198.51.100.50-198.51.100.254
- Маршруты для клиентов (список) - список статических маршрутов. Прописывается в виде:
198.51.100.0/25 192.0.2.1;198.51.100.128/25 192.0.2.2
MAC привязки
Привязка MAC адреса к конкретному IP адресу создается в учетной записи абонента:
Привязку можно сделать двумя способами:
- В поле MAC прописать mac-адрес абонентского устройства и нажать кнопку "Сохранить".
- Нажать кнопку "Получить mac", после этого mac-адрес запрашивается с оборудования и прописывается в этом поле. Нажать кнопку "Сохранить". При этом должно быть соблюдено условие: на абонентском устройстве должен быть уже прописан ip адрес, который соответствует адресу в ip учетной записи.
Настройка Option 82
Включение парсинга опции 82
Для включения опции 82 убедитесь, что отключена опция "OPT 82. Создавать статические mac привязки вместо vlan+port" (по умолчанию отключена).
Используя раздел "Взаимодействие с коммутаторами", настройте и парсинг нужных парамеров абонента из опции 82. В этом разделе так же описана отладка парсинга.
Динамическая раздача с использованием Option 82 для HotSpot
Динамическая раздача с использованием опции 82 пригодится для настройки HotSpot - так адреса из выделенного пула будут получать только абоненты за определённым портом коммутатора и/или в нужном VLAN.
Для настройки создайте пул IP адресов в справочниках биллинга. Возможные параметры опции 82 (указываются через запятую):
- vlan - VLAN абонента
- switch_port_num - номер порта абонента
Например:
vlan=225,switch_port_num=23
Парсинг опции 82 зависит от коммутатора, который выбран в пуле.
После установки опции "Gen dhcp subnet" данный пул будет создан пул в настройках DHCP:
Передача адреса для параметра tr-069 по dhcp через опцию 43.
Web панель-8081 порт ----> "Cистема сбора статистики" ---> DHCP subnets ---> "Дополнительные опции DHCP (список):"
Добавляем параметр (если необходимо добавить к другим параметрам, то отделяем их через ; )
option vendor-encapsulated-options http://ip:port
Далее "Сохранить и пременить" и можно проводить тест получения адреса на сетевом оборудование.
Отладка и решение проблем
Общие рекомендации и советы по решению ошибок
Для отладки Вы можете использовать:
Лог DHCP-сервера
tail -f /app/collector/var/log/messages
Запустите эту команду, перезапустите DHCP-сервер и инициируйте получение адреса клиентом. В логе можно увидеть ошибки, сообщения об отсутствии свободных адресов и тд - для начала поиска проблемы этого достаточно.
Дамп трафика
Соберите дам DHCP трафика в момент запроса и получения адреса абонентами. Приведенная ниже команда соберёт дам по портам DHCP и одновременно будет выводить содержимое пакетов
tcpdump -i any port 67 or port 68 -U -w - | tee dhcp_`date +%Y-%m-%d_%H%M`.pcap | tcpdump -vr -
Дам трафика чаще используется для отладки Option 82, и чтобы просто понять, приходят DHCP-запросы или нет.
Перезапустите DHCP-сервер в консоли - если есть какие-то ошибки конфигурации, Вы их сразу увидите
chroot /app/collector/ service dhcpd restart
Ошибки конфигурации сервера могут быть как фатальными, что не позволит серверу запуститься, так и не фатальными - тогда сервер запустится, но какая-то часть конфигурации не будет использоваться.
В конфигурации сервера ошибка! Как её решить?
Если перезапуск сервера и мониторинг лога показали Вам ошибку, скопируйте её и попробуйте найти решение в поисковых системах.
Проблема: клиенты получают неправильный DNS-сервер
Эта проблема встречается на Windows XP и Windows 7 - в ряде случаев клиенты получают неправильный DNS-сервер. Причина в пакете DHCPINFORM.
Если ОС ранее уже получала адрес от DHCP-сервера или он был настроен статический и потом переключен на динамику, в первую очередь будет отправлен запрос DHCPINFORM - это широковещательный запрос и сервер отвечает на него сразу ответом DHCPACK.
Проблема здесь в том что запрос отправляется широковещательно и тут возможны две причины почему DNS-адрес (а возможно и другие параметры) будет неверным:
- Если в сети несколько DHCP-серверов с похожими конфигурациями, ответ от неправильного сервера может достичь абонента раньше
- Если запрос проходит через RELAY, на нём может быть настроено какое-то особенное поведение, например кеширование ответов или что-то в этом роде.
Для решения проблемы можно:
- Отключить отправку DHCPINFORM через реестр:, чтобы ОС запрашивала адрес пакетом DHCPDISCOVER
Куст реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{Interface GUID}
Здесь Interface GUI это ID сетевого интерфейса. Параметры ключа:
- Тип: DWORD
- Имя: UseInform
- DWORD значение: 0
- Отключить ответ на DHCPINFORM на всех DHCP-серверах кроме нужного
- Например, на СКАТ DPI нужно установить опцию bras_relay_dhcp_inform в 0 в файле fastdpi.conf:
Если ваш DHCP-сервер можно настроить так, чтобы на запрос DHCP-INFORM он отвечал relay-агенту (то-есть на адрес, заданный в поле giaddr DHCP-заголовка), то этот параметр следует установить в 0 (это значение по умолчанию): bras_relay_dhcp_inform=0 В этом случае fastDPI BRAS будет пропускать DHCP-INFORM запросы «как есть», без модификации. Если же DHCP-сервер работает по стандарту и отвечает всегда на адрес клиента (на адрес, заданный в поле ciaddr DHCP-заголовка), то нужно задать в fastdpi.conf: bras_relay_dhcp_inform=1
- Например, на СКАТ DPI нужно установить опцию bras_relay_dhcp_inform в 0 в файле fastdpi.conf:
- Настроить фаерволы, DHCP-сервера и релеи таким образом, чтобы каждый клиентский хост имел доступ только к одному DHCP-серверу