URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 3611
[ Назад ]

Исходное сообщение
"Может ли сквид обращаться к разным парент в зависимости от i..."

Отправлено Dimmon , 18-Окт-05 14:04 
Приветсвую!
Есть два разных parent с разными скоростями может ли squid в зависимости от ip клиента обращаться к разным parent. Может кто делал или ссылка у кого есть

Содержание

Сообщения в этом обсуждении
"Может ли сквид обращаться к разным парент в зависимости от i..."
Отправлено Straker , 18-Окт-05 15:05 
>Приветсвую!
>Есть два разных parent с разными скоростями может ли squid в зависимости
>от ip клиента обращаться к разным parent. Может кто делал или
>ссылка у кого есть

Я делал.
вот пример

acl vip src 1.1.1.1
acl notvip src 2.2.2.2
cache_peer 3.3.3.3 parent 3128 3130 no-query default
cache_peer 4.4.4.4 parent 3128 3130 no-query default
cache_peer_access 3.3.3.3 allow vip
cache_peer_access 3.3.3.3 deny all

3.3.3.3 - сервер для вип клиентов
4.4.4.4 - сервер для всех


"Два разных parent'а у squid'а"
Отправлено Дмитрий , 24-Окт-05 22:06 
Очень прошу помочь советом, потому как самостоятельная борьба и RTFM к положительному результату не привели.

Задача: имеется два родительских прокси-сервера - proxy и proxy-2. proxy-2 разрешает ICP на порту 3130. Необходимо настроить squid так, чтобы он в домен, скажем, redhat.com ходил через proxy-2, а на все остальные - через proxy.

Попытка N1 (non-ACL):

cache_peer proxy-2 parent  8080 3130
cache_peer proxy   parent  3128 3130 no-query default

cache_peer_domain proxy-2 .redhat.com

... ни к чему не привела - ходит только через proxy.

Попытка N2 (ACL):

cache_peer proxy-2 parent  8080 3130
cache_peer proxy   parent  3128 3130 no-query default

acl DN dstdomain .redhat.com
cache_peer_access proxy-2 allow DN
cache_peer_access proxy-2 deny all

never_direct allow DN

... результат тот же - DEFAULT_PARENT/proxy.

В обоих случаях tcpdump подтверждает, что из недр сквида в сторону
proxy-2 ни одного пакета не вышло, хотя связь между ними есть и все необходимые порты доступны. Попытка использовать sibling вместо
parent или добавление no-query для proxy-2 ситуацию никак не меняет. Включение 'debug_options ALL,1 44,3' ситуацию никак не прояснило:

peerSelect: http://www.redhat.com/
peerSelectFoo: 'GET www.redhat.com'
peerCheckAlwaysDirectDone: 0
peerSelectFoo: 'GET www.redhat.com'
peerCheckNeverDirectDone: 1
peerSelectFoo: 'GET www.redhat.com'
peerSelectFoo: direct = DIRECT_NO
peerSelectIcpPing: http://www.redhat.com/
peerSelectIcpPing: counted 0 neighbors
peerGetSomeParent: GET www.redhat.com
peerSelect: DEFAULT_PARENT/proxy
peerSelectCallback: http://www.redhat.com/

Squid-2.5.STABLE5 ставился с операционной системой.

Заранее спасибо.

= Дмитрий =


"Два разных parent'а у squid'а"
Отправлено Дмитрий , 26-Окт-05 18:24 
>Необходимо настроить squid так, чтобы он в домен,
>скажем, redhat.com ходил через proxy-2, а на все остальные - через
>proxy.

Решение нашел сам - не хватало пары строк:

>cache_peer proxy-2 parent  8080 3130
>cache_peer proxy   parent  3128 3130 no-query default
>
>acl DN dstdomain .redhat.com
>cache_peer_access proxy-2 allow DN
>cache_peer_access proxy-2 deny all

cache_peer_access proxy deny  DN
cache_peer_access proxy allow all

= Дмитрий =


"А как сделать, чтобы он также шел по 2-му если 1-й откажет?"
Отправлено Artie , 31-Окт-05 13:51 

cache_peer_access - классная опция и очень функциональная т.к. работает с  ACL-ами- т.е. очень гибко!
Но мне нужно нечто посложнее:
есть 2 парента и  нужно, чтобы часть клиентов шла через один парент,
а часть через другой (это я сделал),

НО! Если один из парентов умрет (или еше лучще если он жив, но его канал упал) то клиенты этого парента перебрасывались бы на другой парент до тех пор, пока тот парент придет в себя.

просто расставить weight-ы ничего не дало.

Кто поможет?
Заранее спасибо,
Артур