Squid 3.2 - Правильная ли конфигурация для случайного исходящего IP с аутентификацией одного пользователя?

Я пытаюсь использовать AclRandom для Squid 3.2, и я думаю, что я немного запутался в правильном методе для этого. Вот моя конфигурация:

http_port 3128
auth_param basic program /usr/local/squid32/libexec/basic_ncsa_auth /usr/local/squid32/etc/passwords
auth_param basic children 5
auth_param basic realm proxy
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl my_auth proxy_auth REQUIRED
http_access allow my_auth

max_filedesc 32768

acl randomIP random 1/3
tcp_outgoing_address x.154.198.x randomIP
tcp_outgoing_address x.154.198.x randomIP
tcp_outgoing_address x.154.198.x randomIP

tcp_outgoing_address x.154.198.x

forwarded_for delete
via off

И он всегда использует первый IP-адрес в списке. Кто-нибудь знает, как я могу сделать это случайно использовать один из 3? Кроме того, я получаю много TCP_MISS для любого веб-сайта, который я запрашиваю, что-то еще выглядит странно?

Изменить: Обновить с потенциальным решением:

http_port 3128
auth_param basic program /usr/local/squid32/libexec/basic_ncsa_auth /usr/local/squid32/etc/passwords
auth_param basic children 5
auth_param basic realm proxy
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl my_auth proxy_auth REQUIRED
http_access allow my_auth
http_access allow localhost
http_access deny all

max_filedesc 32768

authenticate_ttl 5 seconds
authenticate_ip_ttl 1 seconds

acl r_14 random 1/14
acl r_13 random 1/13
acl r_12 random 1/12
acl r_11 random 1/11
acl r_10 random 1/10
acl r_9 random 1/9
acl r_8 random 1/8
acl r_7 random 1/7
acl r_6 random 1/6
acl r_5 random 1/5
acl r_4 random 1/4
acl r_3 random 1/3
acl r_2 random 1/2
acl r_1 random 1/1

tcp_outgoing_address x.x.198.145 r_14
tcp_outgoing_address x.x.198.146 r_13
tcp_outgoing_address x.x.198.147 r_12
tcp_outgoing_address x.x.198.148 r_11
tcp_outgoing_address x.x.198.149 r_10
tcp_outgoing_address x.x.198.150 r_9
tcp_outgoing_address x.x.198.151 r_8
tcp_outgoing_address x.x.198.152 r_7
tcp_outgoing_address x.x.198.153 r_6
tcp_outgoing_address x.x.198.154 r_5
tcp_outgoing_address x.x.198.155 r_4
tcp_outgoing_address x.x.198.156 r_3
tcp_outgoing_address x.x.198.157 r_2
tcp_outgoing_address x.x.198.158 r_1

tcp_outgoing_address x.x.198.148

forwarded_for delete
via off

1 ответ

В онлайн-документах есть пример трехстороннего разделения. Каждый шаг забирает часть трафика, которая попадает на этот шаг, а не часть всего трафика.

  • Начиная со всего трафика, берут 1/3 листьев 2/3.
  • Возьмите половину 2/3 листьев 1/3
  • Возьмите все оставшиеся 1/3

Squid-Cache-Wiki: Добавление: ACL-тип "Random"

acl third random 1/3
acl half random 1/2

tcp_outgoing_address x.154.198.x third
tcp_outgoing_address x.154.198.x half
tcp_outgoing_address x.154.198.x

Ваша конфигурация имеет 1/3, 1/3, 1/3, и все это работает для:

  • Начиная со всех брать 1/3, оставляя 2/3
  • Возьмите 1/3 из 2/3 (2/9) листьев 4/9
  • Возьмите 1/3 из 4/9 (4/27) листьев 8/27
  • Возьми оставшиеся 8/27

Если ваш первый и четвертый исходящие адреса совпадают, он будет получать 17/27 трафика.

Другие вопросы по тегам