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

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

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

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

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

1 ответ

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

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

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

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

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

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

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

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

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

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


ТЛ; др

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

Как упоминалось в ответе Стэнли Ю, в локальной сети просто невозможно выполнить Anycast из-за того, что сеть работает на уровне 2 и Anycast, требуя уровня 3 и маршрутизатора между вашими клиентами и вашим DNS.

Что вы могли бы сделать, в зависимости от вашей инфраструктуры, - это простая группа отработки отказа для ваших DNS-серверов, например CARP/VRRP или Heartbeat/Pacemaker, чтобы в случае сбоя одного DNS-сервера другой (-ые) перехватил его IP-адрес. (и услуги).

Другие вопросы по тегам