Переключение между двумя каналами связи
О чем этот текст?
Бывает так, что у компании заведено две линии Интернета от разных провайдеров. Это очень выручает, когда падает канал одного провайдера, то можно всегда переключится на другого. При ведении финансовых операций через Интернет, два канала это де-факто стандарт организации доступа в Интернет. Этот текст рассказывает, как можно сделать так, чтобы 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 или перезапускай если уже запущен, чтобы правила применились. Готово.