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.
    • C
      Clista
      last edited by

      помогите пожалуйста  ::)

      1 Reply Last reply Reply Quote 0
      • M
        Mr. Boroda
        last edited by

        попробуй изменить 41 строку
        open(FF,"> /usr/local/squid/blocked_users");

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

          спасибо, сейчас попробуемс)

          1 Reply Last reply Reply Quote 0
          • 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.