Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Автоматическое отключение пользователе&

    Scheduled Pinned Locked Moved Russian
    19 Posts 8 Posters 12.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      Tamriel
      last edited by

      как успехи ?
      отпишись plz

      AMD Athlon™ XP 1700+
      384MB Ram
      NanoBSD Boot Slice pfsense0 / da0s1
      Platform nanobsd (512mb)
      Version 2.0-RELEASE (i386)
      built on Wed Sep 14 09:08:10 EDT 2011

      1 Reply Last reply Reply Quote 0
      • C
        Clista
        last edited by

        Извините, что не сразу ответил

        пробовал
        open(FF,"> /usr/local/squid/blocked_users");
        open(FF,"> /usr/local/etc/squid/blocked_users");

        теперь выдает такие ошибки

        [2.0-RC2][root@pfsense.localdomain]/root(1): perl /usr/local/etc/squid/ter.pl
        String found where operator expected at /usr/local/etc/squid/ter.pl line 44, near "print FF (""
          (Might be a runaway multi-line "" string starting on line 41)
                (Missing semicolon on previous line?)
        Backslash found where operator expected at /usr/local/etc/squid/ter.pl line 44, near "$user\"
                (Missing operator before \?)
        String found where operator expected at /usr/local/etc/squid/ter.pl line 49, near "printf(""
          (Might be a runaway multi-line "" string starting on line 44)
                (Missing semicolon on previous line?)
        syntax error at /usr/local/etc/squid/ter.pl line 41, near "/usr/local"
        Unmatched right curly bracket at /usr/local/etc/squid/ter.pl line 54, at end of line
        syntax error at /usr/local/etc/squid/ter.pl line 54, near "}"
        Execution of /usr/local/etc/squid/ter.pl aborted due to compilation errors.
        
        

        44я строка соответственно
          print FF ("$user\n") if ($h{$user}{size} > $tt{$user}{limit});
        как понимаю он ругается на ввод информации в файл /usr/local/etc/squid/limit
        файлу я на всякий случай присвоил 777 права

        1 Reply Last reply Reply Quote 0
        • D
          dvserg
          last edited by

          c.35-40

            open FF,"  while (<ff>) {
              ($user,$limit)=split;
              $tt{$user}{limit}=$limit;
            } 
            close FF;</ff>
          

          SquidGuardDoc EN  RU Tutorial
          Localization ru_PFSense

          1 Reply Last reply Reply Quote 0
          • C
            Clista
            last edited by

            @dvserg:

            c.35-40

              open FF,"  while (<ff>) {
                ($user,$limit)=split;
                $tt{$user}{limit}=$limit;
              } 
              close FF;</ff>
            

            спасибо тебе о великий гуру пфсенса  ;)
            с этим изменением скрипт запускается
            но вроде бы в файл limit всё равно пользователи не добавляются =\ поковыряюсь пока ещё со скриптом

            только не сердитесь, тут велез другой вопрос, который я задавал ранее
            о возможности блокировки пользователей по ипу
            этой строчкой баняться только учетные записи
            _acl bl_users proxy_auth_regex -i '/usr/local/squid/blocked_users'_к сожалению инфы по настройке асл для фряхи я ещё не нашел (но сейчас продолжаю поиск)
            или подскажите какой каким параметром заменить proxy_auth_regex, чтобы блокировался ип?

            1 Reply Last reply Reply Quote 0
            • C
              Clista
              last edited by

              @Clista:

              этой строчкой баняться только учетные записи
              _acl bl_users proxy_auth_regex -i '/usr/local/squid/blocked_users'_к сожалению инфы по настройке асл для фряхи я ещё не нашел (но сейчас продолжаю поиск)
              или подскажите какой каким параметром заменить proxy_auth_regex, чтобы блокировался ип?

              url_regex верно?
              ипы я прописываю вида 192.168.0.х/32

              1 Reply Last reply Reply Quote 0
              • D
                dvserg
                last edited by

                В сквиде есть опция

                acl banned_hosts src "/var/squid/acl/banned_hosts.acl"
                

                содержит

                10.10.10.10
                10.100.2.100

                Только опция появляется, если что-то было добавлено в  Proxy server: Access control  > Banned host addresses

                Можно в опции настроек ГУИ добавить фиктивный адрес и потом спокойно использовать указанный файл.

                SquidGuardDoc EN  RU Tutorial
                Localization ru_PFSense

                1 Reply Last reply Reply Quote 0
                • C
                  Clista
                  last edited by

                  ух половину проблемы решили) с такой командой все баняться на отличненько  ;D
                  acl bl_users src "/usr/local/squid/blocked_users"
                  http_access deny bl_users

                  пойду добивать, почему пользователи не добавляются в файл blocked_users

                  1 Reply Last reply Reply Quote 0
                  • D
                    dvserg
                    last edited by

                    @Clista:

                    ух половину проблемы решили) с такой командой все баняться на отличненько  ;D
                    acl bl_users src "/usr/local/squid/blocked_users"
                    http_access deny bl_users

                    пойду добивать, почему пользователи не добавляются в файл blocked_users

                    Попробуй сквид погасить - может он держит файл.

                    SquidGuardDoc EN  RU Tutorial
                    Localization ru_PFSense

                    1 Reply Last reply Reply Quote 0
                    • C
                      Clista
                      last edited by

                      сейчас отключены хавп, сквид и сквидгуард

                      результ прежний =(

                      1 Reply Last reply Reply Quote 0
                      • D
                        dvserg
                        last edited by

                        @Clista:

                        сейчас отключены хавп, сквид и сквидгуард

                        результ прежний =(

                        Какие разрешения на файл?

                        SquidGuardDoc EN  RU Tutorial
                        Localization ru_PFSense

                        1 Reply Last reply Reply Quote 0
                        • C
                          Clista
                          last edited by

                          пробовал развные, включая 777

                          1 Reply Last reply Reply Quote 0
                          • P
                            PlanB
                            last edited by

                            Если нет необходимости вести лог трафика, а нужно лишь контролировать его лимит, то лучше использовать Captive Portal + Radius.
                            Правда, по умолчанию FreeRadius в pfSense не умеет считать трафик, но с помощью командной строки и правки пары конфигурационных файлов его можно этому научить.

                            Вместо CP можно использовать PPPoE или PPTP. Причём лучше второе.

                            Вариант с радиусом позволяет контролировать весь трафик, а не только тот, который проходит через сквид.

                            Если кому интересно, напишу подробнее, что нужно править в конфигурационных файлах.

                            Я реализовывал этот вариант на базе 2.0 RC1, но в промышленную эксплуатацию в нашей компании он не пошёл, так как в этом случае не ведётся логирование, т.е. нельзя узнать кто на что этот трафик потратил.
                            Можно конечно использовать в дополнение к радиусу что-то типа ntop, но во-первых он у меня не заработал (какие-то там библиотеки кривые), а во-вторых железо слабовато (PF стоит на ALIX).

                            1 Reply Last reply Reply Quote 0
                            • V
                              vit2002
                              last edited by

                              @PlanB:

                              Если нет необходимости вести лог трафика, а нужно лишь контролировать его лимит, то лучше использовать Captive Portal + Radius.
                              Правда, по умолчанию FreeRadius в pfSense не умеет считать трафик, но с помощью командной строки и правки пары конфигурационных файлов его можно этому научить.

                              Вместо CP можно использовать PPPoE или PPTP. Причём лучше второе.

                              Такой вариант позволяет контролировать весь трафик, а не только тот, который проходит через сквид.

                              Если кому интересно, напишу подробнее, что нужно править в конфигурационных файлах.

                              Я реализовывал этот вариант на базе 2.0 RC1, но в промышленную эксплуатацию в нашей компании он не пошёл, так как в этом случае не ведётся логирование, т.е. нельзя узнать кто на что этот трафик потратил.
                              Можно конечно использовать что-то типа nmap, но во-первых он у меня не заработал (какие-то там библиотеки кривые), а во-вторых железо слабовато (PF стоит на ALIX).

                              если можно расскажи по подробней плиз очень интересно

                              1 Reply Last reply Reply Quote 0
                              • E
                                Eugene
                                last edited by

                                @PlanB:

                                Правда, по умолчанию FreeRadius в pfSense не умеет считать трафик, но с помощью командной строки и правки пары конфигурационных файлов его можно этому научить.

                                Считает вроде без шаманства? что за правки? если не секрет -)

                                Отредактировано: Считает вроде без шаманства. что за правки? если не секрет -)

                                http://ru.doc.pfsense.org

                                1 Reply Last reply Reply Quote 0
                                • D
                                  DVR
                                  last edited by

                                  Отлично всё работает. Как уже говорилось, для блокирования по ip забиваем через гуи фиктивный адрес, а потом используем файл /var/squid/acl/banned_hosts.acl
                                  Нюансы:

                                  1. нужно пропускать первые 2 строки в файле .total:
                                        $totaluser=<ff>;chomp $totaluser;$totaluser=~s/^user: //;
                                        $totalsize=<ff>;chomp $totalsize;$totalsize=~s/^size: //;
                                    while (<ff>) {
                                      ($user, $size, $hit) = split;
                                      $h{$user}{size}+=$size;
                                      $h{$user}{hit}+=$hit;

                                  2. Если пока никто не забанен, то получается пустой файл, поэтому через скрипт прописываем тот же фиктивный ip в файл banned_hosts.acl:
                                      open FF,">","/var/squid/acl/banned_hosts.acl";
                                      print FF ("фиктивный ip\n");
                                    foreach $user (sort {$h{$b}{size}<=>$h{$a}{size}} keys    %h) {
                                      print FF ("$user\n") if ($h{$user}{size} > $tt{$user}{limit});

                                  3. Так как скрипт пользуется результатами работы скрипта /usr/local/www/lightsquid/lightparser.pl то более логично дописать весь этот функционал именно в него.</ff></ff></ff>

                                  1 Reply Last reply Reply Quote 0
                                  • First post
                                    Last post
                                  Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.