The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Настройка прозрачного (transparent) proxy через Squid используя WCCP (proxy squid transparent cache cisco freebsd)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: proxy, squid, transparent, cache, cisco, freebsd,  (найти похожие документы)
From: Denis Shaposhnikov <dsh@vlink.ru> Original: http://neva.vlink.ru/~dsh/squid.html Subject: Настройка прозрачного (transparent) proxy через Squid используя WCCP _________________________________________________________________ Web Cache Control Protocol Если Ваш тpаффик в Internet выходит чеpез Cisco router, IOS котоpого умеет WCCP, transparent HTTP caching/proxying можно оpганизовать с помощью этого пpотокола. Это гоpаздо лучше, чем использовать для этого policy routing. Hачиная с веpсии 2.3, Squid умеет WCCP 1. Router будет отслеживать состояние Вашего Squid'а. И если он не pаботает, пpекpатит пеpенапpавлять на него тpанзитные HTTP запpосы. Также, можно использовать несколько HTTP cache/proxy сеpвеpов, оpганизуя, таким обpазом, pаспpеделение нагpузки. Я пpиведу пpимеp моих настpоек для IOS 12.0(7): ip wccp enable ip wccp redirect-list fwd-2-squid ! Это интеpфейс, чеpез котоpый выходит тpаффик в Internet. interface Serial1 ip web-cache redirect ! Этот acl опpеделяет, чьи запpосы надо пеpенапpавлять. ! Обязательно запpетите пеpенапpавление запpосов от Вашего ! HTTP cache/proxy сеpвеpа, иначе они зациклятся. ! В данном пpимеpе, 192.168.1.1 - это адpес, с котоpого ! посылает свои запpосы Squid. ip access-list standard fwd-2-squid deny 192.168.1.1 permit any В конфигуpационном файле Squid'а Вы должны указать адpес router'а, котоpый будет пеpенапpавлять запpосы: wccp_router 192.168.1.2 Далее Вы должны настpоить Squid и Вашу OS для обpаботки пеpенапpавленных запpосов. Об этом смотpите ниже. Обязательно пpочитайте: * WCCP - Web Cache Coordination Protocol: http://www.squid-cache.org/Doc/FAQ/FAQ-17.html#ss17.10 _________________________________________________________________ Transparent HTTP caching/proxying Имеется возможность организовать использование Вашего HTTP прокси сервера прозрачно для пользователей. Это значит, что им не придется что-то настраивать в своих браузерах. Для этого Вам надо решить следующие задачи: 1. Добится того, что бы HTTP запросы пользователей попали на компьютер, где работает Ваш HTTP прокси сервер. 2. После этого, необходимо, что бы они попали собственно в "лапы" прокси. 3. И наконец, что бы Ваш HTTP прокси сервер их правильно обработал. Выполнить первый пункт можно разными способами. Поставить HTTP прокси сервер на роутер, через который проходить весь траффик, или форвардить запросы с помощью policy routing'а на [5]Cisco роутере или ipfw на [6]FreeBSD: add fwd x.x.x.x tcp from any to any http in via ed0 add pass all from any to any Здесь x.x.x.x - IP адрес HTTP прокси сервера, ed0 - интерфейс, через который входит траффик от пользователей. Что бы HTTP запросы пользователей попали к HTTP прокси серверу, можно воспользоваться опять же ipfw (если у Вас [7]FreeBSD): add fwd 127.0.0.1,3128 tcp from any to any http in via ed0 add pass all from any to any Здесь 3128 - порт, на котором принимает запросы Ваш HTTP прокси, а ed0 - интерфейс, через который запросы пользователей попадают на этот компьютер. Если прокси сервер должным образом настроен, он правильно обработает полученные запросы и все будут довольны. Вот пример настроек Squid'а: httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on Внимание, если Вы используете [9]FreeBSD и ipfw, для форварда HTTP запросов, ядро должно быть собрано со следующими опциями: options IPFIREWALL options IPFIREWALL_FORWARD Информацию о настройке transparent HTTP caching/proxying Вы также можете найти здесь: * Transparent Caching/Proxying: http://squid.nlanr.net/Doc/FAQ/FAQ-17.html _________________________________________________________________ Denis Shaposhnikov - Официальный сайт Squid Web Proxy Cache: http://www.squid-cache.org/ - Henrik NordstrЖm's Squid work: http://squid.sourceforge.net/hno/ - Squid Development Projects: http://squid.sourceforge.net/ - Раздел Squid FAQ по WCCP, настройке Cisco, Linux и FreeBSD: http://www.squid-cache.org/Doc/FAQ/FAQ-17.html#ss17.11 - Squid+WCCP на Linux: http://www.spc.int/it/TechHead/Wccp-squid.html - Модуль для Linux (mod_wccp): http://www.squid-cache.org/WCCP-support/Linux/ip_wccp.c - Поддежка WCCP для других систем: http://www.squid-cache.org/WCCP-support/
Установка под Linux (основан на http://www.spc.int/it/TechHead/Wccp-squid.html): 1. Собираем модуль mod_wccp c http://www.squid-cache.org/WCCP-support/Linux/ gcc -D__KERNEL__ -I/usr/src/linux-2.2.20/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer \ -fno-strict- aliasing -pipe -fno-strength-reduce -m386 -DCPU=386 -DMODULE -DMODVERSIONS -include \ /usr/src/linux-2.2.20/include/linux/modversions.h -c ip_wccp.c 2. Копируем ip_wccp.o в /lib/modules/версия_ядра/ipv4/ip_wccp.o 3. Подключаем модуль: /sbin/modprobe ip_wccp /sbin/depmod -a -e 4. Для нормальной работы WCCP правим в/etc/sysctl.conf: # Disables packet forwarding net.ipv4.ip_forward = 1 # Enables source route verification net.ipv4.conf.all.rp_filter = 1 # Disables automatic defragmentation (needed for masquerading, LVS) net.ipv4.ip_always_defrag = 0 5. В конфигурацию squid добавляем: httpd_accel_with_proxy on httpd_accel_port 80 httpd_accel_host virtual httpd_accel_uses_host_header on 6. Настраиваем Cisco: ip wccp version 1 ip wccp web-cache redirect wccp enable wccp_router 192.168.1.1 interface Ethernet0 ip wccp web-cache redirect out

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
 
  • 1, Dmitry, 11:29, 10/09/2003 [ответить] [смотреть все]
  • +/
    В моём iosе нет команды ip wccp version
    перепробовал разные версии
    у меня cisco2511, ставил ios'ы 12.х наверно все что только есть :)
    Может под мой хард это нельзя вообще, или есть какая-то версия iosы которую я не ставил
    Если есть информация на эту тему - плиз на мыло.
    Спасибо
     
     
  • 2, Mike, 07:32, 24/10/2003 [^] [ответить] [смотреть все]
  • +/
    Cisco Internetwork Operating System Software
    IOS (tm) 2500 Software (C2500-JS-L), Version 12.2(6a), RELEASE SOFTWARE
    [skip]
    System image file is "flash:c2500-js-l.122-6a.bin"
    [skip]
    #conf t
    #router(config)#ip wccp ?
      <0-99>     Dynamically defined service identifier number
      version    protocol version
      web-cache  Standard web caching service
     
  • 3, EHS, 19:02, 23/03/2004 [ответить] [смотреть все]
  • +/
    В воей Free5.2 нет такой опции "options IPFIREWALL_FORWARD"... может она уже встроеная? будет работать только с "options IPFIREWALL" ?
     
  • 4, Asikimer, 22:56, 07/11/2005 [ответить] [смотреть все]
  • +/
    Совершенно случайно было обнаружено, что на FreeBSD с использованием транспаретного заворачивания на Сквид, при прописывании httpd_accel_port 80 не корректно работает вот такая схема заворота:
    fwd 192.168.1.1,3128 tcp from any to not 192.168.1.0/24 80,8080,8000,8100,8200. В этом случае сквид в мир шлёт запросы _ТОЛЬКО_ на порт 80. Что не может не огорчать! Решается вот так:httpd_accel_port 0.
     
  • 5, виктор, 15:09, 11/05/2015 [ответить] [смотреть все]
  • +/
    прейлист
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:





      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor