MikroTik-Load-Balancing- und Failover-Generator
Geben Sie Ihre WAN-Anbindungen ein und erhalten Sie RouterOS-v7-PCC-Load-Balancing mit Failover über rekursive Routen oder nur Failover, jeden Block erklärt.
Läuft in Ihrem Browser; nichts, was Sie eingeben, verlässt Ihr Gerät
Gefahr, sich auszusperren. Routen auf einem entfernten Router zu ändern, kann Sie abschneiden. Testen Sie im Labor oder schalten Sie zuerst Safe Mode (Sicherheitsmodus) ein (Ctrl+X im Terminal).
Erzeugt RouterOS-v7-Syntax (Routing-Tabellen mit fib, routing-table an Routen). Nur IPv4. WANs, deren Gateway sich über DHCP ändert, brauchen ein von Hand oder per DHCP-Client-Skript aktualisiertes Gateway. MikroTik und RouterOS sind Marken der SIA Mikrotīkls. Dieses Tool ist unabhängig und weder mit MikroTik verbunden noch von MikroTik unterstützt.
So richten Sie PCC-Load-Balancing auf MikroTik ein
- Wählen Sie PCC-Load-Balancing mit Failover oder nur Failover.
- Fügen Sie jedes WAN mit Interface, Gateway (bei PPPoE und LTE den Interface-Namen), einem öffentlichen Check-Host, der auf Ping antwortet, und einem Gewicht für seinen Anteil an den Verbindungen hinzu.
- Listen Sie die lokalen Netze und die LAN-Interface-Liste auf, schalten Sie add-default-route an den WAN-Clients aus und wenden Sie das Skript mit eingeschaltetem Safe Mode (Sicherheitsmodus) an.
So funktioniert das erzeugte Setup
PCC-Load-Balancing hat drei bewegliche Teile. Mangle markiert jede neue Verbindung aus dem LAN mit einer vom Per-Connection-Classifier gewählten Connection-Mark und markiert Verbindungen, die auf einem WAN eintreffen, mit diesem WAN, damit Antworten auf Portweiterleitungen denselben Weg zurücknehmen. Ein zweiter Satz Mangle-Regeln macht aus jeder Connection-Mark eine Routing-Mark auf jedem Paket. Routing-Tabellen, eine pro WAN, enthalten dann eine Default-Route über dieses WAN, mit den anderen WANs bei höherer Distance als Reserve.
Failover nutzt rekursive Routen. Eine Host-Route schickt je einen öffentlichen Check-Host nur durch das jeweilige WAN. Die Default-Routen verwenden den Check-Host als Gateway mit target-scope=11, sodass RouterOS ihn über diese Host-Route auflöst, und check-gateway=ping pingt den Check-Host alle zehn Sekunden an. Zwei ausbleibende Antworten nehmen die Route außer Betrieb, und die nächste Distance übernimmt; antwortet der Host wieder, kommt die Route zurück.
Bevor Sie es anwenden
- Setzen Sie
add-default-route=noan den WAN-DHCP- oder PPPoE-Clients, sonst gewinnen deren eigene Default-Routen. - Sie stellen ein altes v6-PCC-Setup um? Schicken Sie dessen Export durch den Migrationshelfer von v6 auf v7, um zu sehen, was sich ändert.
- Behalten Sie die Input- und Forward-Chains der Firewall bei; der Firewall-Generator arbeitet mit Interface-Listen, nehmen Sie also jedes WAN in die WAN-Liste auf.
Häufige Fragen
Wie teilt PCC den Verkehr auf?
per-connection-classifier bildet aus Feldern jeder neuen Verbindung (beide Adressen oder Adressen und Ports) einen Hash über N Buckets, und jedes WAN übernimmt einige davon. Die Verbindung behält ihre Mark, sodass alle ihre Pakete dasselbe WAN nutzen. Ein Gewicht von 2 gibt einem WAN zwei Buckets, also den doppelten Anteil eines WANs mit Gewicht 1. Die Aufteilung erfolgt pro Verbindung, nicht pro Byte, ein großer Download nutzt also weiterhin nur eine Leitung.
Was ist rekursives Failover und warum nutzt man es?
check-gateway=ping an einer normalen Default-Route testet nur den ersten Hop des Providers, der oft erreichbar bleibt, während das Provider-Netz dahinter gestört ist. Hier erhält jedes WAN eine Host-Route zu einem öffentlichen Check-Host, und die Default-Routen zeigen statt auf das Gateway auf diesen Host. Antwortet der Host über dieses WAN nicht mehr, deaktiviert RouterOS die Routen darüber, und der Verkehr wechselt zum nächsten WAN.
Warum gibt es Output-Drop-Regeln für die Check-Hosts?
Fällt die Leitung eines WANs aus, verschwindet seine Host-Route, und der Router würde den Check-Host über ein anderes WAN erreichen, sodass das tote WAN gesund aussähe. Die Drop-Regeln verhindern, dass Pings an einen Check-Host über ein anderes Interface als sein eigenes WAN den Router verlassen.
Muss ich FastTrack deaktivieren?
Für PCC ja. Routing-Marks setzt Mangle auf jedes Paket, und FastTrack-Pakete überspringen Mangle, würden also der Haupttabelle statt ihrem WAN folgen. Reines Failover funktioniert mit eingeschaltetem FastTrack.
Was hat sich gegenüber den PCC-Anleitungen für RouterOS v6 geändert?
v6-Routen nutzten routing-mark=, und Marks entstanden implizit. In v7 muss jede Mark eine unter /routing table mit fib angelegte Routing-Tabelle sein, und Routen verweisen mit routing-table= darauf. Mangle verwendet weiterhin new-routing-mark. Der Migrationshelfer von v6 auf v7 wandelt alte Routen um und fügt die Tabellen hinzu.
Wird irgendetwas, das ich eingebe, irgendwohin gesendet?
Nein. Das Skript wird in Ihrem Browser erzeugt.