LOAD BALANCER NEWS

Clients uind Server im gleichen Subnetz – ein Problem?

Grundprinzip: Wenn Clients und Server im gleichen IP-Netz sind, kann das “normale” Routing nicht funktionieren. Als da wäre: – Client schickt Anfrage zum Load Balancer – dieser reicht diese zum Server weiter, lässt dabei die Absenderadresse unverändert – Server bekommt die Anfrage und schickt die Antwort an den Absender – da aber der Absender im gleichen Netz ist, greifen keine Routing-Tabellen, d.h. der Client bekommt eine Antwort vom falschen System (und der Load Balancer sieht nichts von der Antwort) -> verwirft die Antwort, Abbruch. Prinzipielle Behebungsmöglichkeit: Schlüsselsatz ist “lässt dabei die Absenderadresse unverändert” – dieses Verhalten nennt man TRANSPARENZ, und kann man abschalten. Dann sieht der Server als Absender immer den Load Balancer, und schickt alle Antworten an diesen – Kommunikation funktioniert. Nachteil: Server sieht nicht mehr die “echten” Absender, Logfiles geben nichts mehr her. Workarounds für die Praxis: – Transparenz abschalten, aber die “echten” Absender per HTTP Header übermitteln, und per Apache-Config ins Log schreiben lassen – Gesonderten Virtuellen Service (andere IP oder Port) für die interne Kommunikation einrichten, nur diesen nicht-transparent laufen lassen Ich empfehle euch letzteres, falls kein Problem für die langfristige Managebarkeit im Server-Stup. Alternative Behebungsmöglichkeit: “Direct Server Return”, d.h. es ist gewollt, dass der Server immer direkt zum Client antwortet, und durch Tricks erreicht man, dass er dies mit der richtigen Absender-IP tut. Was aber erhebliche Nachteile hat: – Eingriff auf Betriebssystemebene des Server – Load Balancer sieht die Antworten, kann also keine intelligenten Dinge wie Cookie Persistenz tun. Macht hier keinen Sinn. Mehr zu Transparenz hier: http://www.loadbalancerblog.de/loadbalancing-know-how/was-bedeutet-eigentlich-transparenz/

Tags:

Related.Posts

Comments are closed.