Jail: Unterschied zwischen den Versionen

Aus UUGRN
K (katfix rückgängig. Kategorie:Virtualisierung als subkat zu Technologie angelegt.)
K (link-vorlage verwenden)
 
(20 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:


Genaugenommen handelt es sich bei einem Jail mehr oder weniger um ein ''aufgebohrtes'' [[chroot]]. Dadurch muss der Kernel zwingend ein gleichartiges Betriebssystem im Jail starten.
Genaugenommen handelt es sich bei einem Jail mehr oder weniger um ein ''aufgebohrtes'' [[chroot]]. Dadurch muss der Kernel zwingend ein gleichartiges Betriebssystem im Jail starten.
==Einschränkungen==
Bis auf ein paar Einschränkungen ist ein Jail genauso funktional wie das native Hostsystem.
Im Detail funktionieren nicht:
* [[Mount]]en und unmounten von Dateisystemen,
* Abhängig von der Policy, Dienste die ''Raw Sockets'' benötigen: [[Ping]], [[Traceroute]], ...
* Shared Memory
* Das Anlegen von Paketfilter-Regeln
Diese Einschränkungen sind derzeit aktuell. An einigen Stellen wird bereits aktiv gearbeitet, andere Einschränkungen sind zu mindest schon auf der ToDo-Liste der Entwickler gelandet. Man darf also gespannt bleiben.
Manche Einschränkungen können global, manche auch Jail-individuell gelockert werden. Dieser Punkt ist stetigen Änderungen unterworfen, es empfiehlt sich daher, den aktuellen Stand von {{man|freebsd|8|jail}} unter '''Sysctl MIB Entries''' zu studieren.
== Entwicklung ==
; CVS:
* [http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/rc.d/jail src/etc/rc.d/jail] Startscript
* [http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.sbin/jail/ src/usr.sbin/jail/] jail(8)
* [http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.sbin/jls/ src/usr.sbin/jls/] jls(8)
* [http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.sbin/jexec/ src/usr.sbin/jexec/] jexec(8)
* [http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/kern/kern_jail.c src/sys/kern/kern_jail.c]
; Jail Resource Limits:
: CPU- und Speicherverbrauch in den einzelnen Jails limitieren bzw. ''gerecht'' aufteilen.
: Soll verhindern, dass ein Jail alle verfügbaren Ressourcen binden kann.
:* [http://code.google.com/soc/freebsd/appinfo.html?csaid=B7593C2466CC95B7 Google Summer of Code]
:* http://wikitest.freebsd.org/JailResourceLimits
;Jail2:
: Einer Überarbeitung des Jail-Konzepts wird in [[Jail2|FreeBSD Jail2]] einfließen.
: Einen Überblick über das Projekt bietet die [http://docs.freevps.com/doku.php?id=freebsd:index FreeVPS Projektseite].


==Siehe auch==
==Siehe auch==
* [[Top-Jailkonzept]] zur Umsetzung bei der [[UUGRN]].
* [http://wiki.freebsd.org/Jails wiki.freebsd.org/Jails]
* [http://www.freebsd.org/cgi/man.cgi?query=jail&sektion=0&manpath=FreeBSD+7.0-RELEASE&apropos=1&format=html Jail relevante Manpages in 7.0]
* [[top.uugrn.org/Jailkonzept]] zur Umsetzung bei der {{UUGRN}}.
* [[Real Virtuality#Jails|Paper zu FreeBSD Jails auf Real Virtuality]]:
:* [http://rabe.uugrn.org/FreeBSD/Jails/Real_Virtuality_2006_Vortrag_Jails.odp Vortragsfolien zu FreeBSD Jails] als ODP (OASIS OpenDocument Präsentation / [[OpenOffice]])
:* [http://rabe.uugrn.org/FreeBSD/Jails/Real_Virtuality_2006_Vortrag_Jails.pdf Vortragsfolien zu FreeBSD Jails] als PDF
* [http://www.heise.de/ix/artikel/2002/03/138/ BSD-Jails als Werkzeug zur Systemabsicherung] iX 3/2002


[[Kategorie:Server]]
[[Kategorie:FreeBSD]]
[[Kategorie:Virtualisierung]]
[[Kategorie:Virtualisierung]]
[[Kategorie:Jail| ]]

Aktuelle Version vom 27. April 2013, 13:32 Uhr

Jails sind eine einfache Lösung zur Virtualisierung von Computersystemen im FreeBSD Betriebssystem. Im Gegensatz zu den meisten gängigen Virtualisierungslösungen wird eine virtuelle Maschine nur sehr rudimentär implementiert. So findet keine tatsächliche Emulation eines vollständigen eigenen Systems samt entsprechender virtueller Hardware statt. Vielmehr läuft ein Jail auf der selben Kernel-Instanz wie das Hostsystem und wird darunter nach einem chroot in ein eigenes Unterverzeichnis in einer eigenen Prozessgruppe gestartet. Der Kernel kapselt dabei die Prozesstabellen ab, so dass ein Jail stets nur seine eigenen Prozesse sehen kann. Ausschließlich das Hostsystem hat Zugriff auf die vollständige Prozesstabelle.

Genaugenommen handelt es sich bei einem Jail mehr oder weniger um ein aufgebohrtes chroot. Dadurch muss der Kernel zwingend ein gleichartiges Betriebssystem im Jail starten.

Einschränkungen[Bearbeiten]

Bis auf ein paar Einschränkungen ist ein Jail genauso funktional wie das native Hostsystem. Im Detail funktionieren nicht:

  • Mounten und unmounten von Dateisystemen,
  • Abhängig von der Policy, Dienste die Raw Sockets benötigen: Ping, Traceroute, ...
  • Shared Memory
  • Das Anlegen von Paketfilter-Regeln

Diese Einschränkungen sind derzeit aktuell. An einigen Stellen wird bereits aktiv gearbeitet, andere Einschränkungen sind zu mindest schon auf der ToDo-Liste der Entwickler gelandet. Man darf also gespannt bleiben.

Manche Einschränkungen können global, manche auch Jail-individuell gelockert werden. Dieser Punkt ist stetigen Änderungen unterworfen, es empfiehlt sich daher, den aktuellen Stand von jail(8) unter Sysctl MIB Entries zu studieren.

Entwicklung[Bearbeiten]

CVS
Jail Resource Limits
CPU- und Speicherverbrauch in den einzelnen Jails limitieren bzw. gerecht aufteilen.
Soll verhindern, dass ein Jail alle verfügbaren Ressourcen binden kann.
Jail2
Einer Überarbeitung des Jail-Konzepts wird in FreeBSD Jail2 einfließen.
Einen Überblick über das Projekt bietet die FreeVPS Projektseite.

Siehe auch[Bearbeiten]