Просмотр Исходного

{toc}

!dhcp1.png|border=0!

h1. Настройка DHCP-сервера

h2. Включение DHCP сервера

Для настройки DHCP-сервера зайдите в настройках системы сбора статистики на вкладку dhcp.
Для включения DHCP сервера установить галочку: "Включить DHCP-сервер"

Необходимые параметры:
* *max-lease-time(в секундах)* - время с последнего продления через которое у клиента закончится аренда;
* *default-lease-time(в секундах)* - время через которое клиент будет продлять аренду адреса.
* *Номера интерфейсов DHCP (список)* - Список интерфейсов сервера, которые будет слушать служба DHCP. Заполняется списком. Пример:
{code}
eth0 eth2 eth3.10 eth3.20
{code}

h2. Описание параметров

Для работы сервиса необходимо:

# Включить службу
\\ \\ !dhcp_server_enable.png|border=0,width=600! \\ \\
# При необходимости, настроить прочие параметры: DNS, решить нужно ли постоянно освобождать привязки, граничить ли набор интерфейсов DHCP и т.д.
# Добавить подсети

{note}В настройках DHCP сервера должна быть указана подсеть, которой принадлежит хотя бы один локальный интерфейс, иначе DHCP не запустится.
Если вы хотите настроить [DHCP с Option 82|CarbonBilling:Настройка DHCP с opt 82 на примере коммутатора D-Link] и вам не нужны подсети, попадающие под локальные интерфейсы, то обязательно создать subnet *<IP_адрес_локального_интерфейса>/32* без диапазона{note}
{note}Если адрес коммутатора не в сети абонента, то обязательно создать subnet *<IP_адрес_Коммутатора>/32* без диапазона{note}

Настройки:

* Не создавать статические mac привязки
* Освобождать все IP-привязки раз в 10 мин.
* default-lease-time:
* OPT 82. Создавать статические mac привязки вместо vlan+port+:
* DHCP_LOCAL_ADDRESS:
* max-lease-time:
* Освобождать OPT82 IP-привязки раз в 10 мин.
* Не создавать статические mac привязки:
* DNS по умолчанию (список):
{code:title=Формат}
192.0.2.1 192.0.2.2 192.0.2.3
{code}
* Номера интерфейсов DHCP (список):
* Включить DHCP-сервер:
* Фиксированные привязки IP к MAC адресу (список):

h2. Добавление подсетей

Перейдите на вкладку "DHCP subnets"

Заполните поля:

* DHCP SUBNET - адрес сети(задается в формате <subnet address>/<subnet mask>), пример:
{code}198.51.100.0/24{code}
* DNS сервер для клиентов - список dns-серверов, которые будет выдаваться клиентам в данной подсети. Прописывается в виде:
{code}198.51.100.10, 198.51.100.20{code}
* DHCP шлюз для клиентов - Адрес основного шлюза в данной подсети. Пример:
{code}198.51.100.1{code}
* DHCP Range для дин. раздачи - Диапазон IP адресов, которые DHCP сервер будет выдавать абонентам, при отсутствии дополнительных привязок (mac или opt82). Прописывается через дефис, например:
{code}198.51.100.50-198.51.100.254{code}
* Маршруты для клиентов (список) - список статических маршрутов. Прописывается в виде:
{code}198.51.100.0/25 192.0.2.1;198.51.100.128/25 192.0.2.2{code}


!dhcp2.png|border=0!

h2. MAC привязки

Привязка MAC адреса к конкретному IP адресу создается в [учетной записи|CarbonBilling:Учетная запись. Создание и изменение.] абонента:

!mac.png|border=0,width=400!

Привязку можно сделать двумя способами:
* В поле MAC прописать mac-адрес абонентского устройства и нажать кнопку "Сохранить".
* Нажать кнопку "Получить mac", после этого mac-адрес запрашивается с оборудования и прописывается в этом поле. Нажать кнопку "Сохранить". При этом должно быть соблюдено условие: на абонентском устройстве должен быть уже прописан ip адрес, который соответствует адресу в ip учетной записи.

h2. Настройка Option 82

h3. Включение парсинга опции 82

Для включения опции 82 убедитесь, что отключена опция "OPT 82. Создавать статические mac привязки вместо vlan+port" (по умолчанию отключена).

Используя раздел "[CarbonBilling:Взаимодействие с коммутаторами]", настройте и парсинг нужных парамеров абонента из опции 82. В этом разделе так же описана отладка парсинга.

h3. Динамическая раздача с использованием Option 82 для HotSpot

Динамическая раздача с использованием опции 82 пригодится для настройки HotSpot - так адреса из выделенного пула будут получать только абоненты за определённым портом коммутатора и/или в нужном VLAN.

Для настройки [создайте пул IP адресов|CarbonBilling:Пулы IP адресов] в справочниках биллинга. Возможные параметры опции 82 (указываются через запятую):
* *vlan* - VLAN абонента
* *switch_port_num* - номер порта абонента

Например: {code}vlan=225,switch_port_num=23{code}

Парсинг опции 82 зависит от коммутатора, который выбран в пуле.

!dyn1.png|border=0,width=600!

После установки опции "*Gen dhcp subnet*" данный пул будет создан пул в настройках DHCP:

!dyn2.png|border=0,width=600!

h2. Передача адреса для параметра tr-069 по dhcp через опцию 43.

Web панель-8081 порт ----> "Cистема сбора статистики" ---> DHCP subnets ---> "Дополнительные опции DHCP (список):"

!AddresTR69.png|border=0,width=600!

Добавляем параметр (если необходимо добавить к другим параметрам, то отделяем их через ; )

{code}
option vendor-encapsulated-options http://ip:port
{code}

Далее "Сохранить и пременить" и можно проводить тест получения адреса на сетевом оборудование.

h1. Отладка и решение проблем

h2. Общие рекомендации и советы по решению ошибок

Для отладки Вы можете использовать:

h3. Лог DHCP-сервера

{code}tail -f /app/collector/var/log/messages{code}

Запустите эту команду, перезапустите DHCP-сервер и инициируйте получение адреса клиентом. В логе можно увидеть ошибки, сообщения об отсутствии свободных адресов и тд - для начала поиска проблемы этого достаточно.

h3. Дамп трафика

Соберите дам DHCP трафика в момент запроса и получения адреса абонентами. Приведенная ниже команда соберёт дам по портам DHCP и одновременно будет выводить содержимое пакетов
{code}tcpdump -i any port 67 or port 68 -U -w - | tee dhcp_`date +%Y-%m-%d_%H%M`.pcap | tcpdump -vr -{code}

Дам трафика чаще используется для отладки Option 82, и чтобы просто понять, приходят DHCP-запросы или нет.

h3. Перезапустите DHCP-сервер в консоли - если есть какие-то ошибки конфигурации, Вы их сразу увидите

{code}chroot /app/collector/ service dhcpd restart{code}

Ошибки конфигурации сервера могут быть как фатальными, что не позволит серверу запуститься, так и не фатальными - тогда сервер запустится, но какая-то часть конфигурации не будет использоваться.

h3. В конфигурации сервера ошибка! Как её решить?

Если перезапуск сервера и мониторинг лога показали Вам ошибку, скопируйте её и попробуйте найти решение в поисковых системах.

h2. Проблема: клиенты получают неправильный DNS-сервер

Эта проблема встречается на Windows XP и Windows 7 - в ряде случаев клиенты получают неправильный DNS-сервер. Причина в пакете DHCPINFORM.

Если ОС ранее уже получала адрес от DHCP-сервера или он был настроен статический и потом переключен на динамику, в первую очередь будет отправлен запрос DHCPINFORM - это широковещательный запрос и сервер отвечает на него сразу ответом DHCPACK.

Проблема здесь в том что запрос отправляется широковещательно и тут возможны две причины почему DNS-адрес (а возможно и другие параметры) будет неверным:
* Если в сети несколько DHCP-серверов с похожими конфигурациями, ответ от неправильного сервера может достичь абонента раньше
* Если запрос проходит через RELAY, на нём может быть настроено какое-то особенное поведение, например кеширование ответов или что-то в этом роде.

Для решения проблемы можно:
# Отключить отправку DHCPINFORM через реестр:, чтобы ОС запрашивала адрес пакетом DHCPDISCOVER
{code:title=Куст реестра}HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{Interface GUID}{code}
Здесь *Interface GUI* это ID сетевого интерфейса. Параметры ключа:
#* Тип: DWORD
#* Имя: UseInform
#* DWORD значение: 0
# Отключить ответ на DHCPINFORM на всех DHCP-серверах кроме нужного
#* Например, на СКАТ DPI нужно установить опцию *bras_relay_dhcp_inform* в 0 в файле fastdpi.conf:
{code}Если ваш 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{code}
# Настроить фаерволы, DHCP-сервера и релеи таким образом, чтобы каждый клиентский хост имел доступ только к одному DHCP-серверу