Назад | Перейти на главную страницу

Хостинг моего собственного DNS-сервера для моего домена, принудительное разрешение IP на основе IP-адреса посетителя

Это специально для моего домена, пользователи / посетители вообще не будут использовать мой 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