IPCop-Forum.de

www.ipcop-forum.de


IPCop-Community
CL-Systems
Home Home   Doku Doku   Links Links   Downloads Downloads
UnIPCop Der (Un)IPCop   IFS IPCop-ForumSpy
CopTime CopTime   Galerie IPCop-Galerie   IPCop Userkarte Userkarte
Aktuelle Zeit: 12.12.2017, 15:02

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 16 Beiträge ]  Gehe zu Seite 1 2 Nächste
Autor Nachricht
BeitragVerfasst: 05.08.2010, 07:51 
Offline
IPCop-Entwickler, Site-Moderator, IPCop-Supporter 2006, 2007, 2008 und 2009
Themenstarter
IPCop-Entwickler, Site-Moderator, IPCop-Supporter 2006, 2007, 2008 und 2009
Benutzeravatar

Registriert: 26.06.2005
Beiträge: 19149
Wohnort: LDK | Hessen
Dieses Skript ist für IPCop v2 (1.9.11+).
Für IPCop v1.4.20 usw. :arrow: viewtopic.php?f=3&t=15643


Download (siehe unten) oder folgendes Skript anlegen als /etc/rc.d/rc.trafficlimit:
Code:
#!/bin/bash
#
#   IPCop very, very simple traffic shaper (limiter) for 1 device
#
# This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

# Copyright (c) 2007-2010 weizen_42
#   based on ideas and documentation from:
#     LARTC HowTo http://lartc.org/howto/index.html
#     HTB Manual  http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm
#
# Change device, IP, max- and limitrate to suit your needs
#
# v1.0    initial release
# v2.0    IPCop v2
#


TC=/sbin/tc

# read IPCop variables
eval $(/usr/local/bin/readhash /var/ipcop/ethernet/settings)
if [ -e "/var/ipcop/red/iface" ]; then
    REAL_RED=`cat /var/ipcop/red/iface`
fi

# which device to shape
DEV=$BLUE_1_DEV

# limit IP 192.168.1.2, IPrange 192.168.1.0/24 or complete device 0.0.0.0/0
IP=192.168.1.2

# from IPCop to IP/network
DOWN_MAX=50mbit
DOWN_LIMIT=256kbit

# from IP/network to IPCop
UP_MAX=50mbit
UP_LIMIT=32kbit

# See how we were called.
case "$1" in
  status)
    echo -e "\\033[1;32m##### Queues on dev: $DEV \\033[0m"
    $TC -s qdisc show dev $DEV
    echo -e "\\033[1;32m\r##### Classes on dev: $DEV \\033[0m"
    $TC -s class show dev $DEV
    echo -e "\\033[1;32m##### Filters on dev: $DEV \\033[0m"
    $TC -s filter show dev $DEV
    ;;
  start)
    echo -e "\\033[1;32mStarting simple shaper on dev: $DEV \\033[0m"

    # qdisc htb, default class 1:99
    $TC qdisc add dev $DEV root handle 1: htb default 99
    # add root class with max rate and default class with max rate
    $TC class add dev $DEV parent 1: classid 1:1 htb rate $DOWN_MAX
    $TC class add dev $DEV parent 1:1 classid 1:99 htb rate $DOWN_MAX ceil $DOWN_MAX
    # add rate and ceil limited class 1:10
    $TC class add dev $DEV parent 1:1 classid 1:10 htb rate $DOWN_LIMIT ceil $DOWN_LIMIT
    # match dst IP to 1:10
    $TC filter add dev $DEV protocol ip parent 1:0 prio 1 u32 match ip dst $IP flowid 1:10

    # this might need some more work :-/
    $TC qdisc add dev $DEV handle ffff: ingress
    $TC filter add dev $DEV parent ffff: protocol ip prio 50 u32 match ip src $IP police rate $UP_LIMIT burst 10k drop flowid :1
    ;;
  stop)
    echo -e "\\033[1;32mStopping simple shaper on dev: $DEV \\033[0m"
    # clean existing down- and uplink qdiscs, hide errors
    $TC qdisc del dev $DEV root    2> /dev/null > /dev/null
    $TC qdisc del dev $DEV ingress 2> /dev/null > /dev/null
    ;;
  restart)
    $0 stop
    sleep 1
    $0 start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart|status}"
    exit 1
    ;;
esac

exit 0


Im Skript Gerät, IP und Geschwindigkeiten anpassen nach Bedürfnis.

Noch kurz folgendes eintipperln (chmod bei Download und entpacken nicht notwendig):
Code:
root@copper:~ # chmod 755 /etc/rc.d/rc.trafficlimit
root@copper:~ # /etc/rc.d/rc.trafficlimit restart


Und dann mit /etc/rc.d/rc.trafficlimit status Status prüfen.


Wenn das Skript nach zufriedenheit funktioniert, aufnehmen in /etc/rc.d/rc.event.local sodas es nach ein IPCop Neustart autmatisch gestartet wird:
Code:
if [ ${1} == "network" -a ${2} == "up" ]; then
    [ -e /etc/rc.d/rc.trafficlimit ] && /etc/rc.d/rc.trafficlimit restart
fi



Download:
http://www.ban-solms.de/downloads/trafficlimit-ipcop-2.0.tar.gz
MD5SUM 719bbbc7a6cbda7349ecf86bcc8b36eb

Entpacken mittels:
Code:
root@copper:~ # tar -xzvf trafficlimit-ipcop-2.0.tar.gz -C /

_________________
/* Gruß weizen_42 */

Bild
| IPCop Doku | IPCop Galerie | IPCop Uptime | Ärger vermeiden |


Nach oben
   
BeitragVerfasst: 26.02.2011, 06:05 
Offline
Rookie
Rookie

Registriert: 26.02.2011
Beiträge: 1
Hi weizen_42,

ist es geplant die TrafficShaper Funktionalität in V2 auch über die GUI mit einer Möglichkeit der Limitierung des Traffics auf bestimmte Grenzwerte zu Verfügung zu stellen?

Die einfache Priorisierung Hoch/Mittel ist für unsere Zwecke leider nicht ausreichend, da z. B. eine Zweigstelle für SSH einen garantierten Traffic benötigt.

pfSense hab` ich bereits ausprobiert, aber war nicht wirklich einfach zu händeln.

Die Funktionen von mOnOwall sind da schon wesentlich transparenter, aber auch hier könnte der Umfang für meinen Geschmack was QoS/TrafficShaping betrifft noch wesentlich größer sein.

Was mir wichtig wäre ist:

- lower limit flexibel einstellbar
- lower limit time scheduled, so dass z. B. ein Dienst Vormittags einen bestimmten Traffic garantiert hat, aber Nachmittags, sobald dieser Traffic nicht benötigt wird, die User wieder unbegrenzt surfen können
- lower limit per Source/Destination inkl. DNS-Hosts für z. B. online-Dienste
- etc.

Einfach zu händeln wäre es z. B. auch, wenn man die Traffic-Begrenzung gleich bei der Portweiterleitung angeben könnte :yeah:

Wäre echt ziemlich genial, wenn da in V2 noch was angedacht wäre :super:

Schönen Gruß,
hannes_


Nach oben
   
BeitragVerfasst: 26.02.2011, 08:28 
Offline
IPCop-Entwickler, Site-Moderator, IPCop-Supporter 2006, 2007, 2008 und 2009
Themenstarter
IPCop-Entwickler, Site-Moderator, IPCop-Supporter 2006, 2007, 2008 und 2009
Benutzeravatar

Registriert: 26.06.2005
Beiträge: 19149
Wohnort: LDK | Hessen
hannes_ hat geschrieben:
ist es geplant die TrafficShaper Funktionalität in V2 auch über die GUI mit einer Möglichkeit der Limitierung des Traffics auf bestimmte Grenzwerte zu Verfügung zu stellen?

Nicht in 2.0, vielleicht später.

hannes_ hat geschrieben:
Einfach zu händeln wäre es z. B. auch, wenn man die Traffic-Begrenzung gleich bei der Portweiterleitung angeben könnte :yeah:

Von donwlink priorisieren halte ich nicht soviel, es sei denn der downlink ist weit über 100 MBit/s.

_________________
/* Gruß weizen_42 */

Bild
| IPCop Doku | IPCop Galerie | IPCop Uptime | Ärger vermeiden |


Nach oben
   
BeitragVerfasst: 07.01.2014, 07:31 
Offline
Chief Inspector
Chief Inspector
Benutzeravatar

Registriert: 31.10.2006
Beiträge: 186
Ich würde das Script gerne nutzen. Leider weiß ich nicht was ich unter "DEV" eintragen muss.
Des Weiteren bin ich irritiert warum ich unter IP einen ganzen Bereich angeben kann.

Es wäre daher nett wenn mir dies jemand erklären könnte.

_________________
Bild


Nach oben
   
BeitragVerfasst: 07.01.2014, 15:06 
Offline
Administrator
Administrator

Registriert: 01.03.2004
Beiträge: 22218
xadox hat geschrieben:
Ich würde das Script gerne nutzen. Leider weiß ich nicht was ich unter "DEV" eintragen muss.

An welchem Device hängt denn das zu limitierende Gerät?

xadox hat geschrieben:
Des Weiteren bin ich irritiert warum ich unter IP einen ganzen Bereich angeben kann.

Weil man auch einen ganzen Bereich limitieren kann.


Nach oben
   
BeitragVerfasst: 07.01.2014, 15:13 
Offline
Chief Inspector
Chief Inspector
Benutzeravatar

Registriert: 31.10.2006
Beiträge: 186
Das NAS hängt im lokalen LAN an GRÜN und hat eine statische IP-Adresse.

_________________
Bild


Nach oben
   
BeitragVerfasst: 07.01.2014, 15:14 
Offline
Administrator
Administrator

Registriert: 01.03.2004
Beiträge: 22218
Ändere DEV=$BLUE_1_DEV in DEV=$GREEN_1_DEV


Nach oben
   
BeitragVerfasst: 08.01.2014, 07:19 
Offline
Chief Inspector
Chief Inspector
Benutzeravatar

Registriert: 31.10.2006
Beiträge: 186
Danke für die Erklärung. Ich habe die Datei nun folgendermaßen angepasst:

Code:
# which device to shape
DEV=$GREEN_1_DEV

# limit IP 192.168.1.2, IPrange 192.168.1.0/24 or complete device 0.0.0.0/0
IP=192.168.190.10

# from IPCop to IP/network
DOWN_MAX=6mbit
DOWN_LIMIT=128kbit

# from IP/network to IPCop
UP_MAX=512kbit
UP_LIMIT=32kbit

Nun dümpelt das NAS allerdings dauerhaft mit ein paar KB/s for sich hin.
Stoppe ich das Script funktioniert der Download auf dem NAS erneut.

_________________
Bild


Nach oben
   
BeitragVerfasst: 08.01.2014, 08:27 
Offline
Administrator
Administrator

Registriert: 01.03.2004
Beiträge: 22218
Und was wundert Dich daran?

Deine Aussage entspricht Deiner Einstellung.


Nach oben
   
BeitragVerfasst: 08.01.2014, 08:31 
Offline
Chief Inspector
Chief Inspector
Benutzeravatar

Registriert: 31.10.2006
Beiträge: 186
Dann habe ich diese anscheinend nicht verstanden. Das Ziel ist es, dass das NAS nur rumdümpelt wenn andere Netzwerkteilnehmer die Bandbreite nutzen.
Falls kein anderer Bandbreite benötigt sollte das NAS mit maximaler Geschwindigkeit arbeiten.

_________________
Bild


Nach oben
   
BeitragVerfasst: 16.01.2014, 22:28 
Offline
Deputy Commissioner
Deputy Commissioner
Benutzeravatar

Registriert: 23.09.2007
Beiträge: 1036
Wohnort: an der Oder
Code:
# limit IP 192.168.1.2, IPrange 192.168.1.0/24 or complete device 0.0.0.0/0
IP=192.168.1.2;192.168.1.3


Wenn ich mehrere IPs limitieren möchte, kann ich das so wie angegeben machen? Oder ist das falsch bzw. gar nicht vorgesehen?

_________________
Immer mit der Ruhe, alles wird gut...

BildBildBild
Mein erster Post im Forum.


Nach oben
   
BeitragVerfasst: 20.01.2014, 17:49 
Offline
IPCop-Entwickler, Site-Moderator, IPCop-Supporter 2006, 2007, 2008 und 2009
Themenstarter
IPCop-Entwickler, Site-Moderator, IPCop-Supporter 2006, 2007, 2008 und 2009
Benutzeravatar

Registriert: 26.06.2005
Beiträge: 19149
Wohnort: LDK | Hessen
Das dürfte /sbin/tc ablehnen. Syntax-Fehler.
Entweder IP=192.168.1.2/31 oder die Zeilen mit $IP duplizieren und dann $IP1, $IP2 usw. verwenden.

_________________
/* Gruß weizen_42 */

Bild
| IPCop Doku | IPCop Galerie | IPCop Uptime | Ärger vermeiden |


Nach oben
   
BeitragVerfasst: 17.06.2014, 13:49 
Offline
Rookie
Rookie

Registriert: 17.06.2014
Beiträge: 2
Hallo,
ich habe zwei dieser Scripte bei mir im Einsatz.
Gesamtbandreite der Verbindung 5 Mbit/s.

Ein Script begrenzt BLAU auf 1 Mbit/s das zweite berenzt GRÜN auf 4 Mbit/s, damit bei einer Vollauslastung auf GRÜN noch 1 Mbit/s für BLAU zu Verfügung steht.
Dies funktioniert - aber leider mit einem Problem:
Das Script für GRÜN drosselt auch die Bandbreite zu ORANGE auf 4 Mbit/s!

Wo liegt das Problem? Kann jemad helfen?

Vielen Dank und schöne Grüße


Nach oben
   
BeitragVerfasst: 07.04.2016, 13:24 
Offline
Sergeant
Sergeant

Registriert: 09.04.2009
Beiträge: 54
weizen_42 hat geschrieben:
Das dürfte /sbin/tc ablehnen. Syntax-Fehler.
Entweder IP=192.168.1.2/31 oder die Zeilen mit $IP duplizieren und dann $IP1, $IP2 usw. verwenden.


Verstehe ich das richtig?

IP=192.168.1.2/31 heisst dann IP 192.168.1.2 bis 192.168.1.31 ?


Nach oben
   
BeitragVerfasst: 07.04.2016, 15:05 
Offline
Deputy Commissioner
Deputy Commissioner
Benutzeravatar

Registriert: 23.09.2007
Beiträge: 1036
Wohnort: an der Oder
Nein, das /31 ist eine andere Schreibweise für 255.255.255.254 als Subnetmaske. /24 ist dann 255.255.255.0

_________________
Immer mit der Ruhe, alles wird gut...

BildBildBild
Mein erster Post im Forum.


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 16 Beiträge ]  Gehe zu Seite 1 2 Nächste

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu Forum:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de