Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • 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
    Скрипт для разрешения DNS-имён и обновления списка адресов.

    Скрипт для разрешения DNS-имён и обновления списка адресов.

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Скрипт для разрешения DNS-имён и обновления списка адресов., RouterOS
     
    palmczak
    Guest
    #1
    0
    22.02.2007 00:13:00
    Прошу прощения, если это уже обсуждалось. Я потратил время на поиски, но не нашёл решения. У нас используется цепочка правил файрвола, чтобы блокировать попытки входа в роутер с небезопасных IP-адресов. Проблема в том, что у нас есть несколько сайтов, которые сейчас используют динамический IP и DDNS для обновления ChangeIp. Я ищу скрипт, который разрешает список DNS-имён и обновляет список адресов (список доверенных IP-адресов) IP-адресами, к которым они разрешаются. Было бы здорово проверить список на наличие адресов, чтобы не добавлять их повторно. Спасибо.
     
     
     
    cmit
    Guest
    #2
    0
    28.02.2007 16:39:00
    Может быть, это поможет… Скрипт перебирает все записи в списке адресов (в данном примере называется "testlist") и обновляет связанные с ними IP-адреса. Он сделан так, чтобы комментарий к записи списка адресов содержал DNS-имя записи (например, "myhomeoffice.dyndns.org" или "www.mikrotik.com" или что-то еще). При запуске скрипт разрешает комментарий списка адресов как имя хоста и помещает IP-адрес в поле адреса записи. После этого идет второй цикл, отключающий все записи списка адресов, которые теперь имеют "0.0.0.0" в качестве адреса (что означает, что разрешение DNS не удалось по какой-либо причине). Вы можете запускать его каждую минуту из планировщика, например:
    ```
    :foreach a in=[/ip firewall address-list find list=testlist] do={
     /ip firewall address-list set $a address=[:resolve [/ip firewall address-list get $a comment]]
    }
    :foreach a in=[/ip firewall address-list find address=0.0.0.0] do={
     /ip firewall address-list set $a disabled=yes
    }
    ```
    С наилучшими пожеланиями, Christian Meis
     
     
     
    palmczak
    Guest
    #3
    0
    28.02.2007 17:19:00
    Спасибо! Я немного подкорректирую, но это отличное начало! Еще раз спасибо. Джо.
     
     
     
    sergiom99
    Guest
    #4
    0
    25.04.2008 20:55:00
    Привет, может, скрипт вроде этого поможет в подобной ситуации? http://forum.mikrotik.com/t/how-to-nat-from-a-hostname/15922/1 Пока не решил. Спасибо!
     
     
     
    vchrizz
    Guest
    #5
    0
    04.12.2018 01:48:00
    Искал похожее решение и придумал свой скрипт. Хочу поделиться, вдруг кому-нибудь пригодится: [/Codebox]
    Системный планировщик экспорта:
    /system scheduler add interval=1m name=auto-add-static-routes on-event=Add-static-routes-from-DNS policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start-date=dec/03/2018 start-time=21:47:34

    Системный скрипт:
    Название: Add-static-routes-from-DNS (не забудь отредактировать шлюз и метку VRF так, как нужно тебе)
    Этот скрипт разрешает заданные DNS-имена и добавляет маршруты для разрешенных IP-адресов.
    Важно: отредактируй опции статических маршрутов, чтобы они соответствовали твоей сети! Можно также определить пользовательские маршруты. Пропускает добавление маршрутов, если они уже добавлены.
    Создан в 2018 году chil.at

    Объявляем переменные
    local dnsNames
    local customRoutes
    local ipAddress
    local gateway
    local type
    local distance
    local scope
    local targetscope
    local routingmark

    Определяем записи DNS
    set dnsNames ($dnsNames , “ upgrade.mikrotik.com ”)
    set dnsNames ($dnsNames , “ www.ubnt.com ”)
    set dnsNames ($dnsNames , “ security.debian.org ”)
    set dnsNames ($dnsNames , “ security-cdn.debian.org ”)
    set dnsNames ($dnsNames , “ ftp.us.debian.org ”)

    Определяем пользовательские статические маршруты
    cloudflare DNS
    set customRoutes ($customRoutes , “1.1.1.1/32”)
    google DNS
    set customRoutes ($customRoutes , “8.8.8.8/32”)

    Определяем опции статических маршрутов
    set gateway “1.2.3.4@main”
    set type “unicast”
    set distance 200
    set scope 30
    set targetscope 10
    set routingmark “VRF-MANAGEMENT”

    Не редактируйте ничего ниже!

    Очищаем кэш DNS и все AutoAdded маршруты (включай только временно, чтобы очистить в случае проблем)
    #ip dns cache flush
    #ip route remove [find comment~“AutoAdded”]
    #log info “cleared DNS cache and all AutoAdded routes.”

    Устанавливаем максимальное TTL кэша DNS до 10 минут
    #ip dns set cache-max-ttl=“10m”

    Устанавливаем статические маршруты из определенных пользовательских маршрутов
    foreach route in=$customRoutes do={
       if ([ip route find dst-address=“$route” gateway=$gateway type=$type distance=$distance scope=$scope target-scope=$targetscope routing-mark=$routingmark] != “”) do {
           log debug “route exists to $route, skipping.”
       } else {
           ip route add dst-address=$route gateway=$gateway type=$type distance=$distance scope=$scope target-scope=$targetscope routing-mark=$routingmark comment=“AutoAdded”;
           log info (“route added to $route”);
       };
    }

    Устанавливаем статические маршруты из определенных DNS-имен
    foreach dnsName in=$dnsNames do={
       set ipAddress ([:resolve $dnsName])
       if ([ip route find dst-address=“$ipAddress/32” gateway=$gateway type=$type distance=$distance scope=$scope target-scope=$targetscope routing-mark=$routingmark] != “”) do {
           log debug “route exists to $ipAddress ($dnsName), skipping.”
       } else {
           ip route add dst-address=$ipAddress gateway=$gateway type=$type distance=$distance scope=$scope target-scope=$targetscope routing-mark=$routingmark comment=“AutoAdded for dnsName: $dnsName”;
           log info (“route added to $ipAddress ($dnsName)”);
       };
    }
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры