Это специально для моего домена, пользователи / посетители вообще не будут использовать мой DNS-сервер. Это вообще возможно?
Мне нужно настроить DNS-сервер, на котором я могу разместить свой домен, который по запросу будет выбирать IP-адрес для пользователя из критериев, которые я установил на своем сервере.
Пример: пользователь из Канады запрашивает поиск записи NAME на mydomain.com, и он вернет 10.0.0.20, а пользователь из Нидерландов, выполняющий такой же поиск, вернет 10.0.0.21, в идеале я хотел бы иметь возможность получить запрашивающий IP-адрес (пользователь) и запускаю на нем мои собственные скрипты / проверки, вплоть до учета ASN запрашиваемого и предоставления конкретного IP-адреса. Возможно ли это с размещением моего собственного DNS-сервера?
У меня нет большого опыта, кроме использования бесплатных или сторонних служб DNS.
Это нужно делать на уровне DNS, а не путем перенаправления трафика с помощью обратного прокси.
Базовая функциональность для возврата различных результатов в зависимости от IP-адреса клиента на жаргоне называется разделить горизонт DNS и предлагается много DNS серверов.
Конкретный вариант использования библиотеки Geo IP для возврата различных записей в зависимости от местоположения, связанного с IP-адресом клиента, можно найти на некоторых DNS-серверах, например, в PowerDNS. Серверная часть "Geo IP" предусматривает, что готовые к работе и в других коммерческих и открытых DNS-серверах аналогичные функции иногда называются «GEO DNS» или более описательными терминами, такими как «глобальная балансировка [DNS] нагрузки» или «[глобальный] директор по трафику». используемый.
Если вы хотите создавать свои собственные сценарии, я знаю, что и DNSmasq, и PowerDNS предоставляют перехватчики для сценариев LUA для создания вашей собственной логики.
Да, это возможно, как минимум, в зависимости от программного обеспечения вашего DNS-сервера. Функция Bind называется «представлениями» и позволяет вам управлять различными результирующими конфигурациями для представления в зависимости от того, кто спрашивает. Это также называется «раздельным» DNS.
Реализация зависит от вашего сервера. Официальную справку см. В последних документах Bind. [1]
Выполнение динамических сценариев в режиме поиска DNS не является функцией Bind или большинства DNS-серверов. Если вы можете выбрать пункт назначения на основе подсетей, это сработает для вас.
1: https://ftp.isc.org/isc/bind9/cur/9.13/doc/arm/Bv9ARM.ch05.html#view_statement