Информация
Настройка
Новости
Контакты
Новинка
Распродажа
Оплата
Доставка
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    RouterOS
    Проблемы с обновлением Dynamic DNS (TSIG)

    Проблемы с обновлением Dynamic DNS (TSIG)

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Проблемы с обновлением Dynamic DNS (TSIG), RouterOS
     
    tneumann
    Guest
    #1
    0
    25.06.2005 12:06:00
    Пытаюсь настроить MikroTik роутер с 2.9rc6 на отправку динамического DNS-обновления к одному из наших собственных именных серверов (работает bind 9.2). Анализ трафика между роутером и именным сервером показывает, что роутер отправляет TSIG-подписанный UPDATE-запрос, подписанный HMAC-MD5. Это нормально, потому что именно это ожидает наш bind-сервер, но у меня проблемы с тем, чтобы наш bind-сервер принял TSIG-ключ от устройства MikroTik. Отправка обновления с помощью программы nsupdate, которая идет в комплекте с bind, работает отлично. Вот что я делаю с nsupdate: nsupdate -k Ktest.tmr-vpn.net.+157+21943.private -v update.txt, где файл ключа выглядит так: Private-key-format: v1.2
    Algorithm: 157 (HMAC_MD5)
    Key: MXiaoTeY6RvdycbeINzm4Wj2qW7Ikamn2iI80+vhIxHD6D8DUWu7JsOmEG6o­1nR/DHjrOGeUq5/Hqz9cA6Io5g==, а файл команд nsupdate выглядит так: server xx.yy.tmr.net
    zone tmr-vpn.net
    update delete test.tmr-vpn.net. A
    update add test.tmr-vpn.net. 86400 A 1.2.3.4
    show
    send и это работает отлично. Теперь я пытаюсь сделать точно такое же обновление с роутера MikroTik, поэтому сделал так: /tool dns-update zone=tmr-vpn.net dns-server=x.y.z.z \
    … name=test address=1.2.3.4 \
    … key-name=test.tmr-vpn.net \
    … key="MXiaoTeY6RvdycbeINzm4Wj2qW7Ikamn2iI80+vhIxHD6D8DUWu7JsO­mEG6o1nR/DHjrOGeUq5/Hqz9cA6Io5g==" но bind-сервер всегда отклоняет обновление с ошибкой, сообщающей, что ключ недействителен. Что я делаю не так? Нужно ли мне указывать ключ в каком-то другом формате или что-то в этом роде? Кроме того, я заметил, что обновление, которое отправляется с роутера MikroTik на DNS-сервер, не удаляет A-запись до отправки (возможно) новой. Это не проблема, пока адрес остается прежним (но тогда какой смысл обновления), но как только адрес в обновлении отличается от того, который уже хранится в зоне bind для клиента, то это будет добавлять дополнительную A-запись для того же клиента, и так далее… Так как это должно работать? –Tom
     
     
     
    changeip
    Guest
    #2
    0
    25.06.2005 15:14:00
    Проверь метки времени на обоих машинах. HMAC-подпись должна быть в пределах нескольких минут друг от друга… Сэм
     
     
     
    tneumann
    Guest
    #3
    0
    25.06.2005 16:26:00
    Сэм, спасибо за предложение. Я знаю, что время на обоих устройствах должно быть верным. У меня маршрутизатор MikroTik и DNS-сервер синхронизированы по NTP, кстати, DNS-сервер также выступает в качестве NTP-сервера, от которого MikroTik и получает время. Я проверил время на обоих устройствах, включая часовой пояс. –Том
     
     
     
    changeip
    Guest
    #4
    0
    25.06.2005 17:13:00
    Но сервер BIND постоянно отклоняет обновление с ошибкой, что ключ недействителен. Цитата выше взята из файла named.log BIND или откуда-то ещё? Проверь сам файл named.log, чтобы увидеть конкретные ошибки. Если нужно увеличить логирование, можно использовать RNDC для повышения уровня отладки. Похоже, у тебя та же проблема, что и у меня, с перехватом пакетов. Время на роутере синхронизировано и показывает правильное время, но оно игнорируется, и вместо этого для временных меток используется дата 1970-х годов. Сэм.
     
     
     
    tneumann
    Guest
    #5
    0
    25.06.2005 20:26:00
    Сэм, файл журнала bind содержит следующее, когда я успешно обновляю с помощью nsupdate с UNIX-клиента:
    Jun 25 21:24:36.355 update: client 212.23.xx.yy#24036: updating zone 'tmr-vpn.net/IN': deleting an rrset
    Jun 25 21:24:36.355 update: client 212.23.xx.yy#24036: updating zone 'tmr-vpn.net/IN': adding an RR и вот ошибка, которая регистрируется, когда я пытаюсь обновить из роутера MikroTik:
    Jun 25 21:27:13.577 security: client 212.23.xx.zz#1029: request has invalid signature: tsig verify failure

    Я немного покопался с Ethereal, чтобы проверить ошибку с датой 1970-х годов, которую ты упоминал. Дата/время в TSIG, кажется, правильные (смотри поля "Time signed" ниже), но есть другие незначительные различия, как видно из скриншотов ниже. Первая картинка — это пакет, захваченный с UNIX-клиента nsupdate, который работает: обрати внимание, что имя алгоритма: hmac-md5.sig-alg.reg.int написано строчными буквами, а Original id: содержит ненулевое значение. Для сравнения, вот картинка пакета, отправленного роутером MikroTik: обрати внимание, что на этот раз имя алгоритма: HMAC-MD5.SIG-ALG.REG.INT написано прописными буквами, а Original id: содержит нулевое значение.

    Я не знаю, насколько это важно, но это единственные вещи, которые явно отличаются.

    –Том
     
     
     
    changeip
    Guest
    #6
    0
    26.06.2005 02:59:00
    Посмотри на остальную часть этого пакета обновления DNS… если id не 0, то ты нашел свою проблему. Этот ‘0’ должен быть dns id из заголовка того же пакета. Если они не совпадают, у тебя сломана подпись.

    P.S. Это стоит сообщить в support@, чтобы они это исправили. Я писал им много раз, но ответа так и не получил, но хотя бы это добавит задачу в их список дел (надеюсь).

    Кстати, раз это rc6, то лучше выложить это в бета-форум, а не сюда… Sam
     
     
     
    tneumann
    Guest
    #7
    0
    26.06.2005 08:26:00
    Ты на правильном пути. Transaction id пакета DNS отличается от того, что указано как Original id в записи TSIG. На самом деле, дальнейшее тестирование показывает, что Original id, кажется, всегда равен ‘0’, в то время как Transaction id динамически меняется между тестами. Что является причиной, а что следствием? Устанавливается ли Original id в ‘0’ из-за неправильного расчета подписи или подпись рассчитывается неправильно из-за того, что Original id равен ‘0’, даже когда он должен быть другим, и Original id участвует в расчете подписи, тем самым всё портя? Я скину эту дискуссию support@mikrotik.com. –Том
     
     
     
    changeip
    Guest
    #8
    0
    26.06.2005 16:22:00
    Оригинальный ID входит в состав DNS-запроса – это случайное целое число, чтобы DNS-серверы могли отслеживать свои запросы. Часть TSIG-подписи — это оригинальный ID, и если MT использует для него 0, то подпись не будет вычислена, потому что она не совпадает с тем, что было подписано. Я знаю это, потому что только что закончил писать проект на vb.net, который обновляет BIND с помощью TSIG… и столкнулся с той же проблемой, когда не использовал тот же ID, что и в заголовке пакета. Сэм.
     
     
     
    littlet
    Guest
    #9
    0
    26.05.2015 13:37:00
    Эта команда (/tool dns-update) нужна для запуска в скриптах? Если да, то какой минимальный скрипт, если я использую один публичный IP? Спасибо!
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры