Ответы пользователя по тегу Round-robin
  • DNS. Можно ли прописать несколько А-записей без NS?

    MonkAlbino
    @MonkAlbino
    Фронтенд разработчик
    Есть домен: example.com.
    Есть такие записи в его зонном файле:
    NS ns1.example.com.
    NS ns2.example.org.
    
    @ MX 10 mx.example.com.
    
    @    A     10.0.0.10
    www  A     10.0.0.10
    sub  CNAME other.service.on.another.example.org.
    ns1  A     10.0.0.9

    Чтобы браузеры понимали куда слать запросы, они спрашивают у известных им DNS-серверов (системные, те спрашивают у провайдерских и т.д.) информацию о домене example.com. NS-записи - это адреса серверов, которые будут отвечать за все DNS-запросы к этому серверу.
    Т.е. чтобы узнать IP за доменом `example.com`, браузер узнаёт, что всё про него знают `ns1.example.com` и `ns2.example.org`. Спрашивают у одно из них, те ищут A запись для @ и возвращают `10.0.0.10`.
    Для любых других поддоменов (типа `www`, или `sub`, или тот же самый `ns1`) или почтовых нужд (MX-запись) спрашивать все будут именно у адресов, которые прописаны как NS-сервера.

    Если у вас за `example.com` будут отвечать 2 разных сервера, то нужно примерно так:
    NS ns1.example.com.
    NS ns2.example.org.
    
    @ MX 10 mx.example.com.
    
    @    A     10.0.0.10     ;; хостер 1
    @    A     192.168.0.10  ;; хостер 2
    www  CNAME example.com.
    sub  CNAME other.service.on.another.example.org.
    ns1  A     10.0.0.9

    NS-сервера будут знать о двух, трёх и т.д. разных серверах, которые отвечают за 1 домен. Round robin работает по принципе "балансировщика" с нормальным распределением: одному браузеру от вернёт `10.0.0.10`, другому `192.168.0.10`. Спустя некоторое время может обоим выдать одинаковые или результаты наоборот.
    Ответ написан
    3 комментария