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: 21.01.2018, 23:13

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
BeitragVerfasst: 03.10.2011, 11:36 
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+).
Thread :arrow: viewtopic.php?f=22&t=27242
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
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 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