RouterOS не передаёт некоторые Options клиенту DHCP

Базовая функциональность RouterOS
sciensys
Сообщения: 16
Зарегистрирован: 27 дек 2020, 18:48

RouterOS не передаёт некоторые Options клиенту DHCP

Сообщение sciensys »

Доброе,
Собственно вопрос, кто нибудь осилил ?

есть DHCP Server, Network, Pool
в Networks указан параметр 'Next Server' и ''Boot File Name'
всё работает.

но если использовать DHCP Option Set (c 2мя option 66 и 67) - то клиент не получает Options
значения параметров 'Next Server' и ''Boot File Name' такие же и в Options:
Name: option66
Code: 66
Value: '[ip_address]'

Name: option67
Code: 67
Value: '[file_name]'

пробовал s'[ip_address]' однако значение RAW не меняется.
высчитываемое значение RAW Value почти соответствует HEX
в HEX адрес 0x07070707
в RAW Value, что не пиши, всё равно 07070707

основная задача: static lease с индивидуальным указанием "DHCP Option Set"
естественно она не работает, т.к. не работает в разделе "Networks" изначально.

грубо, нужно каждому отдельному клиенту выдавать свой tftp сервер и файл, в той же сети, что и основная масса, указанная в "Networks".
tftp сервера работают, если указать один в "Networks" в опциях 'Next Server' и ''Boot File Name'..
но их то, серверов, много...

на текущий момент пока решение только одно, выделить для каждой группы клиентов отдельную сеть, прописать опции 66 и 67 в "Networks", настроить коммуникации между новыми сетями и основной.
Отличный костыль :)))

p.s
замечу, что передача данных опций клиенту DHCP сервером Linux (isc-dhcp-server) - работает исправно.
скажу больше, там даже static IP адрес не нужно указывать, просто опцию 66, 67, и клиент ушёл куда послали, а там уже его обработали.
Аватара пользователя
Chupaka
Сообщения: 3260
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: RouterOS не передаёт некоторые Options клиенту DHCP

Сообщение Chupaka »

Здравствуйте.
sciensys писал(а): 29 авг 2021, 16:03 там даже static IP адрес не нужно указывать, просто опцию 66, 67
В RouterOS тоже можно указать имя пула вместо адреса :)

Так клиент совсем не получает Options или получает в неправльном формате? debug-лог смотрели на DHCP-сервере?
sciensys
Сообщения: 16
Зарегистрирован: 27 дек 2020, 18:48

Re: RouterOS не передаёт некоторые Options клиенту DHCP

Сообщение sciensys »

при задании option set из двух options, клиент не получает адрес TFTP
т.е. siaddr = [IP Router]

а строки file = "pxelinux.0" вообще нет, и:
Unknown(67) = 70-78-65-6C-69-6E-75-78-2E-30 - хоть это и верное значение имени файла в HEX кодировке
т.е. имя файла mikrotik передал, клиент не понял


при указании в Networks значений Next Server и Boot File Name
в siaddr = [IP TFTP Server]
file = "pxelinux.0" - присутствует
а значения Unknown - отсутствуют
естено так-то всё работает.

p.s. такое чувство, что адрес нужно не 66ым передавать, а в 67ом писать другой кодировкой.
правда 150ый пробовал тоже.
если в 66ом или 150ом задать значение непосредственно в формате HEX 0xc0c0c0c0, - также ничего не меняется
в любом случае RAW высчитывается одинаково верно.

указание опции s (string)
Value: s'[file_name]'
эффекта не даёт, всё равно:
Unknown(67) = 70-78-65-6C-69-6E-75-78-2E-30
Аватара пользователя
Chupaka
Сообщения: 3260
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: RouterOS не передаёт некоторые Options клиенту DHCP

Сообщение Chupaka »

Клиент не получает - в каком смысле? Сервер не передаёт 66-ю опцию?
"mikrotik передал, клиент не понял" - так это вопрос к клиенту, там же кодирование LTV, как помню - поэтому значение либо передаётся, либо нет, его нельзя воспринять по-разному...
sciensys
Сообщения: 16
Зарегистрирован: 27 дек 2020, 18:48

Re: RouterOS не передаёт некоторые Options клиенту DHCP

Сообщение sciensys »

Unknown(67) = 70-78-65-6C-69-6E-75-78-2E-30 - это лог mikrotik
он сам пишет, что Unknown(67).... эмм это получается он сам не знает что передаёт ?
а отправки адреса FTP вообще нет в логах.

т.е. 66 не передаёт
67 передаёт, но сам же и говорит что Unknown(67)
это забавно....
sciensys
Сообщения: 16
Зарегистрирован: 27 дек 2020, 18:48

Re: RouterOS не передаёт некоторые Options клиенту DHCP

Сообщение sciensys »

Chupaka, в любом случае, спасибо за участие,
но хотелось бы узнать о проблемах с передачей 66 и 67 на практике....
в теории можно тереть вечно, но неплохо бы найти решение или в mikrotik это не работает, понять, простить и забыть :)

может это только в моей CСR -ке глюк, или сам что-то не так делаю.... интересно у кого нить получилось передать данные опции?
Аватара пользователя
Chupaka
Сообщения: 3260
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: RouterOS не передаёт некоторые Options клиенту DHCP

Сообщение Chupaka »

Так, а покажите запрос от клиента к серверу. Он в Parameter-List запрашивает опции 66 и 67? Судя по сообщениям выше, 67 запрашивает, а вот по поводу 66 появились сомнения...
sciensys
Сообщения: 16
Зарегистрирован: 27 дек 2020, 18:48

Re: RouterOS не передаёт некоторые Options клиенту DHCP

Сообщение sciensys »

от клиента это PXE загрузка.
боюсь там нет paramer list, он берёт всё что дают.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
sciensys
Сообщения: 16
Зарегистрирован: 27 дек 2020, 18:48

Re: RouterOS не передаёт некоторые Options клиенту DHCP

Сообщение sciensys »

Chupaka, а Вы пробовали передать по DHCP 66 и 67 опции клиенту? у Вас норм работает?
Аватара пользователя
Chupaka
Сообщения: 3260
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: RouterOS не передаёт некоторые Options клиенту DHCP

Сообщение Chupaka »

Parameter-List надо смотреть в dhcp-логах сервера. Я попробовал, но у меня не нашлось клиента, который эти опции запрашивает (поскольку DHCP Server в RouterOS работает строго по стандарту, а стандарт говорит, что опции надо отдавать только те, которые клиент запросил). А siaddr и boot file name - это не опции, а поля в основном ответе, поэтому тут всё вообще запутанно получается... Видимо, их так просто переопределить не получится через Options.