DNS-сервер для FEDAnetWed Sep 10 00:10:00 2025 UTC Такой вот странный вопрос к публике. Для FEDAnet так или иначе потребуется свой DNS, и возникает вопрос, как его реализовать. Дело в том, что внутри псевдоTLD .feda большинство записей, если не все, будут определяться правилами, которые хотелось бы написать на чём-то алгоритмически полном. То есть это будет не файл зоны, а именно набор правил — критично, чтобы не нужно было перечислять частные случаи. При этом крайне желательно, чтобы за всеми доменами, кроме .feda, этот DNS-сервер умел ходить к другому DNS-серверу, какой в конфигурации скажут. Хотя без этого можно и обойтись, если эти два сервера поменять местами и основному сказать, что .feda делегирован на тот, который тот -- но это сложнее (ненамного, да, но объяснить это людям, не очень хорошо понимающим в DNS, будет совсем нетривиально — а таких, судя по гостевухе, как-то ненормально до фига). В идеале это вообще должна быть библиотека (или "фреймворк", чем бы он ни был) для реализации своих собственных DNS-серверов. Ну и написано должно быть на Си. Кто-нибудь видел что-нибудь подходящее? Наверняка ведь я не первый, кому такое понадобилось: когда в организации десяток тысяч компьютеров, классические DNS-зоны даже если генерить скриптами, всё равно как-то странно будет смотреться. ![]() |
пояснениеВы находитесь на официальном сайте Андрея Викторовича Столярова, автора учебных пособий по программированию и информационным технологиям. Если вы искали сайт замечательного писателя-фантаста Андрея Михайловича Столярова, то вам, к сожалению, не сюда. Андрей Михайлович Столяров в библиотеке Мошкова |
☞ From Ilya
Fri Sep 12 12:07:54 2025
UTC
DNS
https://www.nlnetlabs.nl/projects/ldns/about/
Подойдет?
ответить
Re: DNS
Надо смотреть, спасибо
ответить
☞ From Глеб Семенов (unverified) Thu Sep 11 20:37:36 2025 UTC
DNS-сервер для FEDAnet
И еще один вариант -- https://serverfault.com/questions/22055/open-source-dns-server-with-database-backend
Дальше пишешь stored-процедуры какие тебе надо.
ответить
Re: DNS-сервер для FEDAnet
Тогда проще генерить зоны. Вообще когда предлагают использовать DBMS (любую, и для любой задачи) — это повод поинтересоваться ментальным здоровьем. А тут об этом вообще речи идти не может, мне бы никогда не пришло в голову предлагать каждому пойнту (или даже каждой ноде, хрен редьки не сильно слаще) майнтейнить ещё и субд. Особенно учитывая, что хранить-то в ней вообще-то нечего.
ответить
Re: Re: DNS-сервер для FEDAnet
Э.дядь... Тогда надо "точнее формулировать начальные условия". Из твоего описания следует, что тебе нужен DNS-сервер с возможностью проксирования нелокальных зон, при этом запросы в локальную зону следует интеллектуально обрабатывать. И так же из твоего ТЗ неявно следует, что интеллектуальная обработка может меняться время от времени. А из этого, в свою очередь, вытекает то, что скрипт обработки должен быть внешним по отношению к самому серверу.
Если тебе хочется просто как-то интеллектуально обрабатывать запросы в свою зону и обработка "прибита гвоздями", то тупо бери любой проксирующий DNS и прикручивай к нему пару процедур обработки.
Опять же, из твоего ТЗ не следовало, что означенный DNS-сервис должен исполняться на каждой ноде твоей виртуальной сети. Я, грешным делом, полагал, что DNS-сервер -- это таки сервер (возможно с зеркалами), но никак не хрень, размазанная по всем клиентам. А то я б тебя послал бы вон к моему старому приятелю Олегу Ховайко, который Mr. Emercoin. Этот удивительный человек умудрился прикрутить DNS к егонному блокчейну, после чего мы его по дружески троллили, что ты, братан, изобрел /etc/hosts с rsync'om :)
ответить
Re: Re: Re: DNS-сервер для FEDAnet
> никак не хрень, размазанная по всем клиентам
В FEDAnet нода — это уж никак не клиент. Скажем так, ничего "более серверного", чем нода, там просто идеологически быть не может.
ответить
Re: Re: Re: Re: DNS-сервер для FEDAnet
СУБД SQLite называется. Что ты там мантейнить собрался?
ответить
Re: DNS-сервер для FEDAnet
Но зачем?! SQLite — это вообще какой-то нонсенс, оно применяется в таких задачах, для которых никакой SQL не то что не нужен, а просто не может быть нужен в силу ничтожности масштаба. До какой степени нужно страдать синдромом утёнка, чтобы его таки применять?
ответить
Re: Re: DNS-сервер для FEDAnet
SQlite -- второй по популярности пакет после ядра линукса... А задачи для него самые разные. Это просто удобный сторадж для любых данных.
ответить
Re: Re: Re: DNS-сервер для FEDAnet
> SQlite -- второй по популярности пакет после ядра линукса...
В дерьме определённо что-то есть, миллиарды мух не могут ошибаться.
Ещё раз: только конченные дебилы могут применять SQLite. То обстоятельство, что конченных дебилов в мире очень много, никак ситуацию не меняет.
> Это просто удобный сторадж
Ты охуел? Как вообще что бы то ни было с SQLем в пузе может быть хоть для чего-то удобно?
> А задачи для него самые разные.
Для него не существует в природе ни одной задачи. И существовать не может. Разве что есть такая задача — дебилов метить: кто за SQLite схватился, тому на лоб чёрную метку и дел с ним больше не иметь, ибо опасно.
UPD: Так, вот что, всё. Найди себе другой сайт и там продвигай свои бредни, здесь не получится.
ответить
☞ From Глеб Семенов (unverified) Thu Sep 11 20:25:09 2025 UTC
DNS-сервер для FEDAnet
> когда в организации десяток тысяч компьютеров
то с этим неплохо DHCP и windows-домены справляются. Сервисов, которым нужно прописываться в корпоративный DNS, не так много.
ответить
Re: DNS-сервер для FEDAnet
Теоретически можно вообще без DNS работать, но возможность не повод.
ответить
☞ From Глеб Семенов (unverified) Thu Sep 11 20:20:56 2025 UTC
DNS-сервер для FEDAnet
Ну тут варианта три. Или писать специализированный интерпретатор языка "определения зон", который, насколько я понимаю проблему, будет в основном декларативным. Тут можно посмотреть, как написаны скрипты для udev, например.
Ну, или ембедить в код твоего DNS-сервера какой-нибудь LUA, например, и писать на нем скрипты. Вероятно, придется реализовать какой-то набор сервисных функций, которые будут зваться из скрипта интерпретатором и выполняться основным кодом. Ну, так как делает броузер, выполняя JavaScript.
Или снимать требование "писать на С", и писать на чем-то, у кого есть в пузе eval (erlang?) В принципе, это допустимо, потому как DNS -- это отдельный сервис, и на чем он писан не так важно.
ответить
Re: DNS-сервер для FEDAnet
Это всё ответ не на тот вопрос, который был задан. *КАК* задать правила — я сам как-нибудь соображу. Разумеется, там не будет ни декларативных языков, ни тем более Lua, ты бы мне ещё питон посоветовал. Но это как раз вообще не проблема ни в каком виде, там все правила, которые потребуются, на том же Си пишутся в два десятка строчек. Меня интересует, как избежать самостоятельной реализации DNS-протокола.
ответить
Re: DNS-сервер для FEDAnet
> как избежать самостоятельной реализации DNS-протокола.
На dnsmasq не смотрел? Маленький, на Си. Много лишнего, вроде DHCP, но вроде бы выкидывается без проблем, там даже условная компиляция для этого предусмотрена.
> чтобы за всеми доменами, кроме .feda, этот DNS-сервер умел ходить к другому DNS-серверу, какой в конфигурации скажут
Вот это - точно умеет :)
ответить