Любопытство по поводу DNS с помощью команды dig
Я анализирую раздел DNS для веб-сайта imgur.com. Я сомневаюсь, что когда я запускаю "dig imgur.com", dig возвращает только IP-адрес, если я запускаю снова, та же команда dig возвращает другой IP-адрес или иногда тот же.
Другой вопрос: с помощью dig www.imgur.com получить CNAME для другого домена, это нормально? Кто-то может мне объяснить?
1 ответ
Используя dig www.imgur.com, получите CNAME для другого домена.
Этот "другой домен" - это сеть распространения контента (CDN), используемая Imgur - по сути, хостинг-провайдером, который специализируется на кэшировании статических данных (видео, cat gif-файлов) по всему миру, в идеале как можно ближе к посетителям.
Передав эту задачу в CDN, Imgur нужно беспокоиться о размещении исходных данных в одном или двух центрах обработки данных, а не везде.
если я запускаю снова ту же команду, dig возвращает другой IP-адрес или иногда тот же
CDN используют различные методы балансировки нагрузки и не должны перечислять все IP-адреса сразу в ответе DNS.
Один IP-адрес может указывать на балансировщик нагрузки, поддерживаемый несколькими фактическими хост-серверами.
Один IP-адрес может существовать в нескольких местах, используя anycast. Ваши пакеты всегда отправляются в любое место, которое ваш провайдер считает "ближайшим".
DNS-сервер Fastly генерирует ответы динамически, поэтому он может не давать вам адреса перегруженных серверов.
Многие CDN также используют "GeoDNS", то есть они дают вам IP-адрес ближайшего сервера, так что вы в любом случае всегда получите в Европе разные результаты из США.
Я хотел бы видеть все IP-адреса
dig
просто показывает данные, которые Fastly дает вам, и не имеет специального трюка для возврата "всех" адресов.
Помните, что адреса обычно распределяются между всеми клиентами этой CDN, поэтому блокирование всего диапазона приведет к блокировке довольно многих веб-сайтов.