Для Squid 7 назовите каждого входящего прослушивателя и ограничьте, какой родитель имеет право на его запросы:

http_port 3128 name=route_a
http_port 3129 name=route_b
acl via_a myportname route_a
acl via_b myportname route_b
cache_peer parent-a.example.net parent 8080 0 no-query name=parent_a
cache_peer parent-b.example.net parent 8080 0 no-query name=parent_b
cache_peer_access parent_a allow via_a
cache_peer_access parent_a deny all
cache_peer_access parent_b allow via_b
cache_peer_access parent_b deny all

Сохраняйте аутентифицированный клиентский доступ и необходимые родительские учетные записи, настроенные отдельно. Этот фрагмент маршрутизации выбирает подходящих одноранговых узлов; он не авторизует клиентов и не предоставляет родительские учетные данные. Для разрешенного общедоступного теста без настроенных учетных данных родительского прокси-сервера список HTTP-прокси предоставляет кандидатов на общедоступные узлы.

Сужение подходящих одноранговых узлов само по себе не запрещает прямую пересылку. Если эти выходы запрещены для выбранных запросов, добавьте:

never_direct allow via_a
never_direct allow via_b

Просмотрите предыдущие правила always_direct и полную конфигурацию родительского выбора. Определите, должен ли недоступный назначенный родительский объект препятствовать пересылке или существует другой явно одобренный маршрут. Запрос на контролируемую пересылку и сравнение с родительским доступом могут проверить выбранный результат; одна только успешная страница может скрыть неправильный вариант.

конечный общедоступный IP-адрес принадлежит последнему исходящему соединению. Два разных родителя могут использовать общий выход NAT, поэтому проверяйте этот адрес отдельно от выбора прослушивателя и узла.

Используйте ссылку на одноранговый узел для получения сведений об аутентификации/транспортировке. Эти интерфейсы применимы к Squid 7 и более ранним поддерживающим выпускам; они недоступны в Squid 8 без изменений.

Похожие статьи