LINUX.ORG.RU
ФорумAdmin

Знатокам squid. Два интернет провайдера.

 


0

1

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

Подключение к первому провайдеру идет статическим IP

Подключение ко второму - через его прокси-сервер.

★★★★★

Могу подсказать как статично использовать в сквиде двух+ провайдеров. Динамику и проверку работоспособности аплинков уже придется реализовывать скриптами.

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

service squid reload точно работает (и шустро, в отличии от рестарта).

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

Упс, не дочитал сообщение. Если второй через проксю, тогда настроить сквид через fail-over режим. Кажить нужно ставить патч на него.

iron ★★★★★
()

Если проверку можно выполнить через external_acl - то тут вообще можно не трогать сквид.

У сквида все acl поделены на медленные (запросы по сети или внешние программы) и быстрые (поиск по своему конфигу)

Например - http_access & http_access2 можно использовать любые acl, а в tcp_outgoing_address - только быстрые. http://wiki.squid-cache.org/SquidFaq/SquidAcl#Fast_and_Slow_ACLs

У тебя выбор идет не на уровне выбора исходящего адреса, а на уровне cache_peer_access (который может использовать медленные acl), так что можно написать простенький внешний acl который будет либо разрешать доступ через cache_peer либо запрещать (т.е. самому выполнять запрос)

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

Запустив у себя сквид-балансер (который будет пропорционально толщине аплинков делить каналы) и один из бекендов (второй готовый у провайдера) очень просто и стандартно.

psv1967 ★★★★★
()

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

да

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

я так понял, что psv1967 предлогает запустить 2 сквида.

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

Только непонятно как оно будет работать в случае упадания одного из линков.

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

Почитав тред мне даже немного стыдно показывать такое решение:

acl touplink2 src "/etc/squid/touplink2.acl"
acl touplink3 src "/etc/squid/touplink3.acl"

tcp_outgoing_address <ip_of_uplink2_interface> touplink2
tcp_outgoing_address <ip_of_uplink3_interface> touplink3
tcp_outgoing_address <ip_of_uplink1_interface>

[root@router ~]# cat /etc/squid/touplink2.acl
192.168.14.126
192.168.14.194

[root@router ~]# cat /etc/squid/touplink3.acl
192.168.18.142
192.168.18.166
192.168.18.116
192.168.18.154

Пингом шлюза провайдера проверяем, что аплинк живой, иначе — очищаем файл/переносим записи в другой файл ACL и делаем service squid reload. В том же скрипте можно добавить перезапись ip rules для source based роутинга, но это уже выходит за рамки задачи ОП'а.

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

Почитав тред мне даже немного стыдно показывать такое решение

А я вот такой костыль сделал:

в конфиге сквида:

include /etc/squid/dynamic.conf

В dynamic1.conf и dynamic2.conf вынес настройки которые надо менять в зависимости от провайдера. Так же проверяю несколько хостов пингом, если нет - то копирую один из конфигов в dynamic.conf и релоажу сквид.

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