Приветствую, коллеги! Сегодня у меня появилась необходимость передавать опцию 119 — поиска домена (domain-search) на Микротике (MikroTik). Оказалось, это хитрая задача. Но я пошагово расскажу, как это сделать.
Содержание:
- Проблемы опции 119 DHCP на MikroTik
- Пример Perl-скрипта для расчета значения domain-search
- Использование domain-search
- Выводы
Проблемы опции 119 DHCP на MikroTik
Опция 119 DHCP позволяет DHCP-серверам использовать более одного домена поиска DNS. Это задокументировано в RFC 3397.
Сервер DHCP, встроенный в RouterOS от MikroTik (который я использую дома, на работе и в офисах нескольких клиентов), не имеет поддержки опции 119 в DHCP-сервере / опции поиска домена / domain-search. Тем не менее, у сервера DHCP есть способ настроить произвольные параметры, указав номер кода (т.е. 119) и исходное значение в специальном виде.
Документация MikroTik объясняет, как создать произвольный вариант опций, подобно нашему случаю. Но в документации нет каких-либо подробностей о том, что фактически должен содержать какой-либо конкретный вариант опций (например, 119). Я попробовал несколько разных вариантов, и, хотя опция отправлялась DHCP-сервером (я проверил это с помощью Wireshark), значение, которое я отправлял, не было принято клиентом, как список доменов, которые я пытался использовать (или что-либо вменяемое для этого).
Пример Perl-скрипта для решения задачи
Значение, необходимое для этой опции, должно использовать «DNS-кодирование» (DNS encoding) и еще необходимо использовать «сжатие DNS» (DNS compression), как описано в RFC 1035, раздел 4.1.4. Такое «сжатие» сложно сделать вручную, поэтому я написал Perl-скрипт, чтобы решить свою задачу.
Готовый скрипт можно скачать здесь: dhcp119.sh
Использование domain-search
Чтобы создать строку поиска домена (domain-search), содержащую домены edu-cisco.org и sedicomm.com, я выполнил следующую команду:
И затем прописал команду на MikroTik в таком виде:
Должно получиться что-то подобное:
Выводы
Таким образом я справился с задачей расчета значения domain-search для опции 119 DHCP на MikroTik при помощи Perl-скрипта. Надеюсь, это руководство будет полезным и для Вас.
Спасибо за время, уделенное на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
3 комментария. Оставить новый
Ну я могу. Когда нужно открывать ссылки типа http://somelocalserver12345/, которые на самом деле http://somelocalserver12345.domain.local/
Не работает(
[[email protected]] > /ip dhcp-server option add name=»domain-search» code=119 value=046974326702727500
failure: Unknown data type!
Сделайте через winbox, как у меня на скриншоте.