Назад | Перейти на главную страницу

Можно ли настроить Squid на использование входящего IP-адреса в качестве исходящего, если на сервере используется несколько IP-адресов?

На данный момент мне нужно определить правила для всех локальных IP-адресов, например:

acl ip1 localip 1.1.1.1/32
tcp_outgoing_address 1.1.1.1 ip1
acl ip2 localip 2.2.2.2/32
tcp_outgoing_address 2.2.2.2 ip2
acl ip3 localip 3.3.3.3/32
tcp_outgoing_address 3.3.3.3 ip3

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

Это возможно?

Я также открыт для других решений. Я пробовал tinyproxy, у которого для этого есть опция bindsame, но нет возможности определять внешние скрипты аутентификации. Мне также нужна внешняя аутентификация через программу, которую умеет делать squid.

Короткий ответ: Согласно моим исследованиям, squid не поддерживает ничего похожего на "BindSame" от tinyproxy.

подробности: Я исследую эту самую тему, потому что я нахожусь в той же ситуации, что и вы: я хочу использовать tinyproxy для конфигурации BindSame, но мне нужна аутентификация, которую tinyproxy не поддерживает. К сожалению, я пришел к выводу, что у squid нет эквивалента BindSame от tinyproxy. Я не вижу другой директивы, которую можно было бы использовать для указания исходящего IP-адреса.

Из справочная документация по squid, мы видим, что директива tcp_outgoing_address требует в качестве аргумента конкретного IP-адреса. Он не принимает что-то вроде «то же самое» или переменную из соответствующего ACL.

Хотел бы я получить для вас более благоприятный ответ, потому что если бы я это сделал, я бы тоже его использовал!

Вам нужна функция (если я правильно прочитал ваш вопрос): Tproxy - это эффективно делает IP-адрес squid прозрачным - это будет выглядеть так, как будто клиент выполняет прокси-запросы.

Если честно, это немного сложно настроить (больше, чем пара директив), но это работает.