freebsd:jail
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| freebsd:jail [2022-01-28 18:28:28] – [alle Jails aktualisieren (Update)] manfred | freebsd:jail [2025-08-10 01:30:45] (aktuell) – manfred | ||
|---|---|---|---|
| Zeile 6: | Zeile 6: | ||
| hilfreiche Links: | hilfreiche Links: | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| * [[http:// | * [[http:// | ||
| * [[http:// | * [[http:// | ||
| Zeile 12: | Zeile 15: | ||
| * [[https:// | * [[https:// | ||
| * [[http:// | * [[http:// | ||
| + | |||
| + | |||
| + | ===== Quick& | ||
| + | |||
| + | * [[https:// | ||
| + | * **[[https:// | ||
| + | |||
| + | 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:// | ||
| + | # | ||
| + | # Die meisten Netzwerkdienste laufen problemlos in einer Jail. | ||
| + | # Ein paar wenige Netzwerkdienste, | ||
| + | # Aus Sicherheitsgründen werden Netzwerk-Sockets innerhalb der Jails | ||
| + | # deaktiviert, | ||
| + | # nicht funktionieren werden. | ||
| + | ################################################################################ | ||
| + | |||
| + | if [ x == " | ||
| + | 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=" | ||
| + | JAIL_IP=" | ||
| + | echo " | ||
| + | JAIL_NAME: ${JAIL_NAME} | ||
| + | JAIL_IP: ${JAIL_IP} | ||
| + | " | ||
| + | |||
| + | JAIL_DIR="/ | ||
| + | |||
| + | JAIL_CMD=" | ||
| + | if [ x == " | ||
| + | echo "... ggf. muß ezjail vorher noch installiert werden:" | ||
| + | echo "> cd / | ||
| + | echo "> ezjail-admin update -b" | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | JLS_NAME=" | ||
| + | if [ x != " | ||
| + | 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=" | ||
| + | if [ x != " | ||
| + | echo "Die IP existiert schon." | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | HOST_BASIS_RELEASE=" | ||
| + | echo " | ||
| + | |||
| + | ### die neue Jail bauen | ||
| + | # " | ||
| + | # > echo ' | ||
| + | # > service netif cloneup | ||
| + | # Created clone interfaces: lo1. | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | NIC_ALIAS=" | ||
| + | ifconfig ${NIC_ALIAS} alias ${JAIL_IP}/ | ||
| + | ezjail-admin create ${JAIL_NAME} ${JAIL_IP} | ||
| + | # | ||
| + | cp / | ||
| + | ls -lha " | ||
| + | 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 ' | ||
| + | entsprechend richtig zu setzen: | ||
| + | > echo ' | ||
| + | |||
| + | einloggen in die neue Jail: | ||
| + | > ezjail-admin console ${JAIL_NAME} | ||
| + | |||
| + | die neue Jail auf den neuesten Stand bringen: | ||
| + | > ezjail-admin update -b \" | ||
| + | |||
| + | 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 | ||
| + | " | ||
| + | </ | ||
| + | |||
| + | Allerdings mit einer Einschränkung. | ||
| + | |||
| + | __Die Jail braucht eine IP und diese wird nicht automatisch bootfest konfiguriert!!!__ | ||
| + | Da es sich um eine " | ||
| + | |||
| + | Will man die Jail jedoch dauerhaft bzw. länger betreiben, dann kann man das mit einer Zeile in der ''/ | ||
| + | Dabei muß allerdings das Beispiel-Kommando entsprechend anpassen: | ||
| + | ifconfig_em0_alias0=" | ||
| + | |||
| + | Die Nummer von '' | ||
| + | |||
| + | |||
| + | ===== Allgemeines ===== | ||
| Zeile 250: | 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 276: | Zeile 399: | ||
| > vi / | > vi / | ||
| > ifconfig sk0 inet 192.168.2.100 -alias | > ifconfig sk0 inet 192.168.2.100 -alias | ||
| + | |||
| + | |||
| + | ==== Beispiel: Test-Jail anlegen ==== | ||
| + | |||
| + | <code bash> | ||
| + | # Das Jail-Paket installieren: | ||
| + | # > cd / | ||
| + | # > make clean | ||
| + | # > make config-recursive | ||
| + | # > make | ||
| + | # > make deinstall | ||
| + | # > make install | ||
| + | # > pkg info -ao | grep -Fi jail | ||
| + | # > make clean | ||
| + | # | ||
| + | # Die Jail-Umgebung kompilieren: | ||
| + | # > ezjail-admin update -b | ||
| + | # | ||
| + | # Den aktuell verwendeten Ports-Tree in die Jail-Umgebung kopieren: | ||
| + | # > mkdir / | ||
| + | # > cp -a /usr/ports/ / | ||
| + | # | ||
| + | # Eine Jail einrichten: | ||
| + | # > ifconfig em0 alias 192.168.1.2/ | ||
| + | # > ezjail-admin create testjail 192.168.1.2 | ||
| + | # | ||
| + | # Ein paar Einstellungen in der Jail vornehmen: | ||
| + | # > cat / | ||
| + | # > vi / | ||
| + | # | ||
| + | # | ||
| + | # | ||
| + | # > vi / | ||
| + | # | ||
| + | # | ||
| + | # > tar cf - /home/bin /home/sbin /home/etc | tar xf - -C / | ||
| + | # > chown -R 0:0 / | ||
| + | # > ls -lha / | ||
| + | # | ||
| + | # Jail starten | ||
| + | # > service ezjail start testjail | ||
| + | # > jls | ||
| + | # > netstat -4anp tcp | fgrep 192.168.1.2 | ||
| + | # | ||
| + | # In die Jail einloggen und einige Kommandos ausführen: | ||
| + | # > ezjail-admin console testjail | ||
| + | # > rm -f / | ||
| + | # > ln -s / | ||
| + | # > exit | ||
| + | |||
| + | # > ezjail-admin console testjail | ||
| + | # > cd / | ||
| + | # > make clean | ||
| + | # > make | ||
| + | # > make install | ||
| + | # > make clean | ||
| + | # > cd / | ||
| + | # > make clean | ||
| + | # > make | ||
| + | # > make install | ||
| + | # > make clean | ||
| + | # > screen -mdS Pakete / | ||
| + | # > exit | ||
| + | # | ||
| + | # Jail wieder runter fahren: | ||
| + | # > service ezjail stop testjail | ||
| + | </ | ||
/home/http/wiki/data/attic/freebsd/jail.1643394508.txt · Zuletzt geändert: von manfred
