Squid ACL – диапазоны IP не работают

Вопрос или проблема

В моем Squid FW есть список доменов, для которых я хочу обойти NTLM. Я достиг этого с помощью следующего:

#URLS для обхода трипа
acl BYPASS_DOMAIN dstdomain "C:/bypass_domain.txt"
#TAG: Обойти NTLM & Трип
 http_access allow BYPASS_DOMAIN
 always_direct allow BYPASS_DOMAIN

Теперь мне нужно обойти диапазон IP-адресов, например 192.168.0.0/24.
Я пытался добавить это как строку в bypass_domain.txt, но это не работает.
Если я добавляю точный IP (т.е. 192.168.0.111) в bypass_domain.txt, это работает.

Я также пробовал следующее, но и это не сработало:

#URLS для обхода трипа
acl BYPASS_IP src 192.168.0.0/24
#TAG: Обойти NTLM & Трип
 http_access allow BYPASS_IP
 always_direct allow BYPASS_IP

У меня есть несколько диапазонов, которые нужно обойти, поэтому будет сложно перечислять каждый IP.
Есть идеи, где я ошибаюсь?

Пожалуйста, прочитайте документацию http://wiki.squid-cache.org/SquidFaq/SquidAcl#ACL_elements.

Тип ACL “dstdomain” сравнивает вещи с хостнеймом URL. Диапазон IP не является допустимым хостнеймом URL. Поэтому ваша первая попытка не сработала.

Тип ACL “src” соответствует IP-адресам ваших клиентов, откуда поступают запросы. Вот почему вторая попытка не сработала.

PS. always_direct бесполезен, если у вас не настроены правила cache_peer или never_direct. Вам, вероятно, вообще не нужна эта часть.

Гость, у вас та же проблема, что и у меня, попробуйте заблокировать локальный IP, например, маршрутизатор Idrac и другое оборудование”

# ip для доступа к прокси
acl localnet0 src 22.33.44.55

# блокировка назначения, т.е. маршрутизатора
acl localnet3 dst 192.168.5.1   

#разрешить подключение из заблокированного подключения
http_access allow localnet0 !localnet3

sudo squid -k reconfigure

Ответ или решение

К сожалению, у вас возникли сложности с конфигурацией ACL (Access Control List) в Squid для обхода NTLM и управления диапазонами IP. Позвольте предложить вам решение, которое может помочь устранить возникшие проблемы и улучшить вашу настройку.

Анализ Проблемы

На основе описания проблемы, похоже, что вы столкнулись с неправильным использованием типов ACL и их назначением. Давайте разберем ваши попытки и предложим правильное решение.

  1. Использование dstdomain:
    Это правило применяется для сравнения адресов URL, а не для диапазонов IP. Следовательно, добавление IP-адресов в bypass_domain.txt не приведет к ожидаемому результату. Вы правильно заметили, что использование конкретного IP-адреса сработало.

  2. Использование src:
    Ваша попытка использовать src для диапазона IP (192.168.0.0/24) также верна, но важно убедиться, что эта ACL конфигурация стоит в правильном порядке относительно других правил.

  3. Некорректное применение always_direct:
    Как вы уже упомянули, смысл этого параметра заключается в указании Squid, что ему следует напрямую связываться с серверами без использования кэшей, что требуется в случае, если настроены параметры cache_peer или never_direct. В вашем случае, если таковых нет, это действительно может быть избыточным.

Рекомендуемое Решение

Давайте оптимизируем вашу конфигурацию. Например, вы можете организовать ваши правила следующим образом:

# Определяем диапазоны IP, которые необходимо исключить
acl BYPASS_IP src 192.168.0.0/24
acl BYPASS_DOMAIN dstdomain "C:/bypass_domain.txt"

# Разрешаем доступ для диапазона IP
http_access allow BYPASS_IP

# Разрешаем доступ для указанных доменов
http_access allow BYPASS_DOMAIN

# Отказываем в доступе всем остальным
http_access deny all

Объяснение Рекомендаций

  1. Порядок Правил:
    Правила обрабатываются в том порядке, в котором они представлены. Убедитесь, что правило http_access allow BYPASS_IP предшествует правилам, которые могут блокировать доступ. Всегда указывайте правила разрешения перед их запретом.

  2. Проверка Файла bypass_domain.txt:
    Убедитесь, что в файле нет лишних символов или пробелов перед доменами, что также может вызвать проблемы.

  3. Перезагрузка Squid:
    Каждый раз после внесения изменений в конфигурацию обязательно перезапустите или перезагрузите Squid:

    sudo squid -k reconfigure

Заключение

Эти шаги должны помочь вам устранить проблемы с конфигурацией и обеспечить корректную обходку IP-адресов и доменов с использованием Squid. Убедитесь, что все изменения тестируются, и следите за журналами Squid для диагностики возможных ошибок.

Если у вас останутся вопросы, не стесняйтесь их задавать. Создание эффективной конфигурации Squid — важная задача для обеспечения безопасности и производительности вашего сетевого окружения.

Оцените материал
Добавить комментарий

Капча загружается...