Benutzer-Werkzeuge

Webseiten-Werkzeuge


freebsd:jail

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
freebsd:jail [2022-11-12 22:47:58] – [Jail löschen] manfredfreebsd:jail [2025-08-10 01:30:45] (aktuell) manfred
Zeile 6: Zeile 6:
  
 hilfreiche Links: hilfreiche Links:
 +  * [[https://docs.freebsd.org/de/books/handbook/book/index.html#jails]]
 +  * [[https://docs.freebsd.org/de/books/handbook/book/index.html#jails-ezjail]]
   * [[https://www.cyberciti.biz/faq/howto-setup-freebsd-jail-with-ezjail/|How To Setup FreeBSD Jails With ezjail]]   * [[https://www.cyberciti.biz/faq/howto-setup-freebsd-jail-with-ezjail/|How To Setup FreeBSD Jails With ezjail]]
   * [[http://scratching.psybermonkey.net/2010/06/freebsd-how-to-setup-configure-jail.html]]   * [[http://scratching.psybermonkey.net/2010/06/freebsd-how-to-setup-configure-jail.html]]
Zeile 13: Zeile 15:
   * [[https://www.freebsd.org/doc/handbook/jails-ezjail.html]]   * [[https://www.freebsd.org/doc/handbook/jails-ezjail.html]]
   * [[http://www.cyberciti.biz/faq/howto-setup-freebsd-jail-with-ezjail/]]   * [[http://www.cyberciti.biz/faq/howto-setup-freebsd-jail-with-ezjail/]]
 +
 +
 +===== Quick&Dirty =====
 +
 +  * [[https://docs.freebsd.org/de/books/handbook/book/index.html#jails|Kapitel 32. Jails]]
 +  * **[[https://docs.freebsd.org/de/books/handbook/book/index.html#jails-ezjail|32.6. Verwaltung von Jails mit ezjail]]**
 +
 +so kann das Skript einfach genutzt werden:
 +  > jail-classic_quick_and_dirty.sh testjail 10.10.10.10
 +
 +<file bash jail-classic_quick_and_dirty.sh>
 +#!/bin/sh
 +
 +################################################################################
 +# https://docs.freebsd.org/de/books/handbook/book/index.html#jails-ezjail
 +#
 +# Die meisten Netzwerkdienste laufen problemlos in einer Jail.
 +# Ein paar wenige Netzwerkdienste, vor allem ping(8) verwenden Netzwerk-Sockets.
 +# Aus Sicherheitsgründen werden Netzwerk-Sockets innerhalb der Jails
 +# deaktiviert, so dass Dienste, die diese Sockets benötigten,
 +# nicht funktionieren werden.
 +################################################################################
 +
 +if [ x == "x${2}" ] ; then
 + echo "${0} [Jail-Name] [Jail-IP]"
 + echo "${0} testjail 192.168.10.10"
 + echo "${0} testjail 10.10.10.10"
 + exit 1
 +fi
 +
 +JAIL_NAME="${1}"
 +JAIL_IP="${2}"
 +echo "
 +JAIL_NAME: ${JAIL_NAME}
 +JAIL_IP: ${JAIL_IP}
 +"
 +
 +JAIL_DIR="/usr/jails"
 +
 +JAIL_CMD="$(which ezjail-admin)"
 +if [ x == "x${JAIL_CMD}" ] ; then
 + echo "... ggf. muß ezjail vorher noch installiert werden:"
 + echo "> cd /usr/ports/sysutils/ezjail && make clean install clean"
 + echo "> ezjail-admin update -b"
 + exit 1
 +fi
 +
 +JLS_NAME="$(jls name | grep -E "^${JAIL_NAME}$")"
 +if [ x != "x${JLS_NAME}" ] ; then
 + echo "Eine Jail mit diesem Namen läuft bereits."
 + echo "so kannst Du sie betreten:"
 + echo "> ezjail-admin console ${JAIL_NAME}"
 + exit 1
 +fi
 +
 +IFCONFIG_IP="$(ifconfig -a | grep -F "inet ${JAIL_IP} netmask")"
 +if [ x != "x${IFCONFIG_IP}" ] ; then
 + echo "Die IP existiert schon."
 + exit 1
 +fi
 +
 +HOST_BASIS_RELEASE="$(uname -r | sed 's/[-]p.*//')"
 +echo "OS-Release: ${HOST_BASIS_RELEASE}"
 +
 +### die neue Jail bauen
 +# "lo1" sollte schon eingerichtet sein:
 +# > echo 'cloned_interfaces="lo1"' >> /etc/rc.conf
 +# > service netif cloneup
 +# Created clone interfaces: lo1.
 +#
 +#ezjail-admin create ${JAIL_NAME} "lo1|127.0.1.1,${NIC_ALIAS}|${JAIL_IP}"
 +#
 +NIC_ALIAS="$(cat /etc/rc.conf | grep -E 'ifconfig_[a-z0-9]+="inet ' | grep -Fv bridge | head -n1 | awk -F'=' '{print $1}' | awk -F'_' '{print $2}')"
 +ifconfig ${NIC_ALIAS} alias ${JAIL_IP}/32
 +ezjail-admin create ${JAIL_NAME} ${JAIL_IP}
 +#
 +cp /etc/resolv.conf /etc/localtime /etc/make.conf "${JAIL_DIR}/${JAIL_NAME}"/etc/
 +ls -lha "${JAIL_DIR}/${JAIL_NAME}"/etc/resolv.conf "${JAIL_DIR}/${JAIL_NAME}"/etc/localtime "${JAIL_DIR}/${JAIL_NAME}"/etc/make.conf
 +jls
 +
 +### die neue Jail starten
 +ezjail-admin start ${JAIL_NAME}
 +
 +echo "
 +Um diese Jail nach dem nächsten reboot erneut
 +starten zu können, ist das folgende Kommando nötig.
 +Allerdings ist die Nummer von 'alias0'
 +entsprechend richtig zu setzen:
 +> echo 'ifconfig_${NIC_ALIAS}_alias0="inet ${JAIL_IP}/32"' >> /etc/rc.conf
 +
 +einloggen in die neue Jail:
 +> ezjail-admin console ${JAIL_NAME}
 +
 +die neue Jail auf den neuesten Stand bringen:
 +> ezjail-admin update -b \"${JAIL_DIR}/${JAIL_NAME}\" fetch install
 +
 +die neue Jail wieder löschen:
 +> ezjail-admin stop ${JAIL_NAME}
 +ggf. von Hand eingerichtete Bind-Mounts entfernen...
 +> ezjail-admin delete -w ${JAIL_NAME}
 +> service netif restart
 +"
 +</file>
 +
 +Allerdings mit einer Einschränkung.
 +
 +__Die Jail braucht eine IP und diese wird nicht automatisch bootfest konfiguriert!!!__
 +Da es sich um eine "Quick&Dirty"-Lösung handelt, die einfach nur mal schnell benutzt werden soll, ist es wohl auch besser so.
 +
 +Will man die Jail jedoch dauerhaft bzw. länger betreiben, dann kann man das mit einer Zeile in der ''/etc/rc.conf'' bootfest machen.
 +Dabei muß allerdings das Beispiel-Kommando entsprechend anpassen:
 +  ifconfig_em0_alias0="inet 10.10.10.10/32"
 +
 +Die Nummer von ''alias**0**'' (in diesem Fall die **0**, für den aller ersten Alias) muß in der ''/etc/rc.conf'' absolut eindeutig sein und darf auf keinen Fall mehrfach für einen Alias vergeben werden!
 +
 +
 +===== Allgemeines =====
  
  
Zeile 251: Zeile 370:
 so kann man in allen Jails gleichzeitig die Ports-Trees aktualisieren ohne die Jails zu stoppen: so kann man in allen Jails gleichzeitig die Ports-Trees aktualisieren ohne die Jails zu stoppen:
   > ezjail-admin update -P   > ezjail-admin update -P
 +
 +die Jail-Umgebung neu kompilieren:
 +  > ezjail-admin update -b
  
  
Zeile 285: Zeile 407:
 # > cd /usr/ports/sysutils/ezjail # > cd /usr/ports/sysutils/ezjail
 # > make clean # > make clean
-# > make config+# > make config-recursive
 # > make # > make
 # > make deinstall # > make deinstall
Zeile 338: Zeile 460:
 #   > make install #   > make install
 #   > make clean #   > make clean
-#   > screen -mdS Pakete /home/sbin/Update_-_FreeBSD_-_alle_Pakete_aus_dem_Ports-Tree.sh+#   > screen -mdS Pakete /root/bin/Update_-_FreeBSD_-_alle_Pakete_aus_dem_Ports-Tree.sh
 #   > exit #   > exit
 # #
/home/http/wiki/data/attic/freebsd/jail.1668293278.txt · Zuletzt geändert: von manfred