Здравствуйте!Уважаемые iles и Андрей!
Когда я нашел эту тему, тоже очень обрадовался, т.к. ваша ситуация практически в точности повторяет мою, поэтому если можно, подробнее о решении...
Дело в том, что Squid 2.0 у меня когда-то работал с циской 5350, настраивал не я, но остались некоторые конфиги, на основе которых я решил возобновить проксирование.
У меня Cisco 7206VXR, сервак с RHEL4 (2.6.18-8.el5). Переделал конфиг squid.conf на новый лад, т.к. на RHEL4 используется SQUID 2.6.STABLE6 и некоторые директивы как "http_accel_..." не работают.
Туннель поднялся, счетчики на циске забегали, но http не шел. Отчаявшись, поставил на отдельную машину RH9 (2.4.20-8) с Squid 2, старыми конфигами (с поправкой на ip-адреса). Тут возникла другая проблема - ни в какую не компилится ip_wccp. Как оказалось, уважаемый iles шел тем же путем :-)
Т.к. хочется решить проксирование всё-таки свежим линуксом, и вам это удалось, привожу конфиги для нового сквида.
Итак, на циске:
ip wccp check services all
ip wccp web-cache redirect-list 97
access-list 97 permit xxx.xxx.xxx.34 - адрес моего компа
access-list 97 deny xxx.xxx.xxx.30 - адрес прокси-сервера
access-list 97 deny any
на интерфейсе, который смотрит в инет:
ip wccp web-cache redirect out
на интерфейсе, который смотрит на прокси:
interface GigabitEthernet0/2.5
description PROXY
encapsulation dot1Q 5
ip address xxx.xxx.xxx.29 255.255.255.252
ip wccp web-cache group-listen
На прокси-сервере:
Установлен пакет ip_wccp-1.7
Сеть:
eth0: xxx.xxx.xxx.2/255.255.255.240 gw xxx.xxx.xxx.1
eth1: xxx.xxx.xxx.30/255.255.255.252 - интерфейс подлючен через vlan5 для связи с циской
Содержимое /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
kernel.sysrq = 0
Содержимое /etc/rc.d/rc.local
modprobe ip_gre
ip tunnel add wccp0 mode gre remote xxx.xxx.xxx.29 local xxx.xxx.xxx.30 dev eth1
ip addr add xxx.xxx.xxx.30/32 dev wccp0
ip link set wccp0 up
modprobe ip_wccp
Настройки squid.conf
http_port xxx.xxx.xxx.30:3128 transparent
icp_port 0
hierarchy_stoplist cgi-bin ? yandex.ru mail.ru rambler.ru yahoo.com hotmail.com hotmail.ru list.ru nm.ru
acl QUERY urlpath_regex cgi-bin \? yandex.ru mail.ru rambler.ru yahoo.com hotmail.com hotmail.ru list.ru nm.ru
no_cache deny QUERY
cache_mem 2048 MB
cache_swap_low 97
cache_swap_high 99
maximum_object_size 32 MB
minimum_object_size 0 KB
maximum_object_size_in_memory 20 KB
ipcache_size 8192
fqdncache_size 8192
cache_dir ufs /var/spool/squid 20480 256 256
access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log
cache_store_log none
client_netmask 255.255.255.255
hosts_file /etc/hosts
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
request_body_max_size 0 KB
"refresh_pattern ^ftp: 1440 20% 10080"
"refresh_pattern ^gopher: 1440 0% 1440"
"refresh_pattern . 0 20% 7200"
negative_ttl 1 minutes
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
"acl Safe_ports port 80 # http"
"acl Safe_ports port 21 # ftp"
"acl Safe_ports port 443 # https"
"acl Safe_ports port 70 # gopher"
"acl Safe_ports port 210 # wais"
"acl Safe_ports port 1025-65535 # unregistered ports"
"acl Safe_ports port 280 # http-mgmt"
"acl Safe_ports port 488 # gss-http"
"acl Safe_ports port 591 # filemaker"
"acl Safe_ports port 777 # multiling http"
acl CONNECT method CONNECT
acl cisco src xxx.xxx.xxx.29/255.255.255.255 # ip-адрес циско-интерфейса для прокси
acl net1 src xxx.xxx.xxx.0/255.255.248.0 # вся моя сеть
acl snmpall snmp_community 2ndday
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny !localhost !manager !net1
http_reply_access allow all
icp_access deny all
cache_effective_user squid
cache_effective_group squid
visible_hostname proxy.alania.net
cachemgr_passwd unonymizers all
always_direct allow all
acl hotmail_domains dstdomain .hotmail.msn.com
header_access Accept-Encoding deny hotmail_domains
snmp_port 3401
snmp_access allow snmpall all
snmp_access deny all
wccp2_router xxx.xxx.xxx.29
wccp2_forwarding_method 1
wccp2_return_method 1
wccp2_address xxx.xxx.xxx.30
acl slowdown dstdom_regex banthisdomain.com
acl slowdown dstdom_regex banthisdomain.org
delay_pools 1
delay_class 1 1
delay_access 1 allow slowdown
delay_access 1 deny all
delay_parameters 1 100/100
coredump_dir /var/spool/squid
client_persistent_connections off
server_persistent_connections off
Сразу оговорю, что squid.conf мне непонятен и я привел одну из многочисленных вариаций, которые пробовал.
Содержимое /etc/sysconfig/iptables, относящееся к заруливанию трифика на squid
*nat
-A PREROUTING -m tcp -p tcp -d ! xxx.xxx.xxx.30 --dport 80 -j DNAT --to xxx.xxx.xxx.30:3128
COMMIT
Циска в таком раскладе видит прокси, правда показывает ее как xxx.xxx.xxx.30, а себя не как xxx.xxx.xxx.29, а с ip-адресом Loopback-интерфейса. Это может как-то серьезно повлиять? На прокси, как я уже сказал, wccp0 поднимается, но трафика на нем нет. На моей (клиентской) машине после старта сквида httpd пропадает.
Буду очень признателен, если подскажите где ошибка или что попробовать изменить.