Mikrotik - Limitierung d. gesamten Traffics

Mitglied: lars2015

lars2015 (Level 1) - Jetzt verbinden

09.04.2016 um 23:19 Uhr, 1170 Aufrufe, 5 Kommentare, 2 Danke

Guten Abend zusammen,

ich habe folgendes Problem und finde keinen Lösungsansatz im Netz.

Ich habe verschiedene externe ip adressen die zu mir connecten - (ftp server etc... ) nun meine Frage: wie kann ich jeder einzelnen IP eine Limitierung des Traffics setzen : Sprich:

User 1 soll maximal 10 MB/ Tag an Traffic verursachen. (danach soll er keine Daten mehr bekommen von mir bis zum nächsten Tag.)
User 2 soll maximal 2 MB/ Tag an Traffic verursachen. (danach soll er keine Daten mehr bekommen von mir bis zum nächsten Tag.)

Ist dies möglich ? Hatte nur was über Hotspot gelesen/gesehen aber damit habe ich noch nie was machen müssen... finde nur die Limitierung der TrafficRate... aber nicht des Volumes ...

viele Grüße

lars
Mitglied: 114757
114757 (Level 4)
09.04.2016, aktualisiert um 23:53 Uhr
Moin,
das kannst du auf dem Mikrotik mit Queues und einem Skript machen.
Das Script prüft regelmässig pro Queue die aufgelaufene Menge an Bytes (lässt sich abfragen) und bei Überschreiten deines definierten Wertes setzt du im Skript einfach eine Firewall-Rule die die IP blockt. Um Mitternacht lässt du dann ein Skript laufen was die Counter der Queues zurücksetzt und die Firewall regeln wieder raus nimmt. Feddich.

http://wiki.mikrotik.com/wiki/Manual:Scripting

Gruß jodel32
Bitte warten ..
Mitglied: colinardo
10.04.2016, aktualisiert 11.04.2016
Hallo Lars,
ich habe mir da mal zwei Skripte für den Mikrotik geschrieben. Das erste lässt man in regelmäßigen Intervallen laufen und es checkt dann den aufgelaufenen Traffic von einem/mehreren "Simple Queue(s)". Wenn der kumulierte Traffic von Up- und Download in diesen Queue(s) ein bestimmtes Maximum übersteigt wird die externe IP (Target-IP des Queue) in eine Firewall-Blocklist eingetragen. Eine entsprechende Firewall-Rule verweist auf diese Liste und blockt dann diese IPs.

Das zweite Skript lässt man um Mitternacht einmal laufen. Es entfernt dann die IPs von der Blockliste und setzt die Counter der Queues zurück, so dass die Hosts sich wieder verbinden können.

Für jede externe IP die du du limitieren willst erstellst du einen "Simple Queue" und stellst die maximale Geschwindigkeit auf einen definierten Wert (bitte nicht auf "Unlimited" stehen lassen). Den Queues gibst du eindeutige Namen.

Hier sind die Skripte:
Skript 1 checkt den aufgelaufenen Traffic in den Queues so lange die IP des Queues noch nicht auf der Blockliste steht (Regelmässig ausführen lassen z.B. alle 20 Sekunden je nach Genauigkeitsanforderung für die Limitierung)
Skript 2 entfernt die IPs aus der Blockliste und setzt die Zähler aller angegebenen Queues zurück (z.B. immer um Mitternacht ausführen lassen)

Eine Firewall-Regel die den Traffic entsprechend für die IPs blockiert könnte dann so aussehen:
Die Position der Regel ist natürlich zu beachten. Wenn du Connection-Tracking auf deiner Firewall betreibst (also mit Related Regeln arbeitest) und willst das der Traffic für die IP welche Ihr Limit überschreitet, abrupt gekappt werden soll, muss die Regel natürlich vor den "related Regeln" positioniert werden. Willst du das nicht dann kann der User so lange weiter Daten übertragen bis er die Verbindung trennt. Nach dem Connection-Tracking Timeout kommt er dann aber nicht mehr rein. Diese Variante hätte den Vorteil für den Client das er eben noch die Chance bekommt seine laufenden Übertragungen zu beenden, aber natürlich wird dabei der Traffic überschritten. Da musst du also entscheiden was für dich relevant ist.

Hoffe das hilft dir weiter.

Grüße Uwe

Falls der Beitrag gefällt, seid so nett und unterstützt mich durch eine kleine Spende / If you like my contribution please support me and donate

p.s. Es gibt hier eine Kategorie Mikrotik RouterOS, du kannst deine Frage besser dort rein schieben, die Kategorie passt besser.
Bitte warten ..
Mitglied: 114757
114757 (Level 4)
11.04.2016, aktualisiert um 20:00 Uhr
@colinardo Schön kommt sofort in meine Mikrotik-Script-Bibliothek :-) face-smile TOP!!

@lars2015
Wenns das dann war, den Beitrag noch auf gelöst setzen, wenn keine Rückmeldung mehr kommt.

Gruß jodel32
Bitte warten ..
Mitglied: lars2015
11.04.2016 um 22:48 Uhr
Hallo zusammen,

Erst einmal vielen Dank für die tolle Hilfe ! Ich habe mich gestern u vorgestern riesig gefreut über die Antworten und wollte mir mal die Zeit nehmen um mich dafür zu bedanken ! Ich hatte schon nach der ersten Antwort ein mulmiges Gefühl :-) face-smile (dachte : na toll - wieder etwas programmieren / wieder ne neue Sprache "anlernen") Trotzdem ein super Tip mit den Scripts von jodel32 danke dafür
- aber dank Uwe habe ich eine gewisse Ahnung, wie so ein Script aussehen soll/kann und ich hoffe ich bekomme es damit hin.

@ Uwe

Kann es sein, das im ersten Script in Zeile 17 bei "list=block" nicht "block" sondern "MyBlocklist" stehen muss in dem Beispiel ?

- ich habe die Scripte gestern mal schnell ausprobiert und die Bytes wurden auch schön zusammen gezählt und anschließend der User auch in die MyBlocklist eingetragen aber die Firewall-Regel (die ganz nach oben von mir geschoben wurde) hat mir den User nicht direkt gekappt (er hatte einen Video-Stream von meinem Server gestartet, der dann fleißig weiter lief. (hab auch lang genug gewartet, um auszuschliessen das der User was gepuffert hatte) Ich werde dementsprechend meine Einstellungen nochmal überprüfen müssen, da ich nicht sicher ausschließen kann, das sich vielleicht woanders ein Fehler eingeschlichen hat und mich erneut melden... bin ja mit dem Mikrotik hinter einem Telekom Router :( face-sad NAT etc.

Trotzdem vielen Dank bisher Uwe !! Damit hast du mir sehr geholfen. Ich hoffe ich kriege den Rest auch noch hin. Melde mich erneut bis zum WE.

Gruss Lars
Bitte warten ..
Mitglied: colinardo
11.04.2016, aktualisiert um 23:01 Uhr
Zitat von @lars2015:
Kann es sein, das im ersten Script in Zeile 17 bei "list=block" nicht "block" sondern "MyBlocklist" stehen muss in dem Beispiel ?
Sorry da gehört list="$BLOCKLISTNAME" hin, das hatte ich vergessen auszutauschen.

- ich habe die Scripte gestern mal schnell ausprobiert und die Bytes wurden auch schön zusammen gezählt und anschließend der User auch in die MyBlocklist eingetragen aber die Firewall-Regel (die ganz nach oben von mir geschoben wurde) hat mir den User nicht direkt gekappt (er hatte einen Video-Stream von meinem Server gestartet, der dann fleißig weiter lief. (hab auch lang genug gewartet, um auszuschliessen das der User was gepuffert hatte) Ich werde dementsprechend meine Einstellungen nochmal überprüfen müssen, da ich nicht sicher ausschließen kann, das sich vielleicht woanders ein Fehler eingeschlichen hat und mich erneut melden... bin ja mit dem Mikrotik hinter einem Telekom Router :( face-sad NAT etc.

Vermutlich einfach noch ein Interpretationsfehler von deiner Seite.
Das festzustellen kann hier nur das posten deiner Queue und Firewall Config klären.
Das doppelte NAT stellt hier kein Hindernis dar, ist ja nur ein DST-NAT vom T-COM Router in Richtung MK, Source-Address bleibt dann ja gleich.

Grüße Uwe
Bitte warten ..
Heiß diskutierte Inhalte
LAN, WAN, Wireless
Starlink im Unternehmen?
0xFFFFVor 20 StundenFrageLAN, WAN, Wireless40 Kommentare

Guten Morgen Admins, leider leiden wir darunter, dass wir uns hier in DE noch in einem Entwicklungsland was die Internetanbindung angeht, sehr. Nun kam ...

Off Topic
Klimaanlage im Serverraum
gelöst imebroVor 17 StundenFrageOff Topic20 Kommentare

Hallo, wir haben einen kleinen Serverraum (viell. 5 - 6 m²), in dem ein Serverschrank steht. Der Raum hat kein Fenster!!! Darin befinden sich ...

Microsoft
Datenkrake - Browser
DennisWeberVor 1 TagErfahrungsberichtMicrosoft11 Kommentare

Hallo zusammen, ich empfehle euch mal definitiv in "Temp" Verzeichnis eures Browsers zu schauen. Es war für mich erschreckend, wie viele wichtige Dokumente und ...

Netzwerkmanagement
Sicherheitsrisiken Synology DS Admin Konto
RitchtoolsVor 1 TagFrageNetzwerkmanagement6 Kommentare

Hallo Zusammen, ich habe die Pflege von einem Firmen NAS übernommen (Synology) es sind mehrere Rechner im Netzwerk die auf Daten zugreifen. Leider hat ...

Windows 10
Windows 10 hängt bei Neustart immer bei "Bitte warten" über Stunden
gelöst Odde23Vor 18 StundenFrageWindows 1023 Kommentare

Ich habe seit längerem, um genau zu sein seit gut einem Jahr, da wurde der Rechner gekauft, das Problem, dass der Rechner bei einem ...

Windows 10
Windows 10 verliert die Druckertreiber
KMP1988Vor 1 TagFrageWindows 1010 Kommentare

Servus zusammen, wir haben bei einem Kunden folgende Konstellation: - Server2019 (AD, DNS, DHCP) - Server2019 (Print-Server-Rolle) - W10-Clients Die Drucker werden übers Logon-Scirpt ...

DNS
Opendns.com - Kosten?
cordialVor 1 TagFrageDNS2 Kommentare

Moin, Ich möchte gerne den OpenDNS Dienst mal verstehen. Hab da schon länger einen Account mit Filterung. Die "Free" Edition bei OpenDNS ist doch ...

Windows 10
Windows 10 System Recovery Ordner fast 60 GB - Wie löschen?
Looser27Vor 1 TagFrageWindows 106 Kommentare

Guten Morgen, bei einem unserer Clients funktioniert scheinbar das automatische Aufräumen nach Updates / Upgrades nicht. Wie kann ich dem Kollegen auf die Schnelle ...