Добрый день форумчане!
Знаком с 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:3128wccp2_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
> http_port 172.16.0.9:3130 intercept
> http_port 127.0.0.1:3128А разве так можно?
Ну попробуйте только так
http_port 3128 intercept
или так
http_port 3130 intercept
но не обе строки сразу
>> http_port 172.16.0.9:3130 intercept
>> http_port 127.0.0.1:3128
> А разве так можно?
> Ну попробуйте только так
> http_port 3128 intercept
> или так
> http_port 3130 intercept
> но не обе строки сразув версии 3.1 и выше для прозрачности необходимо что бы было http_port 3128 иначе сыпится с ошибками.
>>> http_port 172.16.0.9:3130 intercept
>>> http_port 127.0.0.1:3128
>> А разве так можно?
>> Ну попробуйте только так
>> http_port 3128 intercept
>> или так
>> http_port 3130 intercept
>> но не обе строки сразу
> в версии 3.1 и выше для прозрачности необходимо что бы было http_port
> 3128 иначе сыпится с ошибками.А вам принципиально порт 3130 использовать?
Попробуйте только порт 3128, ну и fwd на него разумеется.
>[оверквотинг удален]
>>> А разве так можно?
>>> Ну попробуйте только так
>>> http_port 3128 intercept
>>> или так
>>> http_port 3130 intercept
>>> но не обе строки сразу
>> в версии 3.1 и выше для прозрачности необходимо что бы было http_port
>> 3128 иначе сыпится с ошибками.
> А вам принципиально порт 3130 использовать?
> Попробуйте только порт 3128, ну и fwd на него разумеется.без http_port 3129 в cache.log сыпится:
2013/10/09 17:36:33 kid1| ERROR: No forward-proxy ports configured.
2013/10/09 17:36:33 kid1| ERROR: No forward-proxy ports configured.http_port 3129
http_port 172.16.0.9:3128 intercept
01200 166 16347 fwd 172.16.0.9,3128 tcp from not me to not me dst-port 80 recv gre0
так же как и было - счетчик растет пакетов - страницы по таймауту вылетают.
>[оверквотинг удален]
>> Попробуйте только порт 3128, ну и fwd на него разумеется.
> без http_port 3129 в cache.log сыпится:
> 2013/10/09 17:36:33 kid1| ERROR: No forward-proxy ports configured.
> 2013/10/09 17:36:33 kid1| ERROR: No forward-proxy ports configured.
> http_port 3129
> http_port 172.16.0.9:3128 intercept
> 01200 166 16347 fwd 172.16.0.9,3128 tcp
> from not me to not me dst-port 80 recv gre0
> так же как и было - счетчик растет пакетов - страницы по
> таймауту вылетают.В логах что?
Строка http_port 3129 обязательна? Без неё сквид запускается?
>[оверквотинг удален]
>> 2013/10/09 17:36:33 kid1| ERROR: No forward-proxy ports configured.
>> 2013/10/09 17:36:33 kid1| ERROR: No forward-proxy ports configured.
>> http_port 3129
>> http_port 172.16.0.9:3128 intercept
>> 01200 166 16347 fwd 172.16.0.9,3128 tcp
>> from not me to not me dst-port 80 recv gre0
>> так же как и было - счетчик растет пакетов - страницы по
>> таймауту вылетают.
> В логах что?
> Строка http_port 3129 обязательна? Без неё сквид запускается?в access.log пустота - от пользователя не было запроса будто бы.
с версии 3.1 строка http_port 3128 (не важно какой порт) стала обязательной при конфигурации прозрачного прокси. иначе в логах постоянно гадит
2013/10/09 17:36:33 kid1| ERROR: No forward-proxy ports configured.
2013/10/09 17:36:33 kid1| ERROR: No forward-proxy ports configured.
а запускаться запускается, он вот результат тот же....
>[оверквотинг удален]
>>> так же как и было - счетчик растет пакетов - страницы по
>>> таймауту вылетают.
>> В логах что?
>> Строка http_port 3129 обязательна? Без неё сквид запускается?
> в access.log пустота - от пользователя не было запроса будто бы.
> с версии 3.1 строка http_port 3128 (не важно какой порт) стала обязательной
> при конфигурации прозрачного прокси. иначе в логах постоянно гадит
> 2013/10/09 17:36:33 kid1| ERROR: No forward-proxy ports configured.
> 2013/10/09 17:36:33 kid1| ERROR: No forward-proxy ports configured.
> а запускаться запускается, он вот результат тот же....это выглядит сомнительно fwd 172.16.0.9,3128 tcp from not me to not me dst-port 80 recv gre0
лучше так fwd 172.16.0.9,3128 tcp from 172.16.0.0/16 to not me 80пакеты gre не проскакивают? mtu на сервере понизить?
посмотрите ещё здесь http://www.opennet.me/openforum/vsluhforumID12/4724.html
>[оверквотинг удален]
>> с версии 3.1 строка http_port 3128 (не важно какой порт) стала обязательной
>> при конфигурации прозрачного прокси. иначе в логах постоянно гадит
>> 2013/10/09 17:36:33 kid1| ERROR: No forward-proxy ports configured.
>> 2013/10/09 17:36:33 kid1| ERROR: No forward-proxy ports configured.
>> а запускаться запускается, он вот результат тот же....
> это выглядит сомнительно fwd 172.16.0.9,3128 tcp from not me to not me
> dst-port 80 recv gre0
> лучше так fwd 172.16.0.9,3128 tcp from 172.16.0.0/16 to not me 80
> пакеты gre не проскакивают? mtu на сервере понизить?
> посмотрите ещё здесь http://www.opennet.me/openforum/vsluhforumID12/4724.htmlпакеты по правилу что я добавляю (в том числе и ваше) ходят счетчик растет но страницы не открываются, отваливаются по таймауту.
c правилом что Вы сказали - результат тот же.. Про mtu стоит 1500
>[оверквотинг удален]
>>> а запускаться запускается, он вот результат тот же....
>> это выглядит сомнительно fwd 172.16.0.9,3128 tcp from not me to not me
>> dst-port 80 recv gre0
>> лучше так fwd 172.16.0.9,3128 tcp from 172.16.0.0/16 to not me 80
>> пакеты gre не проскакивают? mtu на сервере понизить?
>> посмотрите ещё здесь http://www.opennet.me/openforum/vsluhforumID12/4724.html
> пакеты по правилу что я добавляю (в том числе и ваше) ходят
> счетчик растет но страницы не открываются, отваливаются по таймауту.
> c правилом что Вы сказали - результат тот же.. Про mtu
> стоит 1500Шайтан, однако.
Ну, послушайте tcpdump -i gre0
Пакеты туда-сюда бегают? Или сюда-туда?
>[оверквотинг удален]
>>> лучше так fwd 172.16.0.9,3128 tcp from 172.16.0.0/16 to not me 80
>>> пакеты gre не проскакивают? mtu на сервере понизить?
>>> посмотрите ещё здесь http://www.opennet.me/openforum/vsluhforumID12/4724.html
>> пакеты по правилу что я добавляю (в том числе и ваше) ходят
>> счетчик растет но страницы не открываются, отваливаются по таймауту.
>> c правилом что Вы сказали - результат тот же.. Про mtu
>> стоит 1500
> Шайтан, однако.
> Ну, послушайте tcpdump -i gre0
> Пакеты туда-сюда бегают? Или сюда-туда?пакеты и запросы только от пользователей направленные cisco. От прокси не каких......
>[оверквотинг удален]
>>>> пакеты gre не проскакивают? mtu на сервере понизить?
>>>> посмотрите ещё здесь http://www.opennet.me/openforum/vsluhforumID12/4724.html
>>> пакеты по правилу что я добавляю (в том числе и ваше) ходят
>>> счетчик растет но страницы не открываются, отваливаются по таймауту.
>>> c правилом что Вы сказали - результат тот же.. Про mtu
>>> стоит 1500
>> Шайтан, однако.
>> Ну, послушайте tcpdump -i gre0
>> Пакеты туда-сюда бегают? Или сюда-туда?
> пакеты и запросы только от пользователей направленные cisco. От прокси не каких......root@Squid:/ # tcpdump -i gre0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on gre0, link-type NULL (BSD loopback), capture size 65535 bytes
10:40:43.916786 IP 172.16.0.154.60980 > opennet.ru.http: Flags [P.], seq 3900111775:3900112268, ack 1519792743, win 63582,
10:40:43.975042 IP 172.16.0.154.60980 > opennet.ru.http: Flags [.], ack 1517, win 64240, length 0
10:40:43.976111 IP 172.16.0.154.60980 > opennet.ru.http: Flags [.], ack 2984, win 64240, length 0
10:40:43.980339 IP 172.16.0.154.60980 > opennet.ru.http: Flags [.], ack 5672, win 64240, length 0
10:40:43.982381 IP 172.16.0.154.60980 > opennet.ru.http: Flags [.], ack 7139, win 64240, length 0
10:40:43.984340 IP 172.16.0.154.60980 > opennet.ru.http: Flags [.], ack 9789, win 64240, length 0
10:40:43.985869 IP 172.16.0.154.60980 > opennet.ru.http: Flags [.], ack 12445, win 64240, length 0
10:40:43.986544 IP 172.16.0.154.60980 > opennet.ru.http: Flags [.], ack 13906, win 64240, length 0
10:40:43.987397 IP 172.16.0.154.60980 > opennet.ru.http: Flags [.], ack 15373, win 64240, length 0
10:40:44.016198 IP 172.16.0.154.60975 > opennet.ru.http: Flags [P.], seq 3675161970:3675162432, ack 3512929227, win 63672,
10:40:44.016967 IP 172.16.0.154.60976 > opennet.ru.http: Flags [P.], seq 1753389993:1753390471, ack 4059398955, win 62809,
10:40:44.017068 IP 172.16.0.154.60979 > opennet.ru.http: Flags [P.], seq 4193142386:4193142862, ack 2531488649, win 63672,
10:40:44.026184 IP 172.16.0.154.60980 > opennet.ru.http: Flags [.], ack 18023, win 64240, length 0
10:40:44.029762 IP 172.16.0.154.60980 > opennet.ru.http: Flags [.], ack 19490, win 64240, length 0
10:40:44.031895 IP 172.16.0.154.60980 > opennet.ru.http: Flags [.], ack 22416, win 64240, length 0
10:40:44.033103 IP 172.16.0.154.60980 > opennet.ru.http: Flags [.], ack 23883, win 64240, length 0
10:40:44.039464 IP 172.16.0.154.60980 > opennet.ru.http: Flags [.], ack 26809, win 64240, length 0
10:40:44.041044 IP 172.16.0.154.60980 > opennet.ru.http: Flags [.], ack 28276, win 64240, length 0
10:40:44.043069 IP 172.16.0.154.60980 > opennet.ru.http: Flags [.], ack 31202, win 64240, length 0
10:40:44.044711 IP 172.16.0.154.60980 > opennet.ru.http: Flags [.], ack 32669, win 64240, length 0
10:40:44.080885 IP 172.16.0.154.60980 > opennet.ru.http: Flags [.], ack 35595, win 64240, length 0
10:40:44.082170 IP 172.16.0.154.60980 > opennet.ru.http: Flags [.], ack 37062, win 64240, length 0
10:40:44.086345 IP 172.16.0.154.60980 > opennet.ru.http: Flags [.], ack 39988, win 64240, length 0
Установить в squid.conf Full debugging (level 9)
debug_options ALL,9
> Установить в squid.conf Full debugging (level 9)
> debug_options ALL,9Добрый день, и так нашел я вроде бы причину. всё описанное выше правда и всё это работает правильно, но....на одной промежуточной cisco стояло ограничение в количестве соединений и моя freebsd просто убивалась в этот предел - команда выглядит что то вроде ip nat translation max-(что то там) 200! то есть 200 соединений максимум на хост поэтому при завороте подсети ничего не открывалось. Спасибо всем!)