Переключение между двумя каналами связи

    О чем этот текст?

    Бывает так, что у компании заведено две линии Интернета от разных провайдеров. Это очень выручает, когда падает канал одного провайдера, то можно всегда переключится на другого. При ведении финансовых операций через Интернет, два канала это де-факто стандарт организации доступа в Интернет. Этот текст рассказывает, как можно сделать так, чтобы Squid при пропадании одного канала - переключался на другой автоматически. А при возобновлении связи на первом канале, Squid бы переключался обратно. Это будет происходить при наличии отдельных прокси(не важно каких) на этих двух каналах(по одному прокси на каждый канал).

    Примечание

    Прежде чем приступать к практике, убедись, что ты знаешь и понимаешь назначение следующих директив Squid:

    Основная часть

    Определяем важный, обязательный ACL с именем all. Он включает в себя все возможные IP адреса протокола IPv4. Потому и его название - all(Все).

    acl all src 0.0.0.0/0.0.0.0

    Определяем ACL для пользователей нашей сети(192.168.1.0).

    acl ournet src 192.168.1.0/24

    Открываем доступ нашей сети.

    http_access allow ournet

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

    http_access deny all

    Определяем, что у нас есть некие два канала(не Squid).

    cache_peer firstproxy.company.ru sibling 3128 7 proxy-only default round-robin
    cache_peer secondproxy.company.ru sibling 3128 7 proxy-only round-robin

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

    never_direct allow ournet

    Примечание: Если центральные прокси - Squid, то можно использовать ICP запросы между нашим и центральными прокси. Тогда необходимо писать

    cache_peer firstproxy.company.ru sibling 3128 3130 proxy-only default round-robin

    cache_peer secondproxy.company.ru sibling 3128 3130 proxy-only round-robin

    При условии, что ICP запросы слушаются на 3130 порту.

    Примечание 2: Если необходимо, чтобы наш прокси проходил авторизацию по некоторой учетке, то необходимо использовать следующий вариант:

    cache_peer firstproxy.company.ru sibling 3128 7 proxy-only default round-robin login=user:password

    Где вместо user следует писать имя учетки, а password - пароль от нее. По второму прокси - аналогично. Либо там может и не нужна авторизация.

    Запускай Squid или перезапускай если уже запущен, чтобы правила применились. Готово.