mikrotik mehrere wan eingehenden verkehr

979
FancyPants

Ich schreibe hier, um Sie zu fragen, ob Sie jemals ein ähnliches Problem wie ich hatten.

Ich verwende eine Mikrotik RB750UP für mein Büro. Der Router verwaltet 3 verschiedene WANs. Ich verwende kein Balancing oder Bonding solcher Leitungen, aber ich benutze sie nur aus Failover-Gründen.

Grundsätzlich sind die Verbindungen immer aktiv und es wird eine entfernungsbasierte Routing-Regel verwendet, um im Falle eines Ausfalls eines WAN zwischen den aktiven Verbindungen umzuschalten.

Was ich erzwingen muss, ist, den Datenverkehr, der in ein WAN eintritt, irgendwie zu markieren und den Router die Antwort von derselben WAN-Schnittstelle und IP zurück senden zu lassen.

Zum Beispiel: Ich sende eine Anfrage von einem externen Gerät an den WAN2_ip: Port. Der RB hat die WAN1-Funktion (die erste Wahl unter den möglichen Routing-Regeln) und verwendet diese Verbindung, um die Antwort zurückzusenden (die nicht die richtige ist).

Ich habe versucht, die Verbindungen, die zu einer bestimmten Schnittstelle kommen, zu kennzeichnen und die Pakete, die zu dieser Verbindung gehören, mit einer Routing-Markierung zu kennzeichnen. Aber es scheint nicht zu funktionieren.

Hast du irgendwelche Vorschläge?

Vielen Dank

1
Falls Sie meine Antwort schon gesehen haben, bevor ich sie bearbeitet habe und sie nicht funktioniert hat, probieren Sie bitte die neue Antwort. Ich habe ein altes Skript gefunden, das ich beim letzten Mal verwendet hatte, und die Antwort entsprechend aktualisiert. Ich denke es sollte jetzt ziemlich gut klingen. David Woodward vor 8 Jahren 0

1 Antwort auf die Frage

1
David Woodward

Ich denke, dass Sie mit den Noten auf dem richtigen Weg sind. Es ist schon eine Weile her, seit ich das verwendet habe, aber ich denke, Sie müssen für jede WAN-Verbindung eine separate Routing-Tabelle verwenden. Ähnlich den hier dokumentierten Informationen .

So haben Sie beispielsweise für die 1. WAN-Verbindung etwas wie das Folgende eingerichtet und für jedes weitere WAN wiederholt.

(Ersetzen Sie / definieren Sie $ - Variablen durch entsprechende Werte.)

# Get/Assign WAN1 gateway interface/IP wan1_interface=eth0 wan1_gateway_ip_address="$(ifconfig br0 | grep 'inet addr:' | cut -d ':' -f2 | cut -d ' ' -f1)"  # Create routing table for WAN1 ip route replace default via $ dev $ table 100 ip rule add fwmark 0x7 table 100  # Setup policy for marking WAN1 traffic iptables -t mangle -N wan1_policy iptables -t mangle -A wan1_policy -j MARK --set-mark 0x7  # Mark traffic coming in on WAN1 interface iptables -t mangle -A PREROUTING -i $ -j wan1_policy 

Ich entschuldige mich, wenn dies etwas grob oder unvollständig ist. Ich bin leider ein Windows-Administrator in meinem Beruf. Daher neige ich nicht dazu, an der Netzwerk- oder Linux- / Unix-Seite zu basteln, um auf dieser Ebene sehr flüssig zu sein. Ich werde die Antwort jedoch aktualisieren, wenn ich genauere Informationen aus den staubigen Ecken meines Gehirns abrufen kann. :)

UPDATE: Ich habe ein altes Skript gefunden und das obige Beispiel mit genaueren Befehlen aktualisiert. Ich musste sie für Ihre Situation anpassen (ich habe sie verwendet, um den Verkehr zu einer VPN-Verbindung zu leiten), aber ich denke, sie sollten jetzt gut sein.