Ich bin zufällig bei bsdforums auf ezjail[1] gestossen.
Wem asg sehr gutes Jails-Tutorial noch zu aufwändig ist, für den ist vielleicht ezjail das richtige.
Der Vorteil von ezjail ist die äußerst einfache Erstellung und das Updaten der jails.
Ausserdem sind die frisch erstellten jails gerade mal ~1.5 MB groß, da alle Verzeichnisse nur
aus einer Basejail verlinkt werden.
ezjail ist in den ports, liegt aber auch schon vorkompiliert als pakage vor.
Nach der installation mit pkg_add –r, oder einer anderen Installationmethode der Wahl und einem rehash,
stehen ezjail.admin, ezjail.sh + manpages zur Verfügung.
Mit
wird erst einmal die Basisjail erstellt.
(das kann ein wenig dauern (~2-3h), da als erstes make world aufgerufen
wird – wer sein Hostsystem schon upgedated hat kann das mit der
Option –i übergehen und den Vorgang deutlich beschleunigen)
danach lassen sich mit
die Jails erstellen z.B.:
Die IP´s sollten schon vorher den Interface(s) zugewiesen worden und
in der rc.conf eingetragen sein:
(ifconfig_fxp0_alias0="inet 192.168.2.101 netmask 255.255.255.255")
(ifconfig_fxp0_alias1="inet 192.168.2.102 netmask 255.255.255.255")
nach dem Kopieren der Dateien wird man netterweise gewarnt, wenn irgendwelche Dienste laufen
die sich an alle IP´s des Systems binden, wie z.b. bind oder sendmail.
Mehr dazu in asg´s Jail-howto[2] unter „Problematische Dienste“.
Mit
lassen sich die so erstellten jails nun starten, stoppen und neustarten.
Als Argument nimmt ezjail.sh den Namen entweder einer oder mehrerer Jails.
Wenn keine Argumente mitgegeben werden, sind alle Jails betroffen.
Um die Jails automatisch bei Systemstart mit zu starten genügt der Eintrag:
in der rc.conf des Hostsystems.
Mit ezjail-admin update lassen sich dann nach den nächsten update des Hostsystems alle jails bequem auf einmal aktualisieren.
Um nun zb einen Webserver in einer jail zu starten,
sollten noch einige Dateien der jail angepasst werden:
in der /usr/jails/web1/etc/resolv.conf
und damit der apache automatisch startet
in der /usr/jails/web1/etc/rc.conf
danach sollte sich vom Hostsystem mit
der Webserver installieren lassen.
Die JID lässst sich mit ‚jls’ herausfinden.
Beim nächsten Neustart läuft der apache nun in einer jail.
Für Mehr Info´s siehe:
[1]http://erdgeist.org/arts/software/ezjail/
[2]http://www.grunix.de/doku/howto/jails/index.html
Wem asg sehr gutes Jails-Tutorial noch zu aufwändig ist, für den ist vielleicht ezjail das richtige.
Der Vorteil von ezjail ist die äußerst einfache Erstellung und das Updaten der jails.
Ausserdem sind die frisch erstellten jails gerade mal ~1.5 MB groß, da alle Verzeichnisse nur
aus einer Basejail verlinkt werden.
ezjail ist in den ports, liegt aber auch schon vorkompiliert als pakage vor.
Nach der installation mit pkg_add –r, oder einer anderen Installationmethode der Wahl und einem rehash,
stehen ezjail.admin, ezjail.sh + manpages zur Verfügung.
Mit
Code:
ezjail-admin update
wird erst einmal die Basisjail erstellt.
(das kann ein wenig dauern (~2-3h), da als erstes make world aufgerufen
wird – wer sein Hostsystem schon upgedated hat kann das mit der
Option –i übergehen und den Vorgang deutlich beschleunigen)
danach lassen sich mit
Code:
ezjail-admin create Jailname JailIP
die Jails erstellen z.B.:
Code:
ezjail-admin create web1 192.168.2.101
ezjail-admin create web2 192.168.2.102
Die IP´s sollten schon vorher den Interface(s) zugewiesen worden und
in der rc.conf eingetragen sein:
(ifconfig_fxp0_alias0="inet 192.168.2.101 netmask 255.255.255.255")
(ifconfig_fxp0_alias1="inet 192.168.2.102 netmask 255.255.255.255")
nach dem Kopieren der Dateien wird man netterweise gewarnt, wenn irgendwelche Dienste laufen
die sich an alle IP´s des Systems binden, wie z.b. bind oder sendmail.
Mehr dazu in asg´s Jail-howto[2] unter „Problematische Dienste“.
Mit
Code:
/usr/local/etc/rc.d/ezjail.sh
lassen sich die so erstellten jails nun starten, stoppen und neustarten.
Als Argument nimmt ezjail.sh den Namen entweder einer oder mehrerer Jails.
Wenn keine Argumente mitgegeben werden, sind alle Jails betroffen.
Um die Jails automatisch bei Systemstart mit zu starten genügt der Eintrag:
Code:
ezjail_enable="YES“
in der rc.conf des Hostsystems.
Mit ezjail-admin update lassen sich dann nach den nächsten update des Hostsystems alle jails bequem auf einmal aktualisieren.
Um nun zb einen Webserver in einer jail zu starten,
sollten noch einige Dateien der jail angepasst werden:
in der /usr/jails/web1/etc/resolv.conf
Code:
nameserver IP-des-DNS-Servers
und damit der apache automatisch startet
in der /usr/jails/web1/etc/rc.conf
Code:
apache_enable=“YES“
danach sollte sich vom Hostsystem mit
Code:
jexec JID pkg_add –r apache
der Webserver installieren lassen.
Die JID lässst sich mit ‚jls’ herausfinden.
Beim nächsten Neustart läuft der apache nun in einer jail.
Für Mehr Info´s siehe:
[1]http://erdgeist.org/arts/software/ezjail/
[2]http://www.grunix.de/doku/howto/jails/index.html