Bearbeiten von „StuRa:Server/FreeBSD“
Zur Navigation springen
Zur Suche springen
Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.
Aktuelle Version | Dein Text | ||
Zeile 141: | Zeile 141: | ||
== Jails == | == Jails == | ||
Jails dienen der Virtualisierung von Betriebssysteminstanzen. Näheres dazu im [ | Jails dienen der Virtualisierung von Betriebssysteminstanzen. Näheres dazu im [http://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/jails.html FreeBSD Handbuch Kapitel 15 - Jails]. | ||
=== Jail Verzeichnis mit ZFS anlegen === | === Jail Verzeichnis mit ZFS anlegen === | ||
* beim ersten Mal | * beim ersten Mal | ||
<code> | |||
# zfs create zpool/jails | |||
# zfs set mountpoint=/usr/home/jails zpool/jails | |||
</code> | |||
* ansonsten reicht es | * ansonsten reicht es | ||
=== Anlegen | <code> | ||
# zfs create zpool/jails/$JAILNAME | |||
* | </code> | ||
* | |||
=== Anlegen eines Jails === | |||
* <code># cd /usr/src</code> | |||
* | * evtl. erst Sourcen installieren: sysinstall-> configure -> distributions | ||
* evtl. <code># make buildworld</code> | |||
* Jails liegen unter /home/jails/$JAILNAME | |||
* System für jail bauen: | |||
* Jails liegen unter | <code> | ||
* System für | # make installworld DESTDIR=/home/jails/$JAILNAME | ||
# make distribution DESTDIR=/home/jails/$JAILNAME | |||
</code> | |||
* device nodes ins | * device nodes ins jail packen | ||
* | ** <code># mount -t devfs devfs /home/jails/$JAILNAME/dev</code> | ||
* | * resolv.conf vom Host kopieren | ||
* | ** <code># cp /etc/resolv.conf /home/jails/$JAILNAME/etc/resolv.conf</code> | ||
* | * rc.conf editieren: | ||
jail_enable="YES" | |||
jail_list="$JAILNAME" | |||
jail_enable="YES" | ifconfig_bce0_alias0="$JAIL_IP netmask 255.255.255.0" | ||
jail_list="$JAILNAME" | jail_$JAILNAME_rootdir="/path/to/jails/$JAILNAME" | ||
ifconfig_bce0_alias0="$JAIL_IP netmask 255.255.255.0" | jail_$JAILNAME_hostname="$JAILNAME.domain.tld" | ||
jail_$JAILNAME_rootdir="/path/to/jails/$JAILNAME" | jail_$JAILNAME_ip="$JAIL_IP" | ||
jail_$JAILNAME_hostname="$JAILNAME.domain.tld" | jail_$JAILNAME_devfs_enable="YES" | ||
jail_$JAILNAME_ip="$JAIL_IP" | jail_$JAILNAME_devfs_ruleset="devfsrules_jail" | ||
jail_$JAILNAME_devfs_enable="YES" | * jail starten | ||
jail_$JAILNAME_devfs_ruleset="devfsrules_jail" | ** <code># /etc/rc.d/jail start</code> | ||
* Prozess im jail starten | |||
* | ** <code># jexec $JAIL_ID tcsh</code> | ||
* | ** $JAIL_ID ermitteln mit | ||
* | *** <code># jls</code> | ||
* | |||
* | |||
* | |||
* Defaultrouting einstellen | * Defaultrouting einstellen | ||
** | ** etc/rc.conf | ||
** | *** defaultrouting="<'''IP''' oder '''interfacename''':network>" | ||
* portscollection installieren | * portscollection installieren | ||
** <code>portsnap fetch extract </code> | ** <code># portsnap fetch extract </code> | ||
* portscollection updaten | * portscollection updaten | ||
** <code>portsnap fetch update </code> | ** <code># portsnap fetch update </code> | ||
* | * evtl. ssh anschalten (in rc.conf) | ||
<code>sshd_enable="YES"</code> | |||
* /etc/host | |||
<code> #.#.#.# JAILNAME.stura.htw-dresden.de </code> | |||
sshd_enable="YES" | |||
</ | |||
* | |||
#.#.#.# | |||
</ | |||
=== Löschen eines Jails === | === Löschen eines Jails === | ||
* ins jailroot wechseln (/home/jails/$JAILNAME) | |||
* | <code> | ||
# chflags -R noschg * | |||
# rm -rf * | |||
# cd .. && rm -r $JAILNAME (ohne ZFS) | |||
# cd .. && zfs destroy tank/PATH/$JAILNAME (mit ZFS) | |||
</code> | |||
=== Tricks, Probleme etc. === | === Tricks, Probleme etc. === | ||
* sich evtl. | * sich evtl. ezjail mal anschauen (war damals kaputt) | ||
* ping aus jails heraus erlauben | * ping aus jails heraus erlauben | ||
** host: allow_raw_socket=1 via | ** host: allow_raw_socket=1 via | ||
** | *** <code># sysctl security.jail.allow_raw_sockets=1</code> | ||
*** bzw. in | *** bzw. in /etc/sysctl.conf setzen | ||
*** [http://www.cyberciti.biz/faq/freebsd-jail-allow-ping-tracerouter-commands/ Quelle] | *** [http://www.cyberciti.biz/faq/freebsd-jail-allow-ping-tracerouter-commands/ Quelle] | ||
* ssh | * ssh: | ||
** | ** etc/ssh/sshd_config: | ||
<code>ListenAddress 0.0.0.0</code> | |||
ListenAddress 0.0.0.0 | |||
</ | |||
* [http://www.freebsd.org/cgi/url.cgi?ports/ports-mgmt/jailaudit/pkg-descr jailaudit] | * [http://www.freebsd.org/cgi/url.cgi?ports/ports-mgmt/jailaudit/pkg-descr jailaudit] | ||
* Apache [http://www.freebsd.org/cgi/url.cgi?ports/www/mod_jail/pkg-descr mod_jail] als Alternative zu mod_chroot | * Apache [http://www.freebsd.org/cgi/url.cgi?ports/www/mod_jail/pkg-descr mod_jail] als Alternative zu mod_chroot |