У меня возникли трудности с настройкой Squid 3.3 для выполнения "балансировки нагрузки" по нескольким каналам WAN (используя случайные ACL + tcp_outgoing_address options), а также иметь «обратный прокси».
Он отлично работает, когда я настраиваю один (балансировка нагрузки) или другой (обратный прокси), но когда оба настроены, обратный прокси больше не работает правильно.
Захваты пакетов показывают трафик обратного прокси, который обычно отправляется через интерфейс LAN, а теперь выводится через интерфейс WAN (и поэтому не достигает внутренних хостов в LAN). Ясно что-то о "tcp_outgoing_address"настройка также применяется к трафику обратного прокси, а не только к трафику прямого прокси.
Ниже я использую конфигурацию балансировки нагрузки:
acl fiftyPercent random 0.5
tcp_outgoing_address <<WAN1-IP-HERE>> fiftyPercent
tcp_outgoing_address <<WAN2-IP-HERE>>
Обратитесь - http://wiki.squid-cache.org/Features/AclRandom
Я слишком мало знаю о Squid, и мои поиски бесчисленных сообщений (пока) ничего не дали. Кто-нибудь знает, как я могу применить балансировку нагрузки только для прямого прокси-трафика, и при этом обратный прокси-трафик будет работать так, как будто он не установлен?
Я понял, как исправить свою проблему.
Хотя предложение Друки создать ACL для обратного прокси и применить tcp_outgoing_address
этот тег казался почти очевидным, я понятия не имел, с чего начать, не говоря уже о том, как ACL определяются / обрабатываются.
Сначала мне нужно было выяснить, как интерпретируется Squid.conf (т.е. сверху вниз для списков ACL с первым совпадением) и что означают некоторые из различных «тегов». Я нашел следующую ссылку весьма полезной, чтобы получить некоторые основы под поясом: http://www.deckle.co.uk/squid-users-guide/squid-configuration-basics.html
После просмотра Squid.conf, который у нас был, я понял, что в существующей конфигурации обратного прокси уже определены списки ACL (это необходимо для cache_peer_access
теги).
Затем я выяснил, как они интерпретируются Squid (то есть порядок, приоритет, переопределения и т. Д.).
Все, что мне нужно было сделать, это добавить следующее (каждая строка для каждого ACL обратного прокси уже определена. 192.168.0.254 - это IP-адрес моего бокового интерфейса LAN):
tcp_outgoing_address 192.168.0.254 OWA_URI_pfs
tcp_outgoing_address 192.168.0.254 rvm_Extranet
tcp_outgoing_address 192.168.0.254 rvm_Prototype
tcp_outgoing_address 192.168.0.254 rvm_WebService
tcp_outgoing_address 192.168.0.254 rvm_License
Затем может последовать:
acl fiftyPercent random 0.5
tcp_outgoing_address <<WAN1-IP-HERE>> fiftyPercent
tcp_outgoing_address <<WAN2-IP-HERE>>
В результате трафик обратного прокси выходит через указанный IP-адрес на стороне LAN, а затем остаток всего остального трафика балансируется через random
ACL.
Надеюсь, что это поможет любому, кто может столкнуться с подобной проблемой.
Создайте ACL для трафика обратного прокси и установите tcp_outgoing_address <<LAN-IP-HERE>>
для этого.