ForumHochverfügbarkeit von Proxy-Servern
Anonymous User – Dienstag, 08. Juli 2003 15:38 Uhr

Hi Linux-Freaks,

da wir in unseren Betrieb fundamental auf das Internet angewiesen
sind,wollen wir mittels eines Squid-Proxy-Verbundes (alle Suse 8.0) ein
hochverfügbares Proxy-System aufbauen.
Zugegebenermassen musste ich mich bislang noch nicht sehr oft mit Themen
wie Clustering befassen. Bei meinen zahllosen Recherchen im Netz stiess
ich auf Programme wie wackamole und spread. Es würde mich sehr
interessieren, ob diese Progs für unser Anliegen der Weisheit letzter
Schluss sind. Vielleicht gibt es hierfür aber auch bessere Programme.
Für Tips, Erfahrungsberichte und weiterführende Links zu leicht
verständlichen Tutorials wäre ich Euch mehr als dankbar.

Mit freundlichen Grüßen

TMM – The Midnight Man

1 Antwort
Christoph – Dienstag, 08. Juli 2003 18:40 Uhr

hallo

für wieviele user ?
welche hardware ?
mit user authentication oder ohne ?
willst du einen transparennten proxy verwenden ?

und ein link zu clustering:
http://www.lcic.org/

gruss
christoph

Gast – Mittwoch, 09. Juli 2003 16:13 Uhr

Hallo noch mal,

Du hast ja recht, ich mache zu wenig Angaben.
Also werde ich das Ganze mal ein wenig mit “Blut” füllen.

Wir betreiben eine Domäne im gemischten Modus. Zur Zeit geht die Belegschaft -d.h. ca. 70 Mitarbeiter – über einen der beiden Squids ins Internet. Das geht auch ganz prima, wartungsarm wie Linux nun einmal ist.
Die Proxys werden bislang über Richtlinien zugewiesen. Es besteht derzeit ein parent- und ein sibling-Verhältnis zwischen den insgesamt drei Proxys.

Nachdem wir nun eine eigene Standleitung haben, soll sich auch das Netzwerkdesign verändern. Die Paketfilter habe ich bereits aufgesetzt, wobei der Squid-Verbund “durchgeschliffen” wird.
Was an dieser Stelle eben noch fehlt, ist ein hochverfügbares Proxy-System.
Welche Progs eignen sich am besten, um den Squid-Verbund – nicht zuletzt auch sicherheitstechnisch abgesegnet – hochverfügbar zu machen.

Viele liebe Grüße

TMM – The Midnight Man

Harald Geiger – Donnerstag, 10. Juli 2003 00:40 Uhr

Hallo TMM!

Zur Zeit geht die Belegschaft -d.h. ca. 70 Mitarbeiter – über einen der beiden Squids ins Internet. […] Es besteht derzeit ein parent- und ein sibling-Verhältnis zwischen den insgesamt drei Proxys.

Verstehe ich das richtig? Die Clients sprechen zwei der Squid-Proxies an, welche beide ein dritten Squid als Parent haben?
Das würde ich ändern und die drei Proxies gegenseitig als Siblings konfigurieren, da der einzelne Proxy in einer HA-Lösung ja wieder einen Single-Point of Failiure (SPoF) darstellt.

im Netz stiess ich auf Programme wie wackamole und spread.

Wackamole, das ja Spread verwendet, arbeitet mit einem Pool von virtuellen IP-Adressen (VIP), die es auf die aktiven Cluster-Mitglieder verteilt. Damit kannst Du eine HA-Lösung realisieren. In Kurzform:
– Jeder Squid erhält eine eigene IP-Adresse.
– Zusätzlich gibt es sechs VIPs für das Cluster.
– Wackamole sorgt für eine Verteilung der VIPs (Im Normalzustand zwei VIP pro Proxy, bei Ausfall eines Rechners drei VIPs für jeden verbleibenden Proxy).
– Im internen DNS gibt es für proxy.firma.de sechs A-Records mit den sechs VIPs.
– Startet ein Benutzer einen Browser, erhält dieser mehr oder weniger zufällig eine dieser VIPs als IP-Adresse des Proxies.
HA für das Squid-Cluster hast Du dann. U.U. verwendet aber die Mehrzahl der Benutzer den gleichen Proxy (kommt darauf an, wie das interne DNS aufgebaut ist). Mit Round-Robin-DNS und kurzen TTL-Zeiten der A-Records für die VIPs sollte aber in allen Fällen eine einigermassen gleichmäßige Verteilung zu erreichen sein. Das ganze bringt Hochverfügbarkeit aber nur für den Squid selbst. Verkabelung, Switches, Firewall, Router und WAN-Anbindung bleiben weiterhin nicht redundant.

Harald

Gast – Freitag, 11. Juli 2003 17:21 Uhr

Hi Harald,

erst einmal recht herzlichen Dank für die ausführlichen Hinweise, Tips und
Ratschläge.:-)
Leider bin ich wegen innerbetrieblichen Querelen mit einer Softwareumstellung
noch nicht zur Umsetzung dieses Projektes gekommen.

> Die Clients sprechen zwei der Squid-Proxies an, welche beide ein dritten
> Squid als Parent haben? Das würde ich ändern und die drei Proxies
> gegenseitig als Siblings konfigurieren, da der einzelne Proxy in einer
> HA-Lösung ja wieder einen Single-Point of Failiure (SPoF) darstellt.

Der besagte Parent stammt aus einer Außenstelle und soll nicht in die neue
Netzwerkarchitektur mit der Standleitung übernommen werden, so dass nach der
Umstellung vor Ort insgesamt zwei Proxys für den Internetverkehr übrig
bleiben.

Käme für unsere Belange auch in Frage? Dieses Prog scheint mir
jedenfalls viel einfacher in der Handhabung zu sein als wackamole.

Viele Grüße und ein schönes WE

TMM

Harald Geiger – Freitag, 11. Juli 2003 23:07 Uhr

Hallo TMM!

Käme für unsere Belange auch in Frage?

heartbeat alleine reicht nicht, aber zusammen mit mon kannst Du ein Fail-Over Szenario realisieren. Die Clients sprechen alle nur mit einem (dem aktiven) der beiden Squid Proxies. Der andere Rechner überwacht diesen (mit heartbeat und mon) und übernimmt im Fehlerfall die (virtulelle) IP-Adresse des ausgefallenen Rechners. Der Link, den ich unten angegeben habe beschreibt, wie ein Fail-Over für Apache eingerichtet werden kann. Für Squid geht das ganz analog.

Harald

[1] http://www.geocities.com/latompa/ha/apache_heartbeat.html

Gast – Montag, 28. Juli 2003 11:42 Uhr

Hallo Harald,

sorry fuer die spaete Antwort, ich hatte Urlaub.
Der von Dir angegebene Link ist wirklich wunderbar.Das heartbeatd-Szenario
laeuft ganz gut und der Squid lauscht an der VIP..Danke noch mal.
Probleme bereitet aber noch die mon.cf.Leider weiß ich trotz eingehender
Lektuere einschlaegiger Seiten hierzu noch nicht so recht wie
ich dort den zu überwachenden Squid-Prozess eintragen soll.Hast Du da
vielleicht eine Idee oder einen weiterfuehrenden Link?

Viele liebe Gruesse

TMM

Harald Geiger – Dienstag, 29. Juli 2003 11:17 Uhr

Hallo TMM,

das einfachste zur Überwachung des Squids auf dem aktiven Proxy ist wohl der tcp.monitor. Der prüft aber nur ob an Port 3128/tcp (bzw. an dem Port den Squid in Eurer Konfiguration benutzt) ein Dienst lauscht. Ausgehend von der mon.cf der Apache Überwachung aus dem genannten Link, müsstest Du die http.monitor Zeile ersetzen:

monitor tcp.monitor -p 3128 Harald