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

    Dynamic Limiter script for pfsense

    Scheduled Pinned Locked Moved Traffic Shaping
    18 Posts 8 Posters 8.3k 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
      Tillebeck
      last edited by

      This sounds like the most wanted feature "share evenly on LAN" that can be found i nthe m0nowall :-) Very nice.

      Just a tip on a similar feature.
      I have used a router that can work with two limiters for each user (each IP).

      Even bandwidth if more active users than bandwith (like your script)
      Normal limiter when plenty of bandwidth (could be max. 20Mbit pr. user/IP)
      If a user has more than 600 flows (probably p2p) then lower limit for that user to eg. 8Mbit

      Those three rules gives in total a pretty nice setup without much need of QoS.

      I have added some floating rules where traffic to/from the most used news servers end up in the p2p queue. Alias lists have to be updated now and then. But I really et to lower the priority of a lot of traffic that way.

      Thanks for sharing.

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

        Thanks for the comments.

        I have done a little more work and will try and put this stuff into the script.

        In the latest version I have fixed a couple of things.

        things will now work when limit is over 1024 kb/s

        It can send info to a rrd server if needed.(to make pretty graphs) I will also attach my rrd server that I run on a separate ubuntu computer.
        The script looks at the units kb/s or mb/s so the log makes more sense.

        bandwidthv2.txt

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

          Here is my rrd server script that takes the data from the bandwidth script and makes nice graphs. I run it on a seperate computer runnung ubuntu 13.10

          you need the rrdtool (apt-get install rrdtool) and you need to apt-get install librrdtool-oo-perl

          variables are at the top of the script.

          rrdservice.txt

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

            again rename to a .pl extension. I have not tried it on a pfsense box but think there is a freebsd package for perl rrdtool::oo

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

              same instructions as before, this scripts has many improvements, it checks users and the rate for a certain number of times (set to 15 here at 1 second intervals). Then it akes an average and uses this to calculate the limit. Also there are simple switches at the start of the script to turn on and off logging and sending things to the rrd server. Also there is now a log rotate feature tha will keep a certain number of logs and delete older logs.

              I use this script in my environment fine and the new way of detecting who is an active user has led to a much better calculation of the limit.

              Also the logs look prettier.

              bandwidthv3.txt

              1 Reply Last reply Reply Quote 0
              • M
                myke
                last edited by

                Hi,

                hmm that's a great idea this script!!!

                I will test it and tell you if it's okay.

                Myke.

                1 Reply Last reply Reply Quote 0
                • T
                  Tillebeck
                  last edited by

                  Sorry, I have not tested it yet. I will test too :-)

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

                    Thanks, any feedback would be greatly appreciated :)

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

                      Just to let you know I am currently re writng this in php and getting it more integrated with the existing shaper php functions in pfsense.

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

                        Hi just thought I would let all know of the progress, I noticed alot of people asking for a limiting script so this might be helpful

                        I am working on v4 now which will have a better limiting algorithm and post the stats (users, limit, rate) as an xml file for other monitoring programs to read

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

                          any update for this?
                          at least having a gui

                          thanks

                          1 Reply Last reply Reply Quote 0
                          • H
                            HCJ
                            last edited by

                            how are people getting on with this script ?

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

                              @debremarkos:

                              I am working on v4 now which will have a better limiting algorithm and post the stats (users, limit, rate) as an xml file for other monitoring programs to read

                              Hey debremarkos - any update on this?

                              1 Reply Last reply Reply Quote 0
                              • G
                                GuHwk97
                                last edited by GuHwk97

                                Hey , This script is unavailable
                                Can anyone repost it ?
                                @EricE @debremarkos @HCJ
                                Thanks

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

                                  Does someone still have this available or a link to an equivalent approach?
                                  @GuHwk97 did you find something ?

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