iproute mehrere ADSL Load Balancer über VM


10

Seit langer Zeit (2 Jahre?) Betreibe ich eine virtuelle Maschine (Ubuntu 12.04-Server) mit einer sehr einfachen Funktion für den ausgehenden Lastausgleich, bei der verschiedene ausgehende Verbindungen über verschiedene ADSL-Router gesendet werden.

NAT wird einfach durch die Verwendung von iproute ohne NAT-Maskerade konfiguriert und von den ausgehenden ADSL-Routern selbst verwaltet, sodass Verbindungen unter Umgehung der VM des Lastausgleichs-Routers direkt zum Absender zurückgeleitet werden können. Es gibt auch keine Firewall-Regeln (iptables) auf der Router-VM.

echo 1 > /proc/sys/net/ipv4/ip_forward

# flush initially
ip route flush cache

# remove whatever is there for the default to begin with
ip route delete default

# default load balancing rule
ip route add default scope global \
    nexthop via ${ROUTER2} dev ${INTERFACE} weight 6 \
    nexthop via ${ROUTER1} dev ${INTERFACE} weight 4

Das hat lange gut funktioniert.

Ich habe kürzlich den Load Balancer (virtuelle Maschine des Ubuntu 12.04-Servers) auf Ubuntu 14.04 aktualisiert (do-release-upgrade -d).

Da die Aktualisierung der Internetverbindungen mit dem oben genannten Befehl "IP-Route Standard hinzufügen" sporadische Verbindungsprobleme verursacht und eine unbrauchbare Erfahrung verursacht. Fast so, als würden einzelne Pakete über beide Router und nicht über vollständige Verbindungen gesendet.

Dies wurde mit einer zweiten virtuellen 14.04-Maschine mit dem gleichen Effekt versucht.

Ich würde gerne die gleiche Funktionalität unter Ubuntu 14.04 haben (aktueller Kernel: 3.13.0-24). Ich verstehe nicht, was sich geändert hat.

Irgendwelche Vorschläge?


Viele Leute beschweren sich über Netzwerkprobleme. Können Sie Ihren Kernel auf 3.14 aktualisieren? Hier sind einige Installationsanweisungen: linuxg.net/…
Sacx

Durch ein Upgrade auf 3.14 wurde die VM beendet. Kernel Panik. Vielleicht habe ich es nicht richtig gemacht, aber ich habe diese Anweisungen befolgt. In der Zwischenzeit habe ich ein Downgrade auf 12.04 (neu installierte VM) durchgeführt, um die alte Arbeitsfunktionalität weiterhin nutzen zu können. Die Unterstützung bis 2017 ist wahrscheinlich in Ordnung.
Drew Anderson

Die Leute sind sich also bewusst, dass ich diese Lösung nicht mehr benötige (geänderte Jobs), daher werde ich nicht wissen, ob ich diese in 14.04 zum Laufen bringen kann.
Drew Anderson

Befinden sich beide Router im selben L3-Netzwerk? Am besten 1 Subnetz pro Netzwerkkarte / Route.
user158798

Antworten:


2

Mir ist klar, dass das Originalplakat keine Lösung mehr benötigt, aber hier ist meine Ansicht zur besten Lösung für dieses Problem. Mir ist auch klar, dass das Poster lieber Ubuntu verwenden würde, aber die manuelle Konfiguration der Routing-Regeln ist nicht gut, um das Eigentum auf andere zu übertragen oder sich Jahre später selbst zu referenzieren.

Ich persönlich würde ein robusteres Setup mit einer PFSense-VM zum Lastausgleich der Verbindungen vorschlagen. Ich würde wahrscheinlich auch vorschlagen, NAT auf der PFSense-Box selbst und nicht auf den Modems durchzuführen. Ich habe etwas Ähnliches in einer VM konfiguriert und es funktioniert gut.

Für die Verbindungen zwischen den Modems und der PFSense-VM verwende ich einen vlan-fähigen Switch, um 3 separate VLans mit der VM zu verbinden und diese auf 3 separate Ports am Switch aufzuteilen. Dies liefert tatsächlich ein direktes (virtuelles) Kabel von jedem Modem zur Pfsense-Box und ein weiteres Kabel zum LAN. Anschließend können Sie die Modems für Passthrough konfigurieren, was von Anbieter zu Anbieter unterschiedlich ist.

Es ist wahr, dass dies das Problem umgeht, anstatt es direkt anzusprechen, aber das NAT auf die Modems selbst zu setzen, scheint mir, nur um Ärger zu bitten. Außerdem wurde PFSense speziell als vorgefertigte Router-Lösung entwickelt, sodass es Konfigurationen wie diese unterstützt und weiterhin getestet wird, um eine bessere Zuverlässigkeit durch Upgrades zu gewährleisten.


Diese Antwort mag als Kommentar besser gewesen sein, aber ich habe nicht den Ruf dafür.
Steinbrecher
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.