<?xml version="1.0" encoding="UTF-8" ?><oembed><version>1.0</version><provider_name>Чудо{вищные} заметки</provider_name><provider_url>https://miracle.rpz.name</provider_url><author_name>MiRacLe</author_name><author_url>https://miracle.rpz.name/author/miracle/</author_url><title>dnsmasq. Custom DNS</title><html>&lt;!-- wp:paragraph --&gt;
&lt;p&gt;Возникла необходимость ограничить на время доступ к некоторым ресурсам (комнатный телекоммуникационный надзор). Самым первым решением была &quot;гостевая&quot; wi-fi сеть. Даже в музейных роутерах это есть из коробки. Решало проблему ограничения доступа &quot;на время&quot;, но не к конкретным ресурсам. Следующее очевидное &quot;админу локалхоста&quot; решение - &lt;code&gt;iptables&lt;/code&gt;. Есть и доступ по времени и по адресу и даже по имени. Провалилось почти сразу: крупные ресурсы постоянно меняют адреса (имеют неприлично много адресов), детектировать по имени мешает DoH, но главным препятствием был старинный роутер (старая прошивка, древнее ядро, допотопные инструменты) и проблемы с сохранением между перезагрузками кастомных скриптов.&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;

&lt;!-- wp:paragraph --&gt;
&lt;p&gt;Через несколько итераций цикла &quot;заблокировал - снова заработало&quot; стало понятно что этот бой не в мою пользу. Следующей идеей был свойский DNS-сервер (и отключение DoH) - сервер должен для некоторых ресурсов возвращать адрес заглушки. Выглядело просто, тем более в прошлом уже приходилось работать с &lt;code&gt;bind&lt;/code&gt; и &lt;code&gt;powerdns&lt;/code&gt;. В процессе поиска современных альтернатив ВНЕЗАПНО обнаружил, что интернет уже давным давно придумал кучу сервисов, построенных на той идее - прописываешь у себя сервисный сервер (вместо провайдерских) и получаешь контроль над всеми&nbsp; DNS-запросами + статистику и различные плюшки. Стоимость услуги не оставляет шансов на творчество, лень сдалась готовому решению.&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;

&lt;!-- wp:more --&gt;
&lt;!--more--&gt;
&lt;!-- /wp:more --&gt;

&lt;!-- wp:paragraph --&gt;
&lt;p&gt;Около полугода пользования сервисом принесли не только контроль над &quot;проблемным&quot; участком сети, но и кучу новых по тем фронтам, где проблем раньше не наблюдалось - сервис блокирует всякое непотребное (по его мнению), даже то, что явно не просили. Это можно было бы решать настройкой &quot;стандартного&quot; DNS  на устройстве, которое не требуется контролировать. Но далеко не каждое устройство позволяет себя настраивать (да и чего уж там - не у всех устройств есть экран для того чтобы хотя бы узнать текущие настройки).&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;

&lt;!-- wp:paragraph --&gt;
&lt;p&gt;Когда старинный роутер был заменён на чуть более современный я вспомнил о проблеме с DNS  и решил зайти слегка с другой стороны - не &quot;мучить&quot; все устройства тотальным контролем, а выдавать кастомный dns  только &quot;провинившимся&quot; клиентам. И оказалось, что dnsmasq, который используется в прошивке нового роутера это позволяет: к mac-адресам привязываются теги, к тегам - кастомный опции DHCP, в моём случае dns-server.&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;

&lt;!-- wp:preformatted --&gt;
&lt;pre class=&quot;wp-block-preformatted&quot;&gt;dhcp-host=00:00:00:00:00:00,DeVice01,172.16.128.73,infinite,set:managed&lt;br&gt;dhcp-option=tag:managed,option:dns-server,9.9.9.9&lt;/pre&gt;
&lt;!-- /wp:preformatted --&gt;

&lt;!-- wp:paragraph --&gt;
&lt;p&gt;В результате все довольны (ну кроме тех, которые недовольны), всё работает либо так как всем надо, либо не работает так как надо мне.&lt;/p&gt;
&lt;!-- /wp:paragraph --&gt;</html><type>rich</type></oembed>