LINUX.ORG.RU
ФорумAdmin

Резервирование интернет канала


0

0

Всем привет!

Есть такая схемка:

internet1 internet2
| |
parent squid1 parent squid2
\ /
child squid
|
клиенты


Вся эта хрень крутится на одном сервачке. Используется для балансировки нагрузки на два интернет канала.
child squid настроен так:
cache_peer 127.0.0.2 parent 8081 3131 round-robin
cache_peer 127.0.0.3 parent 8082 3132 round-robin

Есть одна проблемка, если падает первый канал и запрос попадает на parent squid1, то клиент увидит ошибку(network unreachable, no route to host...)!
То-есть если child squid получил страничку с ошибкой от какого-то parent squid`а, то он не пытается пойти через другой parent squid, а отдаёт страничку с ошибкой клиенту.

Вопрос: как заставить child squid делать запрос у другого squid`а, если первый вернул ошибку?

Ответ на: комментарий от kilolife

> Правильная схема выглядит как то вот так.
Ну если есть своя as то да. Оба провайдера вряд-ли захотят мучатся с "серым" номером as.
Ну и эта, если оба провайдера отдают default route, то mulitipath не нужен ;)

a_andry
()

а там с таймаутами не получится ли так что на каждый запрос будет таймаут на подключение перед тем как запрос перебросить? это тоже надо продумать.

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

Если оба провайдера отдают default route, то трафик польется только через одного. (сюрприз)
Вот если бы они отдавали оба full view - тогда конечно, BGP выберет самый короткий маршрут и соответственно прова у которого короче маршрут для запрошенного соединения.

Показанная выше схема не требует своей AS, достаточно зебры и мультипутёвого роутинга для приблизительной балансировки нагрузки по каналам и перенаправления всего трафа в работающий канал, если другой упал.

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

Эти 2 parent squid`a и child squid находятся на одном сервачке, к нему подключено 2 модема(модемы настроены роутерами). 2 интернет канала от одного провайдера. К маршрутизаторам провайдера я доступа не имею!
В таком случае мне BGP поможет?

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

> сюрприз
удивлен :D
> Показанная выше схема не требует своей AS
гммм, а как вы себе представляете настройку bgp, а имеено как будет выглядеть команда neighbor в такой ситуации?

a_andry
()

моё имхо, надо скрипты сделать чтобы правили конфиг если видять что канал упал. Да, эта схема имеет недостатки и текущие запросы продолбаются, зато просто и надёжно :).

Кстати, а нельзя ли nginx сделать под это дело(транспарент прокси) ? :). Переменные в proxy_pass он умеет, пересылать запрос на другой бэкенд если основной нерабочий тоже :).

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

>моё имхо, надо скрипты сделать чтобы правили конфиг если видять что канал упал. Да, эта схема имеет недостатки и текущие запросы продолбаются, зато просто и надёжно :).

этот вариант не подходит.

>Кстати, а нельзя ли nginx сделать под это дело(транспарент прокси) ? :). Переменные в proxy_pass он умеет, пересылать запрос на другой бэкенд если основной нерабочий тоже :).

хз.

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