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.
    • 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.