Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • 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
    Скрипт принудительной переадресации DNS Pi-hole с функцией резервного переключения

    Скрипт принудительной переадресации DNS Pi-hole с функцией резервного переключения

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Скрипт принудительной переадресации DNS Pi-hole с функцией резервного переключения, RouterOS
     
    mk13139
    Guest
    #1
    0
    08.12.2020 11:50:00
    Я пытаюсь создать скрипт для резервного переключения DNS Pi-hole, но пока безуспешно. В сети у меня есть Pi-hole с IP-адресом 192.168.18.2. В роутере настроены публичные DNS 1.1.1.1 и 1.0.0.1. DHCP-сервер раздаёт клиентам DNS 192.168.18.1 (шлюз роутера). Я добавил следующие правила NAT, чтобы направить весь DNS-трафик через Pi-hole:

    /ip firewall nat  
    add chain=dstnat action=dst-nat to-addresses=192.168.18.2 protocol=udp src-address=!192.168.18.2 dst-address=!192.168.18.2 dst-port=53 comment="piholeNAT1"  
    add chain=dstnat action=dst-nat to-addresses=192.168.18.2 protocol=tcp src-address=!192.168.18.2 dst-address=!192.168.18.2 dst-port=53 comment="piholeNAT2"  

    add chain=srcnat action=masquerade protocol=udp src-address=192.168.18.0/24 dst-address=192.168.18.2 dst-port=53 comment="piholeNAT3"  
    add chain=srcnat action=masquerade protocol=tcp src-address=192.168.18.0/24 dst-address=192.168.18.2 dst-port=53 comment="piholeNAT4"

    Что я хочу сделать при сбое Pi-hole — отключать эти правила NAT. Когда правила NAT отключены, DNS клиентов будет идти через шлюз роутера и публичные DNS 1.1.1.1/1.0.0.1, как обычно, до тех пор, пока Pi-hole снова не заработает (тогда правила NAT включаются и DNS перенаправляется на Pi-hole).  

    Я написал такой скрипт, который запускается каждые 30 секунд:

    :local piholeDNS "192.168.18.2"  
    :local testDomain "www.google.com"

    :if ([/ip firewall nat [find comment="piholeNAT1"] enabled]) do={
       :do {  
           :resolve $testDomain server $piholeDNS  
       } on-error={  
           /ip firewall nat disable [find comment="piholeNAT1"]
           /ip firewall nat disable [find comment="piholeNAT2"]
           /ip firewall nat disable [find comment="piholeNAT3"]
           /ip firewall nat disable [find comment="piholeNAT4"]
       }  
    } else={  
       :do {  
           :resolve $testDomain server $piholeDNS  
           /ip firewall nat enable [find comment="piholeNAT1"]
           /ip firewall nat enable [find comment="piholeNAT2"]
           /ip firewall nat enable [find comment="piholeNAT3"]
           /ip firewall nat enable [find comment="piholeNAT4"]
       } on-error={}  
    }

    Когда я отключаю Pi-hole для теста, правила NAT не отключаются. Значит, что-то явно не так в скрипте. Кто-нибудь может помочь?
     
     
     
    zilexa
    Guest
    #2
    0
    12.02.2021 09:20:00
    С этими правилами устройство с pihole (192.168.18.2) сможет ли пользоваться интернетом и разрешать домены? В моём случае pihole работает на домашнем сервере, которому нужна возможность нормально выходить в интернет и разрешать домены. Похоже, чтобы избежать петли, вы фактически исключаете pihole, но тогда как это устройство сможет разрешать домены?
     
     
     
    mk13139
    Guest
    #3
    0
    12.02.2021 10:03:00
    Привет, Zilexa. Да, при этих правилах PiHole — единственное устройство в сети, которое может разрешать домены через внешний DNS-сервер (PiHole явно исключён в вышеуказанных правилах). Эти правила заставляют перенаправлять все DNS-запросы со всех остальных устройств в сети на PiHole.
     
     
     
    zilexa
    Guest
    #4
    0
    12.02.2021 10:27:00
    Спасибо, я попробовал, и к счастью, у меня всё ещё получается разрешать DNS-запросы с самого сервера. Самый большой минус в том, что теперь в PiHole нет статистики по каждому клиенту. PiHole видит только одного клиента — ваш роутер. Но, думаю, пока это вполне приемлемо.
     
     
     
    kaherdin
    Guest
    #5
    0
    01.12.2021 11:51:00
    Привет! Не мог бы ты сделать скриншоты этого в webfig или winbox? Я новичок в этом и хочу начать пользоваться графическим интерфейсом… Или, если можно, объясни, как правильно ввести это в терминале RouterOS. Мой pihole — 10.0.0.31. Диапазон DHCP — 10.0.0.100-10.0.0.200, а статические назначения — 10.0.0.3-10.0.0.99.  
    С наилучшими пожеланиями.
     
     
     
    kaherdin
    Guest
    #6
    0
    01.12.2021 20:51:00
    Привет! Где указывают «исходящий публичный DNS»?
     
     
     
    zilexa
    Guest
    #7
    0
    18.04.2023 12:56:00
    Я запускаю это уже 2 года и ни разу не оглядывался назад. Работает отлично. Инструкции для вас должны быть понятнее. Если у вас несколько DNS-серверов (несколько AdGuard Home или PiHole), смотрите это решение: http://forum.mikrotik.com/t/mikrotik-pihole-unbound/148772/20
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры