LINUX.ORG.RU
ФорумAdmin

dnat и несколько --to-destination

 ,


1

3

С удивлением прочитал в мане:

In Kernels up to 2.6.10 you can add several --to-destination options. For those kernels, if you specify more than one destination address, either via an address range or multiple --to-destination options, a simple round-robin (one after another in cycle) load balancing takes place between these addresses. Later Kernels (>= 2.6.11-rc1) don't have the ability to NAT to multiple ranges anymore.

При этом диапазон ip и портов работает:

--to-destination [ipaddr[-ipaddr]][:port[-port]]

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

★★★★

Это обычно плохая идея. Сервер умер, а ведро всё на него запросы шлёт. Поставь haproxy, он умеет балансировать любые TCP соединения и проверять живость бэкендов.

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

Это обычно плохая идея. Сервер умер, а ведро всё на него запросы шлёт.

Никто не мешает мне динамически изменять правила в цепочке, по внешнему событию.

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

Не мешает. Вопрос - нафига? haproxy может проксировать хренову гору соединений и умеет KSPLICE, позволяющий даже не копировать данные в юзерспейс а пересылать их в исходящий сокет внутри ядра. Не надо изобретать велосипед, его уже давно придумали.

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

haprox

Я не уверен, что это дело у меня гладко войдет в сеть. Дело в том, что предпалагается балансировать не на роутере, а рядом. Если бы на роутере, то я бы вообще lvs взял.

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

TCP это L4, ядро проксирует тоже в L4, где ты тут L7 увидел? Это энтерпрайзно решение, которое давно себя зарекомендовало. А костыли с внешними проверяльщиками, которые (по крону?) будут проверять доступность бэкендов и править правила это какой-то колхоз.

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

Да, tcp оказывается тоже умеет. Но не udp (а мне нужно). L7 я увидел на их сайте - они там отмазывались, что L7 это не сильно быстро. Просто эта штука ещё и http проксирует.

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

Я собственно не отрицаю, что haproxy крут, но более дубовое и универсальное решение мне больше нравится - нечему ломаться.

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