URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 87092
[ Назад ]

Исходное сообщение
"две DNS записи A типа одного имени на различные ip"

Отправлено har , 29-Окт-09 15:41 
Приветствую!
сейчас подключаем 2 провайдера, необходимо поправить отредактировать зоны ДНС на nic.ru чтобы допустим клиент при запросе узла vpn.test.ru(к примеру), видел сначало IP старого провайдера а потом если не достучался до него, переходил на IP нового провайдера.
подскажите как это можно сделать, и вообще можно ли делать две записи домена 3 уровня на различные IP


т.е. что то вроде этого

$TTL 86400
$ORIGIN RU.
TEST    86400    IN    SOA    ns3.nic.ru.    1111.mail.ru. (
            2006020926    ; serial
            14400    ; refresh
            3600    ; retry
            2592000    ; expire
            600    ; minimum ttl
            )
$ORIGIN test.ru.
@        NS    ns3.nic.ru.
        NS    ns.TEST.RU.
        MX    10 mail.TEST.RU.
        MX    20 mx.TEST.RU.
        MX    30 mx.TEST.RU.
ns        A    1.116.9.22
mail        A    1.116.9.23
$ORIGIN mx.test.ru.
@        A    1.116.9.24
        A    1.105.20.25
        A    1.251.57.26
$ORIGIN test.ru.
ftp        A    1.116.9.22
www        A    1.135.105.10
vpn        A    1.116.9.2   - адрес старого прова
                A       1.49.50.2   - (адрес нового прова для примера)
proxy        A    1.116.9.3
gate        A    1.116.9.4
WEBMAIL        CNAME    proxy.TEST.RU.


Содержание

Сообщения в этом обсуждении
"две DNS записи A типа одного имени на различные ip"
Отправлено Ziggy Stardust , 29-Окт-09 15:48 
>сейчас подключаем 2 провайдера, необходимо поправить отредактировать зоны ДНС на nic.ru чтобы
>допустим клиент при запросе узла vpn.test.ru(к примеру), видел сначало IP старого
>провайдера а потом если не достучался до него, переходил на IP
>нового провайдера.
>подскажите как это можно сделать,

Посредством только ДНС никак не сделать.

> и вообще можно ли делать две записи домена 3 уровня на различные IP

Можно.

>т.е. что то вроде этого

...
> vpn  A 1.116.9.2   - адрес старого прова
>      A 1.49.50.2   - (адрес нового прова для примера)

Так и делается. ДНС будет по очереди ай-пи отдавать.


"две DNS записи A типа одного имени на различные ip"
Отправлено har , 29-Окт-09 17:40 
>>сейчас подключаем 2 провайдера, необходимо поправить отредактировать зоны ДНС на nic.ru чтобы
>>допустим клиент при запросе узла vpn.test.ru(к примеру), видел сначало IP старого
>>провайдера а потом если не достучался до него, переходил на IP
>>нового провайдера.
>>подскажите как это можно сделать,
>
>Посредством только ДНС никак не сделать.

а как это можно сделать? скажите в каком направлении копать


>[оверквотинг удален]
>
>Можно.
>
>>т.е. что то вроде этого
>
>...
>> vpn  A 1.116.9.2   - адрес старого прова
>>      A 1.49.50.2   - (адрес нового прова для примера)
>
>Так и делается. ДНС будет по очереди ай-пи отдавать.

я так сделал, если запрашивать записи для vpn.test.ru то выдаются обе записи
но если делать пинг до vpn.test.ru то выбирается ip нового прова, а так как он еще не проключен то пинг уходит в никуда.
Т.е. сервис отвалился пока не удалил новый ip с nic.ru и пару часов ожидания обновления ДНС

И огромное спасибо за ответы  и терпение))


"две DNS записи A типа одного имени на различные ip"
Отправлено Amator , 30-Окт-09 20:01 
>[оверквотинг удален]
>
>я так сделал, если запрашивать записи для vpn.test.ru то выдаются обе записи
>
>но если делать пинг до vpn.test.ru то выбирается ip нового прова, а
>так как он еще не проключен то пинг уходит в никуда.
>
>Т.е. сервис отвалился пока не удалил новый ip с nic.ru и пару
>часов ожидания обновления ДНС
>
>И огромное спасибо за ответы  и терпение))

А что за ДНС-сервер ?
Вообще по умолчанию порядок выдачи ip предсказать невозможно (random-выдача):
раз:
1.116.9.2
1.49.50.2

другой раз тоже может быть так же (т.е. не Round Robin).
bind 8-9

Но ещё нужно помнить и про резолверы - они могут "перетасовать" выдачу
"по-своему", к примеру получили

1.49.50.2
1.116.9.2

а резолвер выбрал 1.116.9.2, потому что наш ip 1.116.9.122, т.е. из той же подсети.

Посмотрите в сторону sortlist.


"две DNS записи A типа одного имени на различные ip"
Отправлено Ziggy Stardust , 02-Ноя-09 07:59 
>>>сейчас подключаем 2 провайдера, необходимо поправить отредактировать зоны ДНС на nic.ru чтобы
>>>допустим клиент при запросе узла vpn.test.ru(к примеру), видел сначало IP старого
>>>провайдера а потом если не достучался до него, переходил на IP
>>>нового провайдера.
>>>подскажите как это можно сделать,
>>Посредством только ДНС никак не сделать.
>а как это можно сделать? скажите в каком направлении копать

Наверное проще всего в сторону динамического роутинга подумать.

Т.е. берете по блоку ай-пи у каждого провайдера. Регистрируете их в AS. Поднимаете BGP роутинг с обоими провайдерами. В итоге ай-пи от каждого провайдера может быть доступен через второго (в случае каких-либо проблем у первого).

Дальше настраиваете сервисы на ай-пи от того или иного провайдера в зависимости от требований.

>>> vpn  A 1.116.9.2   - адрес старого прова
>>>      A 1.49.50.2   - (адрес нового прова для примера)
>я так сделал, если запрашивать записи для vpn.test.ru то выдаются обе записи
>
>но если делать пинг до vpn.test.ru то выбирается ip нового прова, а
>так как он еще не проключен то пинг уходит в никуда.

ДНС совершенно точно по очереди ай-пи отдает. При пинге видимо локальный кеш встревает.


"две DNS записи A типа одного имени на различные ip"
Отправлено Amator , 02-Ноя-09 10:05 
>ДНС совершенно точно по очереди ай-пи отдает. При пинге видимо локальный кеш
>встревает.

Из оф.документации на bind 9 (https://www.isc.org/software/bind/documentation/arm95):

The sortlist Statement

The response to a DNS query may consist of multiple resource records (RRs) forming a resource records set (RRset). The name server will normally return the RRs within the RRset in an indeterminate order (but see the rrset-order statement in the section called “RRset Ordering”). The client resolver code should rearrange the RRs as appropriate, that is, using any addresses on the local net in preference to other addresses. However, not all resolvers can do this or are correctly configured. When a client is using a local server, the sorting can be performed in the server, based on the client's address. This only requires configuring the name servers, not all the clients.

The sortlist statement (see below) takes an address_match_list and interprets it even more specifically than the topology statement does (the section called “Topology”).

То есть will normally return the RRs within the RRset in an _indeterminate_ order и The client resolver code should rearrange the RRs as appropriate. В более старых вроде да - по умолчанию Round Robin. А на счёт локального кеша - это да. Тут я так понимаю человек хочет, чтобы ip постоянно в одной последовательности были, поэтому вроде подходит для _этой_ цели sortlist.


"две DNS записи A типа одного имени на различные ip"
Отправлено Amator , 02-Ноя-09 10:09 
>>ДНС совершенно точно по очереди ай-пи отдает. При пинге видимо локальный кеш
>>встревает.
>
>Из оф.документации на bind 9 (https://www.isc.org/software/bind/documentation/arm95):
>

На bind 9.5 точнее.