The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Прокси SQUID 3 шт., каналов в интернет 2 шт. Резервирование."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Настройка Squid и других прокси серверов (Разное)
Изначальное сообщение [ Отслеживать ]

"Прокси SQUID 3 шт., каналов в интернет 2 шт. Резервирование."  +/
Сообщение от Mego on 28-Июн-12, 12:04 
Такая вот схемка:
http://s40.radikal.ru/i089/1206/ed/e43ce549001b.png


SQUID1 - Сервер с def route провайдера 1 (PROV1)
SQUID2 - Сервер с def route провайдера 2 (PROV2)
SQUID3 - Сервер пока вообще без def route
Все прокси непрозрачные.
LAN - отдельный VLAN между серверами

Хочется чтобы SQUID3 при падении канала PROV1, ходил через SQUID2 и PROV2. А когда PROV1 восстановится ходил через SQUID1 и PROV1.

Думал решить это при помощи LARTC. Однако может squid сам умеет отслеживать "жив или мертв" инет за parent proxy ? Пользователям за SQUID3 нужен стабильный и фильтрованный инет, но чтобы видели они его только через одну дырку - порт 3128 на сервере SQUID3. Зафильтрую все кроме этого порта iptables'ами.

Возможно реализовать схему подобным образом?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Прокси SQUID 3 шт., каналов в интернет 2 шт. Резервирование."  +/
Сообщение от user314 on 28-Июн-12, 16:18 
Возможно поможет
http://habrahabr.ru/post/76610/

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Прокси SQUID 3 шт., каналов в интернет 2 шт. Резервирование."  +/
Сообщение от Etch on 29-Июн-12, 06:04 
А как это делать через LARTC? Что-то я не нашёл решения там - https://www.opennet.ru/docs/RUS/LARTC/
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Прокси SQUID 3 шт., каналов в интернет 2 шт. Резервирование."  +/
Сообщение от Mego on 30-Июн-12, 20:49 
> А как это делать через LARTC? Что-то я не нашёл решения там
> - https://www.opennet.ru/docs/RUS/LARTC/

4.2.2. Распределение нагрузки.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Прокси SQUID 3 шт., каналов в интернет 2 шт. Резервирование."  +/
Сообщение от Etch on 30-Июн-12, 21:21 
>> А как это делать через LARTC? Что-то я не нашёл решения там
>> - https://www.opennet.ru/docs/RUS/LARTC/
> 4.2.2. Распределение нагрузки.

Так это же просто балансировка, при падении одного из каналов половина соединений уйдёт в никуда.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

3. "Прокси SQUID 3 шт., каналов в интернет 2 шт. Резервирование."  +/
Сообщение от Аноним (??) on 29-Июн-12, 20:47 
>[оверквотинг удален]
> Все прокси непрозрачные.
> LAN - отдельный VLAN между серверами
> Хочется чтобы SQUID3 при падении канала PROV1, ходил через SQUID2 и PROV2.
> А когда PROV1 восстановится ходил через SQUID1 и PROV1.
> Думал решить это при помощи LARTC. Однако может squid сам умеет отслеживать
> "жив или мертв" инет за parent proxy ? Пользователям за SQUID3
> нужен стабильный и фильтрованный инет, но чтобы видели они его только
> через одну дырку - порт 3128 на сервере SQUID3. Зафильтрую все
> кроме этого порта iptables'ами.
> Возможно реализовать схему подобным образом?

Я когда-то давно-давно на FreeBSD делал так, схема работает до сих пор исправно.

#!/bin/sh

GW1=8.8.8.8
/sbin/ping -q -c 4 $GW1 > /dev/null 2>&1

if [ $? != 0 ]; then
        if [ -f ~vit/failed ]; then                                                                                                                                                                                                          
                 exit 1                                                                                                                                                                                                                      
        else                                                                                                                                                                                                                                
                perl -pi -e "s/#*cache_peer/cache_peer/g" /usr/local/etc/squid/squid.conf                                                                                                                                                    
                perl -pi -e "s/#*never_direct/never_direct/g" /usr/local/etc/squid/squid.conf                                                                                                                                                
                                                                                                                                                                                                                                            
                /usr/local/etc/rc.d/squid reload                                                                                                                                                                                            
                ~vit/inet_failed.pl                                                                                                                                                                                                          
                touch ~vit/failed                                                                                                                                                                                                            
        fi                                                                                                                                                                                                                                  
else                                                                                                                                                                                                                                        
        if [ -f ~vit/failed ]; then                                                                                                                                                                                                          
                perl -pi -e "s/#*cache_peer/#cache_peer/g" /usr/local/etc/squid/squid.conf                                                                                                                                                  
                perl -pi -e "s/#*never_direct/#never_direct/g" /usr/local/etc/squid/squid.conf                                                                                                                                              
                                                                                                                                                                                                                                            
                /usr/local/etc/rc.d/squid reload                                                                                                                                                                                            
                ~vit/inet_restored.pl                                                                                                                                                                                                        
                rm ~vit/failed                                                                                                                                                                                                              
        else                                                                                                                                                                                                                                
                exit 1                                                                                                                                                                                                                      
        fi                                                                                                                                                                                                                                  
fi


Добавляешь в крон на проверку раз в минуту.
~vit меняешь на свое имя.
cache_peer в squid.conf пишешь через кого ходить.
inet_restored.pl и inet_failed.pl это скрипты, к-е на почту шлют уведомления

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру