Как известно, система DNS в сети Интернет является одной из ключевых. Без неё невозможно представить современное состояние сети.

Любая ошибка в публикации DNS записей или даже кратковременная неработоспособность этого сервиса может привести к весьма печальным результатам, например потери трафика от пользователей. С другой стороны DNS исключительно хорошо масштабируется и толерантен к сбоям единичных серверов.
DNS важен, профессионалы это понимают. И несмотря на это ошибки в управлении им встречаются даже у самых больших компаний. И не замечаются ими, пока не приводят к существенным проблемам.

Например, список DNS ошибок у не требующей представления компании Вконтакте:
У регистратора vk.com указан следующий список авторитативных серверов домена:
- ns1.vkontakte.ru
- ns2.vkontakte.ru
- ns3.vkontakte.ru
- ns4.vkontakte.ru


На самих авторитативных серверах Вконтакте указан следующий список:
- ns1.vkontakte.ru
- ns2.vkontakte.ru
- ns4.vkontakte.ru

Он отличается от списка у регистратора!

Более того сервер ns2.vkontakte.ru [93.186.224.100] не отвечает на запросы, по крайней мере уже несколько дней.

Ошибка Skype и Microsoft:
В ответах на запросы к cloudapp.net не возвращается Authority Section.
В частности в ответе на тип запроса “AAAA” к skypeecs-prod-euw-0-b.cloudapp.net. Из за этого негативный ответ на такой запрос нельзя кешировать, так как непонятно насколько по времени это можно сделать, если строго соблюдать RFC.

Ошибка Twitter и Dyn:
В ответах на запросы к platform.twitter.com при типе запросов NS сервера Dyn, обслуживающие Twitter отвечают что такой записи не существует. При этом на любой другой тип запросов к этому же имени они отвечают записью CNAME.
Соответственно, если у нас уже закеширован этот ответ на тип запроса NS то, если строго соблюдать стандарты RFC, мы не можем закешировать CNAME в ответе к этому же имени для других типов запросов. Собственно в этом случае поведение кеширующего рекурсивного сервера не детерминировано по стандартам и отдано на откуп собственной логике программиста.

Ошибок у перечисленных компаний больше чем описано в данной статье, но из за нежелания перегружать статью я позволил себе их не публиковать.

Все опубликованные ошибки были актуальны на 7 Мая 2016. В тот момент когда вы будете читать эту статью их может уже не быть.
Поделиться с друзьями
-->

Комментарии (29)


  1. TimsTims
    07.05.2016 20:57
    +15

    > ошибки были актуальны на 7 Мая 2016
    Спасибо, что указали дату. А то бывает иногда читаешь статью лохматого года, и там написано: «актуально на текущий момент»… Или «по сегодняшнему курсу доллара»… n/c

    А потом ищешь дату в посте… ищешь-ищешь находишь какую-нибудь «03 апреля» или «1 августа», без года. И думаешь — в этом году, или в прошлом, или в каком-то другом?
    И единственный ответ получаешь, когда открываешь старую-старую статью хабра, и в ней узнаешь, что если год не написан — то это текущий год. А если год был прошлый — тогда Хабр любезно тебе его выдает…

    Кстати, а не должен ли vk.com адресоваться к каким-нибудь
    ns1.vk.com?
    Ведь они как-раз ушли от .RU домена, чтобы обезопаситься от гос.регулирования. А тут вдруг домен vkontakte.ru разделегируют, тогда и vk.com достанется…


    1. firehunt
      07.05.2016 21:15

      Кстати, а не должен ли vk.com адресоваться к каким-нибудь
      ns1.vk.com?
      Ведь они как-раз ушли от .RU домена, чтобы обезопаситься от гос.регулирования. А тут вдруг домен vkontakte.ru разделегируют, тогда и vk.com достанется…


      Это зависит исключительно от соответствующих технических решений в самой компании. Может быть этот вопрос перестал быть важным, а может быть никто об этом не подумал в ключе зависимости от гос.регулирования.


    1. HabrDev
      07.05.2016 21:25
      +7

      Всё равно же Mail.Ru уже владеет ВКонтакте.


    1. vadimr
      07.05.2016 21:39
      +4

      Причём тут госрегулирование? Домен vk.com используется в интересах маркетинга среди зарубежных пользователей, как менее визуально чужой. Никакой связи между доменным именем и регулированием содержания сайта нет.


    1. vadimr
      07.05.2016 21:46
      +3

      Работа серверов Вконтакте регулируется российским законодательством, так как они физически расположены на территории России.


    1. dim_s
      07.05.2016 23:24
      +1

      Я всегда ее определял по комментариям, по их датам =)


    1. ITMatika
      08.05.2016 22:20

      Про дату — очень верно подмечено! Особенно про отсутствие года в датах!
      Сам всегда указываю дату с годом и другим советую.
      Очень часто при поиске актуальной информации (например, о различных мероприятиях) попадаются статьи без дат. Вот и думаешь — это о новость о предстоящем или о прошедшем 5 лет назад.


  1. swood
    08.05.2016 00:01
    +4

    Спасибо за репорт. Исправили ns2.vkontakte.ru.


    1. firehunt
      08.05.2016 00:38

      Пользуясь случаем хочу спросить, в чем логика отличия списка NS серверов, которые прописаны у регистратора и опубликованы в зоне com для домена vk.com, от списка NS серверов в зоне vk.com?
      Та же история, с вариациями на тему отсутствующих в списке NS записей, прослеживается для доменов vkontakte.ru и vkadre.ru.
      Во всех перечисленных доменов у регистраторов присутствует 4 записи, а на авторитативных серверах Вконтакте присутствуют только три записи.


  1. mikas
    08.05.2016 11:32

    Может быть какой-то вариант защиты от DDOS атак?


    1. firehunt
      08.05.2016 11:43

      Может быть какой-то вариант защиты от DDOS атак?

      Возможно в этом и есть какая то логика — но я ее не вижу.


  1. zedalert
    08.05.2016 15:41
    +6

    Несколько дней назад не резовлилось имя сайта одной популярной во всём мире пиццерии (а кушать то хотелось), провайдер, гугл и яндекс клялись, что такого сайта не существует. Пришлось сделать запрос к DNS серверу регистратора, после запроса whois, и на время добавить в hosts.
    ? \ _ (?) _ / ?


    1. ProRunner
      09.05.2016 09:30
      +9

      Вот это преданный клиент, я понимаю)


      1. gkir
        09.05.2016 15:39

        Захочешь кушать — ещё не такое сделаешь!


  1. imrunner
    08.05.2016 21:59
    +1

    «из за нежелания перегружать статью я позволил себе их не публиковать»

    Ну, можно было бы немного и перегрузить :) Статья на один экран всего.


    1. firehunt
      08.05.2016 22:09
      +1

      Ну, можно было бы немного и перегрузить :) Статья на один экран всего.


      Морально готовлюсь опубликовать в этом году статью про то как работают кеширующие DNS сервисы у нескольких российских классических телекомов, ISP и/или сотовых компаний. Вот там будет больше одной страницы :)


      1. saboteur_kiev
        10.05.2016 02:35

        Недавно обнаружил, что public google dns, который 8.8.8.8, ведет себя не так, как общепринято.

        Например, если я добавил новую зону в свой домен, и впервые пытаюсь ее пингануть, то любой провайдер немедленно обращается к NS и получает ответ с айпишником, который мне и возвращает. Google же этого не делает, в результате приходится ждать сутки.

        Причем несколько лет назад, все было в порядке.


        1. firehunt
          10.05.2016 07:08

          Боюсь дело тут не в Google Public DNS.
          Могу порекомендовать проверить по списку:
          1) Убедится в том, что новая запись действительно публикуется на всех авторитативных серверах домена, после того как ее внесли. Возможно, что сервера остаются рассинхронизированы по какой то причине. Проверить можно просто, указав команде nslookup или dig (в зависимости от OS) тип запроса soa, проверяемый домен и сервер и убедится в том, что серийный номер зоны одинаков. После этого проверить конкретную запись таким же способом;
          2) Убедится, что нет CNAME записи с большим временем жизни TTL, которая «перекрывает» новую запись.


        1. firehunt
          10.05.2016 07:11

          И еще одна проверка-вопрос: а серийный номер зоны Вы не забываете увеличивать?


          1. saboteur_kiev
            10.05.2016 18:04

            1. Конечно проверяю, nslookup с непосредственно обслуживающего NS-а, и DNS моего домашнего провайдера, реагирует мгновенно.

            2. Нет конечно. Обнаружив такую проблему, я специально поигрался, создавая новые A записи и проверяя как реагирует на это регистратор, домашний провайдер и гугл.

            3. Серийный номер автоматически увеличивает панель управления при любом изменении.


            1. firehunt
              10.05.2016 19:36

              Ok, Google :) Я думаю, что дело все же здесь нечисто и руки чешутся посмотреть в чем же дело.
              И поэтому предлагаю аттракцион невиданной щедрости: сделайте новую запись и опубликуйте здесь полное имя, fqdn. А я скажу в чем точно дело, что именно происходит с точки зрения внешнего наблюдателя.


              1. saboteur_kiev
                13.05.2016 19:43

                Я не так часто читаю Хабр, чтобы прямо тут делать интерактивный тест… У вас нет своего домена под рукой на поиграться? Бываю онлайн поздно вечером, скайп — как хабраник.


                1. firehunt
                  14.05.2016 08:17

                  По Вашим словам проблема с Вашим единичным доменом и ждете Вы сутки, чтобы Google Public DNS увидел новые записи в Вашем домене.
                  Для меня очень странно выступать их адвокатом, но с другими доменами массовых проблем не наблюдается, в том числе и с теми, которыми я управляю.
                  Соотвественно раз на произвольных доменах проверка Вашего утверждения дает другие результаты, а опубликовать название домена и сделать в нем запись Вы не можете, то будем считать, что Google Public DNS ведет себя корректно, пока не доказано обратное. Ну или что это сильно специальный случай.


                  1. saboteur_kiev
                    16.05.2016 11:53

                    Ок, у меня домены вроде на трех разных регистраторах, поиграюсь со всеми, проверю, может действительно проблема у конкретного регистратора. Просто я точно помню, что пару лет назад такой проблемы не было именно на этом домене.


        1. vitalvas
          10.05.2016 12:33

          google public dns последние 2 года совершенно неадекватно себя ведет с новыми записями или апдейтами.
          Бывали случаи, что на некоторые AS-ки переставал работать резолвинг на несколько недель.

          Есть подозрения, что они парсят данные из страниц, и потом пробуют его проверить. Если это подтвердится — то все будет логично — они кешируют зону из статусом NXDOMAIN…


          1. firehunt
            10.05.2016 13:50

            google public dns последние 2 года совершенно неадекватно себя ведет с новыми записями или апдейтами.

            Было бы интересно получить более подробную информацию. По моим тестам, с внесением новых записей на нескольких доменах — их опрос через 8.8.8.8 отрабатывает вполне себе благополучно.
            Бывали случаи, что на некоторые AS-ки переставал работать резолвинг на несколько недель.

            В смысле Google Public DNS не видел в этих AS'ках авторитативных серверов или не обслуживал запросы пользователей из них? В любом случае налицо нерасторопность администраторов этих AS, не могу поверить что «Корпорация Добра» решала вопросы сетевой связанности после обращения к ней в поддержку так долго.
            Есть подозрения, что они парсят данные из страниц, и потом пробуют его проверить. Если это подтвердится — то все будет логично — они кешируют зону из статусом NXDOMAIN…

            Вполне себе реалистичный сценарий, особенно если последняя цифра в SOA записи, так называемая «Minimum TTL» или «The negative result TTL» установлено в относительно большое значение.


            1. vitalvas
              10.05.2016 14:16
              -1

              > В смысле Google Public DNS не видел в этих AS'ках авторитативных серверов или не обслуживал запросы пользователей из них?
              Не обслуживал запросы. Отваливалось по таймауту.

              > В любом случае налицо нерасторопность администраторов этих AS, не могу поверить что «Корпорация Добра» решала вопросы сетевой связанности после обращения к ней в поддержку так долго.

              Это было нарушения со стороны монтерев процесса настройки сети. Были поймание на горячем и наказаные. Потом бегали и исправляли…
              «Корпорация Добра» совершенно не отвечает на noc@… и другие… Единственный вариант добиться контакта — отправить в блекхол их важные адреса и передача их аплинкам…

              > Вполне себе реалистичный сценарий, особенно если последняя цифра в SOA записи, так называемая «Minimum TTL» или «The negative result TTL» установлено в относительно большое значение.

              Возможно… Но другие сервера работают без таких приколов…


  1. fronik
    10.05.2016 08:29
    +1

    Я любил использовать сервера времени от Google — time1.google.com, time2-4
    Перейдя на IPv6 резко разлюбил.

    IPv6 адреса серверов времени Google не отвечают, ни пинг ни служба времени.
    Уже два года.

    https://mebsd.com/ipv6-ping-and-traceroute

    Ping
    $ ping6 -c 10 -s 56 time1.google.com
    PING6(104=40+8+56 bytes) 2001:4d48:1337:5afe::2 --> 2001:4860:4802:32::f
    --- time1.google.com ping6 statistics ---
    10 packets transmitted, 0 packets received, 100.0% packet loss
    
    $ ping6 -c 10 -s 56 time2.google.com
    PING6(104=40+8+56 bytes) 2001:4d48:1337:5afe::2 --> 2001:4860:4802:34::f
    --- time2.google.com ping6 statistics ---
    10 packets transmitted, 0 packets received, 100.0% packet loss
    
    $ ping6 -c 10 -s 56 time3.google.com
    PING6(104=40+8+56 bytes) 2001:4d48:1337:5afe::2 --> 2001:4860:4802:36::f
    --- time3.google.com ping6 statistics ---
    10 packets transmitted, 0 packets received, 100.0% packet loss
    
    $ ping6 -c 10 -s 56 time4.google.com
    PING6(104=40+8+56 bytes) 2001:4d48:1337:5afe::2 --> 2001:4860:4802:38::f
    --- time4.google.com ping6 statistics ---
    10 packets transmitted, 0 packets received, 100.0% packet loss
    


    1. stychos
      10.05.2016 21:21

      У них и в браузере если открыть страницу не по имени, а по v6-адресу, будет page not found. Странное отношение от тех, кто одними из первых начали массово внедрять всякие IPv6-day и прочие мероприятия.