Возможен ли 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-адрес. (и услуги).