Комментарии 12
Ой вей! Я понимал что все грустно в модерновых дистрах, но чтоб на столько! Имхо проще с десктопа всю эту кунсткамеру вынести на гейт и там уже подымать корпоративные и не только VPN, ставить кеширующий DNS и т.д.
На десктопе при этом лучше убрать NM и оставить netplan. Но вот на ноуте так не сделаешь, поскольку подключаться к левым сетям удобнее через NM.
модерновый - понятие растяжимое, есть достаточно много дистров, которые выступают против оверинжиниринга, мой любимчик void. там вообще systemd нет. Ещё и стабильный роллинг, прям чудо природы )
Поддерживаю, я именно так и делаю у себя в домашней инфраструктуре, всё настраиваю на шлюзах, серверах, обычные станции и файл-, web-сервера предельно простой конфигурация имеют получают по dhcp. В этом плане мне нравятся дистрибутивы, вроде OpenSuse, которые с коробки заточены получать имя хоста от dhcp и через dnsmasq можно толково назвать сервера, обращаться по именам и рулить DNS.
Для любителей суси и олдфагов напоминаю что есть ещё nscd, который для локального Кеша лес тоже ставили или стоит из коробки. Было бы неплохо и его в статью добавить.
https://tailscale.com/blog/sisyphean-dns-client-linux
UML диаграммы внушают.
14 облачков. Не хватает того самого пятнадцатого.
1. Прямое чтение при каждом запросе (glibc, стандартные утилиты)
Используется системный вызов getaddrinfo() с проверкой mtime файла перед каждым чтением.
О ужас... а можно это поведение как-то исправить? Это же настолько ужасный механизм в современных реалиях когда этот файл не меняется практически никогда :(
Современные реалии это NM + systemd_resolve для десктопа и NM + полноценный DNS сервер для сервера...
Большое спасибо за такой полезный материал! Очень жду следующей части, как раз сейчас диагностирую плавающую проблему с резолвом DNS в докер-контейнерах. Там в этой цепочке та ещё задача определить на каком этапе происходит фейл
Спасибо за материал!
Однако же есть вопрос по оформлению статьи - непонятно почему code blocks светят markdown - выглядит странновато.
Как работает DNS в Linux. Часть 3: Разбираемся с resolv.conf, systemd-resolved, NetworkManager и другими