Jails im redudanten Betrieb

R

rmelkner

Guest
Hallo BSDler,

Ich halte ein Vortag zum Thema "Virtuelle Systeme und Strukturen im Einsatz" an meiner FH. Ich habe schon ein Fallbeispiel mit Windows 2000 und VMWare realisiert. Da ich aber schon seit über einem Jahr einen FreeBSD Server im Keller habe, wollte ich noch ein FreeBSD/Jail Fallbespiel präsentieren.

Ich habe folgendes "Netzwerkstuktur" entwickelt:

Ich habe vier Jails auf einem Server (FreeBSD 7.0), auf zwei laufen Webserver (Apache 2.2) und auf den anderen zwei laufen Datenbankserver (PostgreSQL 8). Auf dem Hauptserver und in den Jails läuft ein SSHD Server.

Der Hauptserver hat eine feste IP in Intranet 192.168.178.10 und hat Zugriff auf das Internet. Die Webserver haben die virtuellen IPs 10.10.10.1 und 10.10.10.2, die Datenbankserver haben die IPs 10.10.20.1 und 10.10.20.2 . Auf dem Hauptserver läuft ein Loadbalancer der die Anfragen auf die Webserver verteilt. Die Webserver benutzen nur einen Datenbankserver zur Datenspeicherung, der andere wird nur im Notfall eingesetzt und dient als Replikationsserver bzw. Datenbankserver (Failover ist mir hier zu aufwendig).

Nun folgende Fragen: Wie kann ich kann ich aus den Jails über den Hauptserver auf das Internet zugreifen um die Server bzw. Software zu installieren? Wie können die Jails untereinander kommunizieren? Muß auf dem Hauptserver ein Gateway einrichten? Wie kann aus dem Internet auf die Jails zugreifen?

Ich hab noch zwei Wochen Zeit solch eine Konfiguration in einer VMWare Maschiene zu realisieren. Ist das realistisch?

Ich habe aktuell auf meinem FreeBSD ne kleine Entwicklungsumgebung mit Appache/PHP/MySQL und nen NFS Server laufen. Ich kenn mich mit FreeBSD ein bisschen aus, aber das mit den Jails ist mir zu hoch. Ich hab schon die Manuals studiert. Ich hab es schon geschafft die Jails einzurichten - aber der Rest klappt irgendwie nicht. Schon gar nicht die Softwareinstallation. Ist überhaupt mein Ansatz richtig?
 
defaultrouter=192.168.178.10

Dein Ansatz ist ziemlich sinnfrei und sicherheitstechnisch bedenklich.
Die Kiste ist erheblich langsamer, als wenn du einfach nen Webserver+pg auf dem Hostsystem installierst und den Balancer weglässt. Zudem hat pg in jails den Nachteil, dass du für die Jails security.jail.sysvipc_allowed auf 1 setzen musstest und somit die Jails untereinander und auf auf shared memory-Segmente des Hostsystems zugreifen können.

Sorry, das soll kein Angriff sein. Aber so stellt sich die Sache für mich dar.
 
du kannst auch auf dem hostsystem mit pf arbeiten und damit nat etc. fahren, was dir auch die redirects zu den jails erlaubt. auf grunix.de hat asg ein tutorial zum thema jails verfasst, was dir ebenfalls weiterhelfen wird (er überarbeitet es derzeit). damit die jails untereinander kommunizieren können, muss das übers netzwerk laufen, also jeweils die ip des anderen jails nehmen.
 
Wie kann ich kann ich aus den Jails über den Hauptserver auf das Internet zugreifen um die Server bzw. Software zu installieren?
gateway_enable in rc.conf setzen.

Wie können die Jails untereinander kommunizieren?
Ganz normal, aber: Du verwendest private IP-Netzadressen, die per default nicht geroutet werden. Also: Paketfilter (a.k.a. Firewall) und NAT (wahlweise ipfw, ipf, oder pf) im Hauptserver aktivieren und konfigurieren.

Muß auf dem Hauptserver ein Gateway einrichten?
Siehe oben.

Wie kann aus dem Internet auf die Jails zugreifen?
Per Port-Redirect in der Firewall.

Ich hab noch zwei Wochen Zeit solch eine Konfiguration in einer VMWare Maschiene zu realisieren. Ist das realistisch?
Wenn die die notwendigen Software-Komponenten kennst und konfigurieren kannst: ja. Andernfalls kommt noch die Zeit zum Erlernen der notwendigen Kenntnisse dazu.

.... Ist überhaupt mein Ansatz richtig?
Ja.
 
Dein Ansatz ist ziemlich sinnfrei und sicherheitstechnisch bedenklich. Die Kiste ist erheblich langsamer, als wenn du einfach nen Webserver+pg auf dem Hostsystem installierst und den Balancer weglässt.

Dies ist für Vorführzwecke - nicht für den Produktivbetrieb.

Danke für die Hinweise.
 
Zurück
Oben