FreeBSD: squid (прозрачный) + wccp

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
LoneFoxx
проходил мимо
Сообщения: 7
Зарегистрирован: 2013-10-08 9:24:05

FreeBSD: squid (прозрачный) + wccp

Непрочитанное сообщение LoneFoxx » 2013-10-08 9:50:23

Добрый день форумчане!
Знаком с FreeBSD не так много как хотелось... НО нет больше сил терпеть и пытаться победить проблему.. и так начну:
Имеется сервак поднятый на с ip-адресом 172.16.0.9

Код: Выделить всё

root@Squid:# uname -a
FreeBSD Squid 9.1-RELEASE FreeBSD 9.1-RELEASE #0: Fri Jun  7 16:25:36 MSK 2013     root@squid:/usr/obj/usr/src/sys/MYKERNEL  amd64
Ядро собранное с опциями:

Код: Выделить всё

options         IPFIREWALL               # сам файрвол
options         IPFIREWALL_VERBOSE        # логгинг пакетов, если в правиле # написано `log`
options         IPFIREWALL_FORWARD       # перенаправление (форвардинг) пакетов# например, для прозрачного прокси
options         DUMMYNET                # если понадобится ограничивать скорость # инета пользователям (обычно - да)
options         IPFIREWALL_DEFAULT_TO_ACCEPT     # дефолтовое правило (последнее)
в sysctl.conf

Код: Выделить всё

net.inet.ip.fw.one_pass=0
net.inet.tcp.rfc1323=0
net.inet.icmp.icmplim=0
net.inet.tcp.msl=3000
kern.maxfilesperproc=65536
kern.maxfiles=262144
kern.ipc.maxsockets=131072
kern.ipc.somaxconn=1024
net.inet.tcp.recvspace=16384
net.inet.tcp.sendspace=16384
kern.ipc.nmbclusters=32768
net.inet.ip.forwarding=1
в rc.conf прописано такое - 172.16.0.7 адрес моего устройства Cisco (Asa 5550) с кем сервер и соединяется для создания wccp :

Код: Выделить всё

cloned_interfaces="gre0"
ifconfig_gre0="inet 172.16.0.9 10.10.10.10 netmask 255.255.255.255  tunnel 172.16.0.9 172.16.0.7 link2 up"
ipfw такие правила

Код: Выделить всё

00001 allow ip from any to any via lo0
00002 deny ip from any to 127.0.0.0/8
00003 deny ip from 127.0.0.0/8 to any
00004 allow gre from any to any frag
00200 fwd 172.16.0.9,3130 tcp from any to any dst-port 80 recv gre0
65535 allow ip from any to any
и на конец настройки на ASA конкретно для wccp

Код: Выделить всё

ciscoasa# sh run | include wccp
access-list wccp-server extended permit ip host 172.16.0.9 any
access-list wccp-traffic extended deny ip host 172.16.0.9 any
access-list wccp-traffic extended permit ip host 172.16.0.154 any
wccp web-cache redirect-list wccp-traffic group-list wccp-server
wccp interface inside web-cache redirect in
теперь сам кольмар:

Код: Выделить всё

root@Squid:/etc # squid -v
Squid Cache: Version 3.3.9
configure options:  '--with-default-user=squid' '--bindir=/usr/local/sbin' '--sbindir=/usr/local/sbin' '--datadir=/usr/local/etc/squid' '--libexecdir=/usr/local/libexec/squid' '--localstatedir=/var' '--sysconfdir=/usr/local/etc/squid' '--with-logdir=/var/log/squid' '--with-pidfile=/var/run/squid/squid.pid' '--with-swapdir=/var/squid/cache/squid' '--enable-auth' '--enable-build-info' '--enable-loadable-modules' '--enable-removal-policies=lru heap' '--disable-epoll' '--disable-linux-netfilter' '--disable-linux-tproxy' '--disable-translation' '--enable-auth-basic=DB MSNT MSNT-multi-domain NCSA PAM POP3 RADIUS  fake getpwnam' '--enable-auth-digest=file' '--enable-external-acl-helpers=file_userip time_quota unix_group SQL_session' '--enable-auth-negotiate=none' '--enable-auth-ntlm=fake smb_lm' '--enable-storeio=diskd rock ufs aufs' '--enable-disk-io=AIO Blocking DiskDaemon IpcIo Mmapped DiskThreads' '--enable-log-daemon-helpers=file' '--enable-url-rewrite-helpers=fake' '--disable-ipv6' '--enable-delay-pools' '--disable-snmp' '--enable-ssl' '--with-openssl=/usr/local' '--enable-ssl-crtd' '--enable-htcp' '--disable-forw-via-db' '--enable-cache-digests' '--enable-wccp' '--enable-wccpv2' '--disable-http-violations' '--disable-eui' '--enable-ipfw-transparent' '--disable-pf-transparent' '--disable-ipf-transparent' '--enable-follow-x-forwarded-for' '--enable-ecap' '--enable-icap-client' '--disable-esi' '--enable-kqueue' '--with-large-files' '--disable-optimizations' '--enable-debug-cbdata' '--prefix=/usr/local' '--mandir=/usr/local/man' '--infodir=/usr/local/info/' '--build=amd64-portbld-freebsd9.1' 'build_alias=amd64-portbld-freebsd9.1' 'CC=cc' 'CFLAGS=-pipe -I/usr/local/include -I/usr/local/include -g' 'LDFLAGS= -pthread -Wl,-rpath=/usr/local/lib -L/usr/local/lib -L/usr/local/lib' 'CPPFLAGS=' 'CXX=c++' 'CXXFLAGS=-pipe -I/usr/local/include -I/usr/local/include -g' 'CPP=cpp'
некоторые настройки из squid.conf

Код: Выделить всё

acl localnet src 172.16.0.0/16
http_access allow localnet
http_access deny all
#прозрачный порт для 80го порта (Http)

http_port 172.16.0.9:3130 intercept

#порт необходим для нормальной работы кольмара
http_port 127.0.0.1:3128

wccp2_router 172.16.0.7
wccp2_forwarding_method gre
wccp2_return_method gre
wccp2_service standard 0

И так суть проблемы: при завороте на ASA пользователя на пример 172.16.0.154 то происходит зависание на минутку (в принципе логично пока не создатся маршрутизация на са и не пойдт пакеты по новому) и после начинает отрабатывать как положено всё. Счетчик ipfw растет

Код: Выделить всё

00001     0       0 allow ip from any to any via lo0
00002     0       0 deny ip from any to 127.0.0.0/8
00003     0       0 deny ip from 127.0.0.0/8 to any
00004    44    2112 allow gre from any to any frag
00200   414  132913 fwd 172.16.0.9,3130 tcp from any to any dst-port 80 recv gre0

Но проблема в другом - если я заворачиваю не одного пользователя, а под сеть 172.16.1.0/24 то у всех пользователей странички интернет не открываются и вываливается сообщение от Squid Operation time out. В общем отваливаются странички по таймауту... я уже не знаю что делать и как победить проблему... Прошу помощи!!! :st: Нет сил, нет нервов...
При этом в access.log тишина - будто пользователь вообще не куда не пытался зайти....... HELP
Последний раз редактировалось f_andrey 2013-10-08 9:54:17, всего редактировалось 1 раз.
Причина: Автору. пожалуйста, выбирайте соответствующий раздел форума.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

LoneFoxx
проходил мимо
Сообщения: 7
Зарегистрирован: 2013-10-08 9:24:05

Re: FreeBSD: squid (прозрачный) + wccp

Непрочитанное сообщение LoneFoxx » 2013-10-08 10:07:03

И да простите если не в той теме создал топик... Админы / модеры перенесите куда нужно..

werder31
сержант
Сообщения: 217
Зарегистрирован: 2009-12-22 10:48:41
Откуда: from Ukraine
Контактная информация:

Re: FreeBSD: squid (прозрачный) + wccp

Непрочитанное сообщение werder31 » 2013-10-08 10:29:59

глядя на конф Squid и ipfw у меня возник вопрос, а каким боком сдесь вообще wccp?? Для чего он у Вас?
Наверное Вы хотите с Аса перенаправлять на сквид?
Или же нарисуйте схему прохождения трафика...
Любите жизнь, ведь она все равно отымеет..так хоть по любви!

LoneFoxx
проходил мимо
Сообщения: 7
Зарегистрирован: 2013-10-08 9:24:05

Re: FreeBSD: squid (прозрачный) + wccp

Непрочитанное сообщение LoneFoxx » 2013-10-08 10:36:16

werder31 писал(а):глядя на конф Squid и ipfw у меня возник вопрос, а каким боком сдесь вообще wccp?? Для чего он у Вас?
Наверное Вы хотите с Аса перенаправлять на сквид?
Или же нарисуйте схему прохождения трафика...
Все пользователи подсети 172.16.х.х выходят в Интернет через ASA. Моя задача всех этих пользователей (не задавая не каких настроек на их машинах) перенаправить на Squid и отсеять такое как Vk.com, Odnoklassniki.ru, "ххх" и т.д. Прописывать у всех основной шлюз Squid не вариант, так же как и в браузерах прокси-сервер.

LoneFoxx
проходил мимо
Сообщения: 7
Зарегистрирован: 2013-10-08 9:24:05

Re: FreeBSD: squid (прозрачный) + wccp

Непрочитанное сообщение LoneFoxx » 2013-10-08 10:51:01

вот нацарапал схему примерную Изображение

werder31
сержант
Сообщения: 217
Зарегистрирован: 2009-12-22 10:48:41
Откуда: from Ukraine
Контактная информация:

Re: FreeBSD: squid (прозрачный) + wccp

Непрочитанное сообщение werder31 » 2013-10-08 11:01:24

Гляньте http://forum.lissyara.su/viewtopic.php?f=48&t=5208 - Похожая была у людей проблема
Любите жизнь, ведь она все равно отымеет..так хоть по любви!

LoneFoxx
проходил мимо
Сообщения: 7
Зарегистрирован: 2013-10-08 9:24:05

Re: FreeBSD: squid (прозрачный) + wccp

Непрочитанное сообщение LoneFoxx » 2013-10-08 11:06:32

werder31 писал(а):Гляньте http://forum.lissyara.su/viewtopic.php?f=48&t=5208 - Похожая была у людей проблема
смотрел и не однократно переписывал конфиги, но увы - решения не помогли из этого топика

Аватара пользователя
vintovkin
ВДВ
Сообщения: 1286
Зарегистрирован: 2007-05-11 9:39:11
Откуда: CSKA

Re: FreeBSD: squid (прозрачный) + wccp

Непрочитанное сообщение vintovkin » 2013-10-08 21:28:50

а без wccp всё нормально работает?
Junos OS kernel based on FreeBSD UNIX.

LoneFoxx
проходил мимо
Сообщения: 7
Зарегистрирован: 2013-10-08 9:24:05

Re: FreeBSD: squid (прозрачный) + wccp

Непрочитанное сообщение LoneFoxx » 2013-10-09 15:52:39

vintovkin писал(а):а без wccp всё нормально работает?
без wccp Имеете в виду прописать основной шлюз у клиента? ИМХО писал же в самом начале что это не вариант.
если я заворачиваю через wccp свой комп (скажем 172.16.0.154) всё работает без проблем, но если под сеть 172.16.0.0/24 то всё... наглухо

LoneFoxx
проходил мимо
Сообщения: 7
Зарегистрирован: 2013-10-08 9:24:05

Re: FreeBSD: squid (прозрачный) + wccp

Непрочитанное сообщение LoneFoxx » 2013-10-11 23:37:31

Добрый день, и так нашел я вроде бы причину. всё описанное выше правда и всё это работает правильно, но....на одной промежуточной cisco стояло ограничение в количестве соединений и моя freebsd просто убивалась в этот предел - команда выглядит что то вроде ip nat translation max-(что то там) 200! то есть 200 соединений максимум на хост поэтому при завороте подсети ничего не открывалось. Спасибо всем!)