Unterschiede zwischen den Revisionen 1 und 2
Revision 1 vom 2004-12-16 23:47:11
Größe: 4057
Autor: anonym
Kommentar: missing edit-log entry for this revision
Revision 2 vom 2005-04-11 10:33:56
Größe: 3988
Autor: anonym
Kommentar: + deutscher howto link
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 8: Zeile 8:
 * das Ganze kostet Performance, es gibt aber einen patch fuers host system, der auf jeden Fall eingespielt werden sollte, weil er auch dolle Sicherheitsfeatures hat, die das jail sichern.  * das Ganze kostet Performance, es gibt aber einen patch (skas) fuers host system, der auf jeden Fall eingespielt werden sollte, weil er auch dolle Sicherheitsfeatures hat, die das jail sichern.
Zeile 11: Zeile 11:
 * irgedwas in der Netz-Konfiguration ist noch bloed, ich kann als uml nicht das eigene eth0 pingen. Ausserdem bricht (deshalb) das rootstrap script beim Netzwerk ab.
  * nett in deutsch: http://www.mathematik.uni-marburg.de/~odb/usermodelinux-howto.html
 
Zeile 25: Zeile 25:
  * vorcompilt: apt-get install user-mode-linux (sollte eigentlich reichen)
  * sourcen (: besser erstmal apt-get install user-mode-linux-doc, dann: dillo /usr/share/doc/user-mode-linux-doc/html/compile.html
  * vorcompiliert: apt-get install user-mode-linux (sollte eigentlich reichen)
  * sourcen (: besser erstmal apt-get install user-mode-linux-doc, dann: dillo /usr/share/doc/user-mode-linux-doc/html/compile.html)
Zeile 75: Zeile 75:

UML

allgemein

  • user mode linux ist im wesentlichen ein kernel patch fuer das linux, das als prozess laufen soll (das dann in der doku UML heisst).
  • die UMLs koennen von Usern gestartet werden -> nette Privilege seperation!

  • das Ganze kostet Performance, es gibt aber einen patch (skas) fuers host system, der auf jeden Fall eingespielt werden sollte, weil er auch dolle Sicherheitsfeatures hat, die das jail sichern.
    • apt-get install kernel-patch-skas
  • es gibt schoene Doku auf der Homepage und so: apt-get install user-mode-linux-doc

policy fuer sao2

  • Tun/Tap einrichten, z.B. mit 192.168.5.n fuer die Host-Enden des tun devices und 192.168.4.n fuer die UMLs. Konventionsvorschlag: n ist an beiden Enden des tun devices gleich.
  • was ein paar Freaks gemacht haben:

The host firewall accepts no syn packets at all on its external IP address. All syn packets must be directed to the UML kernel IP address to be accepted.

  • mehr spannende details von deren setup unter /usr/share/doc/user-mode-linux-doc/html/case-studies.html auf deiner Kiste ;>

  • jedes uml kriegt nen eigenen user, alle in einer Gruppe?

wie geht was bestimmtes genau:

  • image besorgen:
    • vorcompiliert: apt-get install user-mode-linux (sollte eigentlich reichen)
    • sourcen (: besser erstmal apt-get install user-mode-linux-doc, dann: dillo /usr/share/doc/user-mode-linux-doc/html/compile.html)
      • da steht: kernelsourcen ziehn, passenden patch von http://sourceforge.net/project/showfiles.php?group_id=429 besorgen

      • mkdir /usr/src/uml
      • cd /usr/src/uml
      • tar -xzvf linux-2.4.0-prerelease.tar.bz2
      • cd /usr/src/uml/linux
      • cat uml-patch-2.4.0-prerelease.bz2 | bunzip2 - | patch -p1
      • make menuconfig ARCH=um
        • devfs anlassen, oder folgendes im fs machen: for i in 0 1 2 3 4 5 6 7; do mknod ubd$i b 98 $i; done
        • dann auch /etc/fstab und /etc/inittab anpassen
      • make linux ARCH=um
      • make modules ARCH=um
      • mount root_fs mnt -o loop
      • make modules_install INSTALL_MOD_PATH=pwd/mnt ARCH=um

      • umount mnt
  • netz einrichten:
    • aufm host als root tunctl -u <uid> tippen, wobei uid die UserID oder der Name des users ist, der das uml starten wird. Das tool sagt, welches tap device eingerichtet wurde (ab jetzt $TAP).

    • aufm host ist(am besten als Boot-UML-Script):
      • ifconfig $TAP $HOST_IPADDRESS up
      • echo 1 > /proc/sys/net/ipv4/ip_forward

      • route add -host $UML_IPADDRESS dev $TAP
      • echo 1 > /proc/sys/net/ipv4/conf/$TAP/proxy_arp

      • arp -Ds $UML_IPADDRESS eth0 pub
    • host: chmod 666 /dev/net/tun (wenn wir den usern trauen, ansonsten debians uml-net Gruppe)
    • UML mit folgender commandline starten: eth0=tuntap,$TAP
    • im UML /etc/network/interfaces:
      • auto eth0
      • iface eth0 inet static
      • address 192.168.4.1
      • netmask 255.255.0.0
      • network 192.168.0.0
      • gateway 192.168.5.1 #uml host
    • TODO aus irgendeinem abgefahrenen Grund kommt das UML-eth0-device nachm down nicht mehr up.. -> nicht downen hehe

    • damit die lokalen clients die Kiste sehen, muessen sie netmask 192.168.0.0 haben.
  • laufenden uml-kernel als root killen (wenns nur einer ist):
    • kill ps -e | grep linux| head -1| cut -d " " -f 2 && rm -r ~/.uml/*

FAQ

  • Q: Kernel panic: outer trampoline didn't exit with SIGKILL
    • A: UML Kernel ist zu alt fuer den Host. Neueren nehmen.
  • Q: Ich hab das test-rootfs von deren Seite gezogen, und beim booten hoerts nach cron auf/ hat schon vorher kernel panic
    • A: /etc/fstab Zeile auf /dev/ubd0 aendern, in /etc/inittab 4 Zeilen auf folgendes veraendern:
      • 0:2345:respawn:/sbin/getty 38400 tty1
      • #1:2345:respawn:/sbin/getty 38400 tty2
      • #2:2345:respawn:/sbin/getty 38400 tty3
      • c:2345:respawn:/sbin/getty 38400 ttyS0

Creative Commons Lizenzvertrag
This page is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.