====== Pi-hole и Mikrotik ====== Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект. [[https://курсы-по-ит.рф/lp-mikrotik-mtcna?utm_source=wiki-rtza&utm_medium=cpc&utm_campaign=35| Узнать подробности]] Дано: есть Mikrotik в качестве роутера, есть хост или ВМ с Pi-Hole на борту. Задача: Пересылать все DNS-запросы с Mikrotik на Pi-Hole (если он работает), иначе использовать Mikrotik в качестве DNS-сервера (эдакая отказоустойчивость). Решение #1: с интервалом в 1 минуту проверяем доступность IP-адреса сервера с Pi-Hole, если он доступен - пересылаем на него все DNS-запросы. Если нет - отключаем правило и DNS-сервером работает Mikrotik. Решение #2: https://github.com/arkashiks/dns_healthcheck - скрипт как раз для определения работы DNS, с простой логикой: пытается раз'именовать имя и если не получается переключает на резервный DNS Добавляем на Mikrotik правила в IP -> Firewall -> NAT /ip firewall nat add chain=dstnat action=dst-nat to-addresses=192.168.8.1 protocol=tcp in-interface=bridge-local dst-port=53 log=no log-prefix="" comment="forward DNS queries to Pi-Hole" add chain=dstnat action=dst-nat to-addresses=192.168.8.1 protocol=udp in-interface=bridge-local dst-port=53 log=no log-prefix="" comment="forward DNS queries to Pi-Hole" Необходимо обратить внимание на комментарий - именно по нему будет определяться правило Добавляем скрипт переключения в System -> Scripts Имя скрипта: PiHole-Activator Права скрипта: read Код скрипта: :local checkpihole [/ping 192.168.8.1 count=5] :if (checkpihole > 0) do={ /ip firewall nat enable [find comment="forward DNS queries to Pi-Hole" && disabled=yes]; } else={ /ip firewall nat disable [find comment="forward DNS queries to Pi-Hole"]; } Настраиваем запуск скрипта в System -> Schedule Наименование: PiHole-Activator Права: read, write Интервал запуска: 1 минута Код: /system script run PiHole-Activator {{tag>mikrotik pi-hole pihole DNS}}