LINUX.ORG.RU
ФорумAdmin

отказоустойчивый dns\dhcp\router

 , , , ,


0

2

посоветуйте какие решения можно применить в даной ситуации:

имеется сеть примерно как на схеме: https://ibb.co/p41qYVg

хочется переделать примерно так: https://ibb.co/BTc3nTL

на даный момент 2 linux шлюза каждый обслуживает часть локалки, на сервере dns(unbound), dhcp (isc), nat, полисинг и еще по мелочи, но это основное. третий сервер в резерве с конфигами обоих. хочется разделить dns\dhcp на оттдельный сервер, роутинг на другой и каждый забэкапить но с автоматиечским переключением.

  1. dhcp - нашел функцию failover но как понял там выдаются ip из пула случайные и у каждого половина общего пула. не подходит. выдаем по option82 (свитч\порт). поидее можно синхронизировать конфиги, будет работать при отвале?
  2. unbound - тут пока решение не нашел.
  3. тут сложнее, все что не находил восновном рачитано на сервисы, типа лег сервис, переносим ip на другой сервер и работаем дальше или подобные решения. Но тут проблема что каждый сервер сейчас натит 100-150 ip.

Собственно вопрос: может у кого-то есть подобная схема в работе, как вы зарезервировали свое оборудование?

так же еще один вопрос по сетевым картам чтоб не создавать еще одну тему: если две двухпортовые x520 10G объеденить в 1 bond (т.е. 40гбит) в двухпроцессороном сервере будет ли нормально работать?

По поводу третьего вопроса: например, в VyOS есть conntrack-sync: https://docs.vyos.io/en/latest/configuration/service/conntrack-sync.html

Вот пример использования в их HA guide: https://docs.vyos.io/en/latest/configexamples/ha.html#nat-and-conntrack-sync

Можно либо использовать VyOS, либо посмотреть, на каких они инструментах это реализовали и сделать подобное самому.

DHCP failover там тоже есть, кстати.

Зачем нужен failover для DNS резолвера - я не понял. Просто настраиваете два резолвера на двух разных железках и раздаёте оба адреса клиентам (по DHCP)

PS: вот бы все так вопросы задавали (со схемами)…

Harliff ★★★★★
()
Последнее исправление: Harliff (всего исправлений: 3)

если две двухпортовые x520 10G объеденить в 1 bond (т.е. 40гбит) в двухпроцессороном сервере будет ли нормально работать?

Процессор процессору рознь. Supermicro ставит один Xeon D-1518 2.20GHz в сервер с двумя X552 и ещё 6-ю гигабитными.

AS ★★★★★
()
Ответ на: комментарий от Harliff

вобщем посидел подумал и понял что чем проще конструкция тем она надежнее.

набросал примерную схему: https://ibb.co/QQJmTMc

смысл вот в чем, если програмными средстваими решать сильно сложно получается и много настроек и нюансов, проще сделать через железо

на примере 2х серверов:

агрегация - 8 портов - 4 порта на 1 сервер и 4 на второй, все вланы и настройки в пределах агрегации одинаковые у всех портов, но последние 4 порта выключены (идут на второй сервер).

перемычка напрямую между двумя серверами для синхронизации конфигов. далее собственно failover который пингует сервер1, 20-30 пингов без ответа, отключает 1-4 порты и включает 5-8. да, перестроение займет какоето время но в даной ситуации это не критично, главное чтоб все это сделается автономно. в теории вроде-бы ничего так звучит…

на счет дубликата dns слышал ранее что виндовсы да и думаю сейчас многие роутеры второй днс либо не используют либо долбят всеравно первый и по таймауту переходят на второй и так при каждом запросе, т.е. интернет вроде-бы и есть но как бы подождать прийдется)

forella
() автор топика
Ответ на: комментарий от AS

тут немного в другом вопрос, что трафик будет ходить между двумя портами на карте + между двумя картами на одной шине, к примеру PCIe x8 и райзер на 2 карты x4 + к этому всему 2 процессора, вот собственно вопрос есть ли какието нюансы в таком исполнении? т.к. везде в мануалах видел когда 1 карту ставят в bond, а тут идея 2 карты поставить в 1 bond. (а так это хочется впихнуть в hp dl360p gen8 с 2*e5-2660v2)

forella
() автор топика
Ответ на: комментарий от forella

другом вопрос, что трафик будет ходить между двумя портами на карте

Тут не знаю. У PCIe топология звезда, так что пихать можно сколько вообще пихается наверное. Это с точки зрения шины, а с точки зрения процессоров - вопрос.

т.к. везде в мануалах видел когда 1 карту ставят в bond

А зачем одну карту в bond ставить?

AS ★★★★★
()
Ответ на: комментарий от forella

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

Обычно так и есть. Тут идей, кроме как локальный кэширующий DNS на каждую рабочую станцию поставить, нет. Хотя... Есть VRRP, он для резервирования маршрутизаторов, но кто сказал, что на маршрутизаторе DNS быть не может, да и вообще что оно маршрутизатор.

AS ★★★★★
()
Ответ на: комментарий от AS

Есть 4 портовая карта по 1г, завернули 4 порта в один влан, и в агрегацию, получили 4г. Дёшево и ничего менять не нужно.

forella
() автор топика
Ответ на: комментарий от AS

Вот поэтому лучше 1 но стабильный, чем 2 кое как. Хотелось бы услышать конечно мнение на счёт второй схемы, ни у кого нет подобной реализации, или решения из первого сообщения поста?

forella
() автор топика
Ответ на: комментарий от forella

Есть 4 портовая карта по 1г, завернули 4 порта в один влан, и в агрегацию, получили 4г.

Так это, считай, 4 карты, а не одна:

03:00.0 Ethernet controller: Intel Corporation 82571EB/82571GB Gigabit Ethernet Controller (Copper) (rev 06)
03:00.1 Ethernet controller: Intel Corporation 82571EB/82571GB Gigabit Ethernet Controller (Copper) (rev 06)
04:00.0 Ethernet controller: Intel Corporation 82571EB/82571GB Gigabit Ethernet Controller (Copper) (rev 06)
04:00.1 Ethernet controller: Intel Corporation 82571EB/82571GB Gigabit Ethernet Controller (Copper) (rev 06)

AS ★★★★★
()
Ответ на: комментарий от forella

что виндовсы

Ещё хуже, могут на второй не переходить. Во всяком случае раньше 2к/xp такое встречалось.

anc ★★★★★
()
Ответ на: комментарий от AS

Логически да, 4 сетевых интерфейса, физически 1 карта. Отвалится карта пропадут все 4 интерфейса, поэтому и вопрос, как хорошо взаимодействуют 2 физические карты работая в паре и плюс к этому когда у них не по одному порту.

forella
() автор топика
Ответ на: комментарий от forella

Такое работало ещё 20 лет назад, две сетевки по 4 порта. Два сбоя в работе были вызваны исключительно кривостью рук. Первый в момент замены старых роутеров, почти незаметно как планировалось не получилось. Второй - пришла новая гопкомпания «а мы всё здесь перестроим...».
В горячем резерве стоял точно такой же. Говорят что лет через 10-12 пригодился, на основном что-то из железок глобально сдохло, так что он отьехал полностью.

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от forella

Логически да, 4 сетевых интерфейса, физически 1 карта.

И физически тоже 4 интерфейса, просто на одной плате. У них же PCIe каналы разные.

Отвалится карта пропадут все 4 интерфейса, поэтому и вопрос

Это единственное, что их объединяет с точки зрения эксплуатации.

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)

Самое геморройное тут ИМХО именно NAT, если для него нужна отказоустойчивость без простоя. ISC DHCP failover в продакшене лично я использую уже больше 10 лет, полет там нормальный(были когда-то проблемы с синхронизацией lease-ов, но они починены давным-давно).

DNS - либо 2 адреса на клиенты спускать, либо VRRP. Для NAT тоже можно VRRP, но нужно понимать что: это будет failover, не load balancing.

Чтобы в эту схему добавить балансировку нагрузки - нужно бить клиентов на пулы вручную и делать несколько VRRP-инстансов. И всё равно, при отвале одного сервера - будет простой, т.к. conntrack на второй сервер никто не перенесет.

Вообще тред годный, узнал вот про то, что в VyOS есть conntrack-sync, раньше думал что подобное - это удел закрытых ынтерпрайзных железок...

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от vel

conntrackd существует давно

Век живи, век учись - а всё равно дураком помрешь :-)

Надо будет погонять в тестовой среде если^W когда будет время

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

Век живи, век учись - а всё равно дураком помрешь :-)

Присоединяюсь.

anc ★★★★★
()
Ответ на: комментарий от Pinkbyte

раньше думал что подобное - это удел закрытых ынтерпрайзных железок

Ага, как будто в этих железках прям всё самописное и проприетарное.

anonymous
()
Ответ на: комментарий от forella

на счет дубликата dns слышал ранее что виндовсы да и думаю сейчас многие роутеры второй днс либо не используют либо долбят всеравно первый и по таймауту переходят на второй и так при каждом запросе, т.е. интернет вроде-бы и есть но как бы подождать прийдется)

  1. Вам известно, какое ПО используют клиенты? Тогда проверьте его на такое поведение.

  2. можно сделать DNS failover на одном IP (например, на VRRP-адрес повесить); хотя я такое не тестировал.

PS: тред не читай @ сразу отвечай :)

Harliff ★★★★★
()
Последнее исправление: Harliff (всего исправлений: 1)

А какая бизнес цель всего этого?

Harliff ★★★★★
()
Ответ на: комментарий от AS

А зачем одну карту в bond ставить?

Что бы потом поставить вторую и добавить её в этот же bond (и не перенастраивать всё); иных вариантов не вижу.

Harliff ★★★★★
()
Ответ на: комментарий от forella

набросал примерную схему: https://ibb.co/QQJmTMc

По схеме:

  • а что за роутер в центре, к которому всё подключено? Его резервировать не планируется?
  • облако сверху - это интернет?
  • что делает failover (1.1.1.1 + 2.2.2.1), который на схеме снизу?
  • что делают 2.2.2.2 и 2.2.2.3, которые на схеме справа?
  • зачем столько линков (4+4) до DNS/DHCP (1.1.1.2, 1.1.1.3), которые на схеме слева? Будет огромный DNS трафик?
  • серверы есть? Куда подключатся (к каким устройствам на схеме)? Что на серверах?
  • клиенты - куда подключаются (к каким устройствам на схеме)? Чем пользуются клиенты (доступ в интернет, доступ к серверам)?
Harliff ★★★★★
()
Ответ на: комментарий от Pinkbyte

Век живи, век учись - а всё равно дураком помрешь :-)

Ага. У меня тут тоже внезапно запустился на днях после обновления. :-) Но что-то заметно CPU хавает: уверенно первое место в top держит.

AS ★★★★★
()
Ответ на: комментарий от Harliff

Это все для интерет провайдера.

  • в ядре будет nexus 3064
  • да, это аплинки в интернет, 2 bgp(в один объеденил) и 1 статика с парой десятков ip.
  • так сказать «failover» это обычная пинговалка запускающая скрипт при обрыве пинга, в даном случае отключает 4 линка проблемных и включает 4 резервных. но насколько помню у циски точно есть нюанс что в агрегации все порты должны быть с одинаковыми настройками(т.е. нельзя 4 порта выключит ьа 4 включить), нужно будет проверить.
  • перепутал названия серверов, то схему просто для наглядности нарисовал, 4+4 линка должны быть справа, это маршрутизаторы nat+полисер с 12-15гбит трафика поэтому 4 линка(2 карты) даже если одна карта отвалится трафик всеравно вместится в оставшие 2 порта.
  • слева опять же хватит и 100мбит, схема просто для наглядности, там на dns 7-8к запросов ну и на dhcp 7-8тыс аренд.
  • провайдер…так что клиенты все что угодно может быть.

vrrp, conntrack - скорее всего в даной схеме не подойдут т.к. локальных подсетей 30+ и внешних ip 150+, как они будут одновременно на нескольких серверах подняты? один по vrrp еще можно сделать, а 150шт как? так же dhcp relay 2шт.. а так получается 1 сервер с поднятыми всеми ip и сервисами, а второй оттдельным шнурком соединен для синхронизации, а остальные порты выключены при этом все vlan, ip и сервисы подняты но не имеющие доступа наружу т.к. линк физически выключен.

forella
() автор топика
Ответ на: комментарий от forella

один по vrrp еще можно сделать, а 150шт как?

Как маршрутизировать их между серверами и остальной сетью? Через OSPF/RIP/whatever. Если нет BGP free-core и есть route-рефлекторы - можно через iBGP, но лучше не надо

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от forella

один по vrrp еще можно сделать, а 150шт как?

Я бы ansible для этого использовал. См. https://ansible-for-network-engineers.readthedocs.io/_/downloads/ru/latest/pdf/

Маршрутизитровать - например, через OSPF.

скорее всего в даной схеме не подойдут т.к. локальных подсетей 30+

VRRP + OSPF — для > 30 локальных подсетей (на одной паре маршрутизаторе, на разных суммарно штук 100 будет) — полёт нормальный.

Harliff ★★★★★
()
Последнее исправление: Harliff (всего исправлений: 3)
Ответ на: комментарий от forella

vrrp, conntrack - скорее всего в даной схеме не подойдут т.к. локальных подсетей 30+ и внешних ip 150+

vrrpd перекидывает IP-адрес между хостами. Например адрес default gw между двумя маршрутизаторами.

AS ★★★★★
()
Ответ на: комментарий от forella

Лучше сразу два вводить в эксплуатацию. Если запуститесь на одном, то второй потом добавлять сложнее будет.

Harliff ★★★★★
()
Ответ на: комментарий от Harliff

Второй если будет то с аналогичным конфигом и переключаться руками, т.к. бюджет не очень позволяет сразу 2 железки. Да и как показывает практика довольно надёжные железки.

forella
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.