Jail: Unterschied zwischen den Versionen

Aus UUGRN
K
K (link-vorlage verwenden)
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 7: Zeile 7:
 
Bis auf ein paar Einschränkungen ist ein Jail genauso funktional wie das native Hostsystem.
 
Bis auf ein paar Einschränkungen ist ein Jail genauso funktional wie das native Hostsystem.
 
Im Detail funktionieren nicht:
 
Im Detail funktionieren nicht:
* [[IPv6]]
 
 
* [[Mount]]en und unmounten von Dateisystemen,
 
* [[Mount]]en und unmounten von Dateisystemen,
 
* Abhängig von der Policy, Dienste die ''Raw Sockets'' benötigen: [[Ping]], [[Traceroute]], ...
 
* Abhängig von der Policy, Dienste die ''Raw Sockets'' benötigen: [[Ping]], [[Traceroute]], ...
Zeile 15: Zeile 14:
 
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.
 
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 [http://www.freebsd.org/cgi/man.cgi?query=jail&sektion=8&apropos=0&manpath=FreeBSD+6.2-RELEASE jail(8)] unter '''Sysctl MIB Entries''' zu studieren.
+
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 ==
 
== Entwicklung ==
Zeile 36: Zeile 35:
  
 
==Siehe auch==
 
==Siehe auch==
* [http://www.freebsd.org/cgi/man.cgi?query=jail&sektion=0&manpath=FreeBSD+6.2-RELEASE&apropos=1&format=html Jail relevante Manpages in 6.2]
+
* [http://wiki.freebsd.org/Jails wiki.freebsd.org/Jails]
* [[Top-Jailkonzept]] zur Umsetzung bei der [[UUGRN]].
+
* [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]]:  
 
* [[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.odp Vortragsfolien zu FreeBSD Jails] als ODP (OASIS OpenDocument Präsentation / [[OpenOffice]])

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]