Artem Chuprina <r...@lasgalen.net> wrote: > Andrey Jr. Melnikov -> debian-russian@lists.debian.org @ Fri, 9 Mar 2018 > 23:30:09 +0300:
> >> >> Разнося на разные девайсы сервер и роутер, таки сподобился настроить > DNS > >> >> и DHCP для локалки через dnsmasq. Получилось проще, чем с ISC (bind и > >> >> isc-dhcpd). Про "легковеснее" молчу. > >> >> Из грабель (они описаны в FAQ). isc-dhcpd, видимо, работает в > >> >> promiscuous mode, и справляется с ситуацией, когда на файрволе по > >> >> данному интерфейсу отдельного разрешения 255.255.255.255 на порт DHCP > >> >> нет (у меня пускали только с адресами из локалки). dnsmasq не > справился, > >> >> пришлось донастроить файрвол. Подумав, махнул рукой и разрешил с этого > >> >> интерфейса вообще всё, так что нет уверенности, что достаточно было бы > >> >> разрешить по минимуму. > >> > -p udp --dports 67:69 - это так сложно прописать в фаирвол? ;) > >> Это понятно. Для гостевой сети так и прописано. Кстати, кажется, > >> достаточно 67. Я про минимум. > > Ну так может взять в руки генератор правил для фаирволов? > Я уже лет несколько назад начал об этом задумываться. Но в дистрибутиве > их много, изучать их все, чтобы выбрать годный ??? изрядное количество > ресурса, а iptables и моих знаний о работе сети для моих задач, в общем, > достаточно. Начинай изучать nftables, всё к этому плавно идет. > В смысле, "ты не выпендривайся, ты пальцем покажи". Чтобы на выходе был > код для iptables-restore (атомарная загрузка, ага), читабельный (ибо > если что-то не работает, допрашивать все равно придется не генератор, а > непосредственно iptables), и чтобы он был не сложнее, чем собственно > iptables. Посмотри arno-iptables-firewall. > А то я как-то видел исходник, от shorewall, что ли... Руками для > iptables то же самое куда понятнее было. > > [...] > >> zless /usr/share/doc/dnsmasq/FAQ.gz > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Вот это в всякие роутеры никогда не > > кладут. > Ась? В мой кладут. Я его оттуда цитирую. А в lede/openwrt не кладут. > >> А вот с isc-dhcpd, не знаю, как сейчас, а раньше лечилось только > >> client-id. В линуксе-то не проблема... > > Да пофигу. Взял и прописал 2 мака с одним адресом. и работает. > Ну, значит, уже починили. Дык лет 10 как работало. Я был сильно удивлен, что это не работает в другом месте. > >> >> Чего он явно не умеет (в документации нет даже упоминания), так это > >> >> трансфера зон. > >> > Это затычка для роутеров, оно без внешнего DNS'a работать не умеет. > >> Спасибо, Кэп, для чего оно предназначено, я в курсе. > >> >> Подумываю, не попробовать ли его как второй авторитетный DNS своей > зоны. > >> > Чем тебя bind не устроил? Тем, что в нем на порядок меньше CVE > находят, чем > >> > в dnsmasq? > >> > Сравни > >> > > https://www.cvedetails.com/product/14557/Thekelleys-Dnsmasq.html?vendor_id=8351 > >> > и > >> > https://www.cvedetails.com/product/144/ISC-Bind.html?vendor_id=64 > >> > для приличия. > >> Может, конечно, bind и научились писать, но у меня исторически сложилось > >> ощущение, что все isc'шные продукты до одного очень изрядно дырявы, и > >> вообще довольно плохо написаны. > > Плохо - да, дыряво - возможно. Ты только учитывай, что они написаны в > начале > > 80 и всех остальных "секурных" на тот момент еще не было. > Я понимаю, почему они были несекурны. Но синтаксис конфига это не извиняет. Конфиг, как конфиг. Не m4 от шлимыла и то хорошо. > >> Его затыкают, конечно, куда деваться ??? он reference implementation, и > >> стоит поэтому везде, где нужна свежая функциональность. Но работает, > >> судя по слухам, через пень-колоду. > > Ага, "мне Рабинович по телефону напел". > Ну, у меня самого задачи такие, что он на них, в общем, не > падает. Последний раз падал в 2005-м, кажется. Приходится по слухам. У тебя нагрузок нет. И у меня сейчас нет, чтоб посмотреть. Лет 8 назад менял bind'ы на unbound - последний держался лучше, но не сильно. Зато с него статистику можно было снимать. > >> Собственно, синтаксис их конфигурации и документация на нее с тех пор > >> лучше не стали. > > Нет, потому что это не просто a=b,c,d а цельный язык для написания > конфигов. > > А книг про конфигурацию bind'a - один О'Реилли выпустил 5 редакций. > > Разжованно до немогу. > Спасибо, я пишу эти конфиги больше 20 лет. Язык там, мягко говоря... Никто не мешает написать генератор. Зачем писать ручками те конфиги? > >> >> i A dnsmasq-base Recommends dns-root-data > >> >> Может, конечно, он оттуда только ключи для DNSSEC хочет... > >> > Вот именно. Оно еще и ntp сервер захочет. Чтоб ключи валидировать. И > будешь > >> > ты с kill -HUP ${pid} играться :) > >> Про это в man тоже есть. > > Ну если автор настолько одаренный, что по SIGHUP делает ВСЁ - то место > этому > > в роутере. > Нет, как раз на это там есть альтернативный подход. Альтернативней не бывает, сбрасывать кэш при каждом SIGHUP, даже если это у нас ntp таки синхронизировался. Который еще надо заставить слать этому изделию HUP. > >> > PS: Лучше уж сборку из unbound/atftpd/udhcpd - оно хоть если > развалиться, то > >> > не всё сразу. И дурацких лимитов по умолчанию в 150 паралельных DNS > запросов не > >> > имеет. И внешний DNS не требует. > >> Не, дома на роутере я лучше dnsmasq оставлю. Для домашней сетки у него > >> вполне нормальные лимиты, а DNS наружу мне один хрен провайдеры не > > А чем они, эти твои провайдеры - это аргументируют? > А ничем. Просто порты закрыты, и это на сайте документировано. Дык надо голосовать ногами от такого провайдера. Хотя, можно еще написать в РосКомПозор об "избыточных блокировках". Там деньги нужны и видимость работы тоже - так что штраф закатят, в независимости - написано на сайте или нет. > > Если тебе не нравиться bind - возьми PDNS, Knot, PowerDNS, MaraDNS если уж > > так хочется. > На кого-то из них я смотрел. Забыл уже, если честно. Монстры еще круче > бинда. Десяток своих пакетов и стопка зависимостей еще десятка на два. У > меня нет задач на высокопроизводительный DNS-сервер миллиарда > доменов. Мне бы что-нибудь поменьше и полегче. Я даже без проверки > DNSSEC обойдусь. Заодно и надежнее будет. Нее, всеравно не понимаю. Даже если тебе жалко 100 рублей в месяц на самую дешманскую VPS где-нибудь с пол-гига памяти для bind'a... ставить то, что предназначено для работы в локалке - голым сокетом в мир..