The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
  FreeBSD: squid (прозрачный) + wccp, !*! LoneFoxx, 09-Окт-13, 16:56  [смотреть все]
Добрый день форумчане!
Знаком с 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

  •   FreeBSD: squid (прозрачный) + wccp, !*! михалыч, 17:25 , 09-Окт-13 (1)
    > http_port 172.16.0.9:3130 intercept
    > http_port 127.0.0.1:3128

    А разве так можно?

    Ну попробуйте только так
    http_port 3128 intercept
    или так
    http_port 3130 intercept
    но не обе строки сразу

    •   FreeBSD: squid (прозрачный) + wccp, !*! LoneFoxx, 17:27 , 09-Окт-13 (2)
      >> 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 иначе сыпится с ошибками.

      •   FreeBSD: squid (прозрачный) + wccp, !*! михалыч, 17:31 , 09-Окт-13 (3)
        >>> 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 на него разумеется.

        •   FreeBSD: squid (прозрачный) + wccp, !*! LoneFoxx, 17:36 , 09-Окт-13 (4)
          >[оверквотинг удален]
          >>> А разве так можно?
          >>> Ну попробуйте только так
          >>> 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
          так же как и было - счетчик растет пакетов - страницы по таймауту вылетают.

          •   FreeBSD: squid (прозрачный) + wccp, !*! михалыч, 17:40 , 09-Окт-13 (5)
            >[оверквотинг удален]
            >> Попробуйте только порт 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 обязательна? Без неё сквид запускается?

            •   FreeBSD: squid (прозрачный) + wccp, !*! LoneFoxx, 17:46 , 09-Окт-13 (6)
              >[оверквотинг удален]
              >>  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.
              а запускаться запускается, он вот результат тот же....

              •   FreeBSD: squid (прозрачный) + wccp, !*! михалыч, 17:52 , 09-Окт-13 (7)
                >[оверквотинг удален]
                >>> так же как и было - счетчик растет пакетов - страницы по
                >>> таймауту вылетают.
                >> В логах что?
                >> Строка 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.ru/openforum/vsluhforumID12/4724.html

                •   FreeBSD: squid (прозрачный) + wccp, !*! LoneFoxx, 19:03 , 09-Окт-13 (8)
                  >[оверквотинг удален]
                  >> с версии 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.ru/openforum/vsluhforumID12/4724.html

                  пакеты по правилу что я добавляю (в том числе и ваше) ходят счетчик растет но страницы не открываются, отваливаются по таймауту.

                  c правилом что Вы сказали - результат тот же..  Про mtu стоит 1500

                  •   FreeBSD: squid (прозрачный) + wccp, !*! михалыч, 07:22 , 10-Окт-13 (9)
                    >[оверквотинг удален]
                    >>> а запускаться запускается, он вот результат тот же....
                    >> это выглядит сомнительно 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.ru/openforum/vsluhforumID12/4724.html
                    > пакеты по правилу что я добавляю (в том числе и ваше) ходят
                    > счетчик растет но страницы не открываются, отваливаются по таймауту.
                    > c правилом что Вы сказали - результат тот же..  Про mtu
                    > стоит 1500

                    Шайтан, однако.
                    Ну, послушайте tcpdump -i gre0
                    Пакеты туда-сюда бегают? Или сюда-туда?

                    •   FreeBSD: squid (прозрачный) + wccp, !*! LoneFoxx, 08:32 , 10-Окт-13 (10)
                      >[оверквотинг удален]
                      >>> лучше так fwd 172.16.0.9,3128 tcp from 172.16.0.0/16 to not me 80
                      >>> пакеты gre не проскакивают? mtu на сервере понизить?
                      >>> посмотрите ещё здесь http://www.opennet.ru/openforum/vsluhforumID12/4724.html
                      >> пакеты по правилу что я добавляю (в том числе и ваше) ходят
                      >> счетчик растет но страницы не открываются, отваливаются по таймауту.
                      >> c правилом что Вы сказали - результат тот же..  Про mtu
                      >> стоит 1500
                      > Шайтан, однако.
                      > Ну, послушайте tcpdump -i gre0
                      > Пакеты туда-сюда бегают? Или сюда-туда?

                      пакеты и запросы только от пользователей направленные cisco. От прокси не каких......


                      •   FreeBSD: squid (прозрачный) + wccp, !*! LoneFoxx, 10:45 , 10-Окт-13 (11)
                        >[оверквотинг удален]
                        >>>> пакеты gre не проскакивают? mtu на сервере понизить?
                        >>>> посмотрите ещё здесь http://www.opennet.ru/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

                        •   FreeBSD: squid (прозрачный) + wccp, !*! михалыч, 13:27 , 10-Окт-13 (12)
                          Установить в squid.conf Full debugging (level 9)
                          debug_options ALL,9
                        •   FreeBSD: squid (прозрачный) + wccp, !*! LoneFoxx, 00:36 , 12-Окт-13 (13)
                          > Установить в squid.conf Full debugging (level 9)
                          > debug_options ALL,9

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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру