Возможен ли IPv4 anycast DNS в одной локальной сети?


1

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

У меня есть два DNS-сервера в моей локальной сети. Поскольку я узнал, что наличие двух DNS-серверов на разных IP-адресах не помогает избыточности (короткая причина: хосты не всегда будут переключать IP-адреса и будут продолжать использовать IP-адреса автономного сервера), я хотел бы настроить некоторые anycast-IP-адреса таким образом, чтобы DNS запросы будут отправлены на любой работающий DNS-сервер.

Что касается anycast, он в основном используется для маршрутизации трафика на разные сайты с использованием BGP или в разные пункты назначения в большом сайте с несколькими маршрутизаторами. В моем случае есть только один коммутатор, соединяющий все, и маршрутизация в локальной сети доходит до ARP.

Я не могу найти никакой информации о том, как можно настроить anycast в этой ситуации. Вы можете просто назначить двум или более хостам один и тот же IP-адрес, и коммутатор определит, на какой порт отправлять пакеты, отбросит порт и очистит запись ARP, если сервер переходит в автономный режим? Будут ли хосты переиздавать ARP-запросы, если пакеты внезапно перестанут отвечать? Вы должны поделиться MAC-адресом, а также IP? Или нельзя использовать anycast с этой настройкой, и требуется протокол маршрутизации?


Краткая причина: хосты не всегда будут переключать IP-адреса и будут продолжать использовать IP-адрес автономного сервера. Если какая-либо станция не переключается на вторичный DNS при сбое первичного сервера, на этой станции возникают проблемы. Хосты должны переключить DNS-сервер на его вторичный сервер, если его основной сервер НЕ отвечает вообще. Если у вас есть 2 DNS-сервера, вы можете настроить 2 IP-адреса на вашем DHCP, где первый претендует на DNS1 в качестве основного, а DNS2 - на вторичный, а второй - на обратный. В случае сбоя одного из серверов вы должны отключить его службу / интерфейс DNS или отключить его, и все пользователи будут использовать другой DNS-сервер.
Акина

@Akina: Вот как это должно работать, но, видимо, довольно хорошо известно, что большинство реализаций DNS-распознавателя терпят неудачу (см. Ссылку в вопросе). В моем случае, даже если основной DNS-сервер выключен, многие устройства не переключаются на дополнительный DNS-сервер, а те, которые случайным образом переключаются на основной (автономный) сервер, а затем имеют ошибки времени ожидания DNS.
Malvineous

Anycast работает только с маршрутизаторами между ними. Не может работать по-другому.
Даниэль Б

Ответы:


0

Возможен ли IPv4 anycast DNS в одной локальной сети?

Нет, anycast не работает таким образом. Ваши DNS-клиенты увидят, что IP-адрес настроенного DNS-сервера находится в той же подсети, ARP для его MAC-адреса, а затем попытаются отправить пакет напрямую. Находясь в той же подсети, коммутатор просто перенаправит пакет на сервер.

Вы можете просто назначить двум или более хостам один и тот же IP-адрес, и коммутатор определит, на какой порт отправлять пакеты, отбросит порт и очистит запись ARP, если сервер переходит в автономный режим?

Нет, назначение двух разных систем с одинаковым IP-адресом вызовет конфликт IP-адресов. Это может вызвать такие проблемы, как потеря пакетов и прерывистое соединение. Не делай этого.

Будут ли хосты переиздавать ARP-запросы, если пакеты внезапно перестанут отвечать?

Если весь сервер выходит из строя, то да, клиент начнет отправлять запросы ARP. Если происходит сбой только службы DNS (сеть все еще работает), ARP-вход не происходит. Запросы DNS будут просто превышены по времени или сбой.

Вы должны поделиться MAC-адресом, а также IP?

Нет, это также приведет к проблемам в сети.

Или нельзя использовать anycast с этой настройкой, и требуется протокол маршрутизации?

Протокол требуется.


ТЛ; др

Anycast сложен и не подходит для небольших одиночных развертываний. Придерживайтесь двух DNS-серверов, которые у вас есть.


1
К сожалению, два DNS-сервера, которые у меня есть, не работают, потому что когда один из них отключается, половина компьютеров в сети перестает работать. Когда вы говорите, что назначение одного и того же IP-адреса приведет к потере пакета, почему это так? Предполагая, что каждый сервер имеет свой уникальный IP-адрес плюс второй IP-адрес, который одинаков на обоих серверах, предположительно пакеты с общим IP-адресом будут отправляться на один или другой компьютер, но они не будут потеряны? Это похоже на то, как работает anycast, посылая пакеты случайным образом на одну из конечных точек. Поскольку DNS не имеет состояния и запросы помещаются в отдельные пакеты, в этой ситуации это может показаться правдоподобным.
Malvineous
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.