Показать страницуИстория страницыСсылки сюдаЭкспорт в PDFНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Pi-hole и Mikrotik ====== <callout type="tip" icon="true" title="Курс «Настройка оборудования MikroTik»">Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект. <btn type="primary" size="sm" icon="glyphicon glyphicon-link">[[https://курсы-по-ит.рф/lp-mikrotik-mtcna?utm_source=wiki-rtza&utm_medium=cpc&utm_campaign=35| Узнать подробности]]</btn> </callout> Дано: есть 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 <code> /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" </code> Необходимо обратить внимание на комментарий - именно по нему будет определяться правило Добавляем скрипт переключения в System -> Scripts Имя скрипта: PiHole-Activator Права скрипта: read Код скрипта: <code> :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"]; } </code> Настраиваем запуск скрипта в System -> Schedule Наименование: PiHole-Activator Права: read, write Интервал запуска: 1 минута Код: <code> /system script run PiHole-Activator </code> {{tag>mikrotik pi-hole pihole DNS}} software/pihole/pihole-mikrotik.txt Последнее изменение: 2020/11/11 01:58 — 127.0.0.1