Проблемы с CNAME в настройке GeoDNS
Я пытаюсь настроить что-то похожее на настройку CDN (Content Delivery Network). Я хочу использовать DNS-записи, которые возвращают A-запись в зависимости от географического расположения пользователя. Я смог настроить это с помощью RAGE4 DNS. Я не могу переместить домен (назовем его domaina.com) на RAGE4, и я могу только изменить поддомен. Итак, я зарегистрировал новое доменное имя (назовем его domainb.com) и настроил его на DNS RAGE4 с записями A на географической основе и изменил субдомен (на domaina.com) на CNAME, который указывает на RAGE4 DNS. Это приводит к тому, что записи A, возвращаемые при доступе к поддомену (на domainb.com), возвращают только один и тот же IP-адрес, поскольку он использует местоположение сервера имен для domaina.com (а не первоначального пользователя, выполнившего запрос).
Может быть, это лучшее объяснение:
- Пользователь запрашивает запись DNS для xyz.domaina.com с ns1.domaina.com
- xyz.domaina.com - запись CNAME, которая указывает на xyz.domainb.com
- xyz.domainb.com возвращает запись A, основанную на географическом местоположении пользователя (в данном случае это географическое местоположение ns1.domaina.com)
Есть ли в любом случае заставить его использовать исходное местоположение пользователей вместо расположения серверов имен?
1 ответ
Ты не можешь
Существует расширение EDNS0, которое называется "Клиентская подсеть в запросах DNS", и оно уже поддерживается некоторыми преобразователями, такими как Google Public DNS. 8.8.8.8
и OpenDNS 208.67.222.222
(но не уровнем 3 4.2.2.1
Дин 216.146.35.35
Ураган Электрик 74.82.42.42
или большинство других провайдеров). В прошлый раз, когда я проверял, в любом общедоступном программном обеспечении с открытым исходным кодом все еще почти не было поддержки для подобных вещей, поэтому его поддерживают только Google и OpenDNS.
Некоторые связанные вопросы:
Некоторые соответствующие ответы на вопросы:
Короче попробуйте запустить dig -t txt o-o.myaddr.l.google.com +short
от вашего потенциального клиента. Если вы не видите edns0-client-subnet
на выходе все ставки отключены.
% dig -t txt o-o.myaddr.l.google.com +short
"188.40.25.3"
% dig @google-public-dns-a.google.com. -t txt o-o.myaddr.l.google.com +short
"74.125.189.17"
"edns0-client-subnet 88.198.54.0/24"
% dig @resolver1.opendns.com. -t txt o-o.myaddr.l.google.com +short
"208.69.33.21"
"edns0-client-subnet 88.198.54.0/24"
% dig @a.resolvers.level3.net. -t txt o-o.myaddr.l.google.com +short
"8.0.18.147"
% dig @resolver1.dyndnsinternetguide.com. -t txt o-o.myaddr.l.google.com +short
"91.198.22.152"
% dig @ordns.he.net -t txt o-o.myaddr.l.google.com +short
"216.66.80.30"
%