Skip to content

Unix & Linux

Beastie und Penguin. Ein Weblog für FreeBSD und Linux.

Menu
  • Startseite
  • FreeBSD
  • Linux
  • Windows
  • Anwendungen
  • Befehle
  • Shell
  • Web
  • Allgemein
  • Impressum
  • Meine 5 Unix-Regeln für das Leben!
Menu

Es ist schon wieder passiert – oder warum die rc-Reihenfolge wichtig ist.

Posted on 4. Dezember 20244. Dezember 2024 by Robert Friemer

Ich habe es ja bereits bei meine Artikeln zu vm-bhyve geschrieben und jetzt ist es mir wieder passiert! Eine Anleitung ist nicht komplett!

Also worum geht’s hier?

In meinem letzten Artikel FoxInAJail – wie man Firefox sicher in einem Jail nutzt habe ich ja versucht zu beschreiben, wie man Firefox in einem Bastille-jail aufbaut und dieses über ssh nutzen kann (guter Artikel 😉 ).

Jetzt ist es mir aber beim alltäglichen Arbeiten aufgefallen, dass das jail nicht sauber gestartet werden konnte. Warum? Die Netzwerk-Interfaces konnte zwar erstellt werden, aber diese konnte nicht sauber an die Bridge gebunden werden.

Damit hier keine Missverständnisse aufkommen. Ich bin ja ein sparsamer Typ und wollte gerne den „Switch“ vm-public von vm-bhyve mit nutzen, frei nach dem KISS-Prinzip „Keep It Simple Stupid!“. 🙂

Jetzt ist es mir beim Booten aber aufgefallen, dass bastille das foxinajail-Jail vor bhyve starten möchte und da ist natürlich der Public-Switch aka. vm-public-Bridge noch nicht eingerichtet.

Was also tun?

Nun ja, man KÖNNTE eine zweite Bridge aufbauen, aber warum? Wir haben ja schon eine, die zwar für die bhyve-VMs da ist, aber die kann man genauso für jails von Bastille nutzen.

Wie gesagt, die vm-public-Bridge wird erst nach Bastille aufgebaut, also sollte es doch möglich sein Bastille nach bhyve zu starten. Und ja, das geht. Und zwar mit rcorder (siehe man rcorder oder hier https://man.freebsd.org/cgi/man.cgi?query=rcorder&manpath=FreeBSD+8.2-RELEASE).

Mit folgenden Befehl kann man sich die Reihenfolge, in der die Dienste gestartet werden ansehen:

# rcorder /etc/rc.d/* /usr/local/etc/rc.d/*
...
/usr/local/etc/rc.d/bastille
/usr/local/etc/rc.d/vm

Hier wir nun die Reihenfolge für dieses System angezeigt und upps, das erklärt so manches.

Und wie legt man nun die Reihenfolge fest?

Nun ja, wer schon einmal die rc-Skripte angesehen hat, dem wird folgendes auffallen, hier die ersten Zeilen des rc-Skripts von bastille:

#!/bin/sh

# Bastille jail startup script
#
# PROVIDE: bastille
# REQUIRE: NETWORKING
# KEYWORD: shutdown
...

Also, die Keywords sind REQUIRE und BEFORE:

  • Mit REQUIRE wird ein Dienst bereits als erfolgreich gestartet verlangt, bevor dieser Dienst starten kann.
  • BEFORE bedeutet, dass dieser Dienst vor einem anderen Dienst gestartet werden soll.

Ich habe versucht, im Bastille nun in der REQUIRE-Zeile vm noch hinzuzufügen, aber die rcorder-Ausage hat dies nicht gefressen, warum auch immer.

Da aber vm-bhyve und Bastille bei mir die letzten beiden Dienste waren, habe ich einfach bei vm-bhyve in der Zeile BEFORE einfach noch am Ende bastille eingetragen. Also vm-bhyve soll VOR Bastille starten, denn dann wird die Bridge vm-public vor Bastille eingerichtet.

#!/bin/sh
#
# $FreeBSD$

# PROVIDE: vm
# REQUIRE: NETWORKING SERVERS dmesg
# BEFORE: dnsmasq ipfw pf bastille
# KEYWORD: shutdown nojail
...

Und siehe da, Bastille wird nun am Ende der Dienste gestartet.

# rcorder /etc/rc.d/* /usr/local/etc/rc.d/*
...
/usr/local/etc/rc.d/vm
/usr/local/etc/rc.d/bastille

Ein Reboot hat nun gezeigt, dass nun alles korrekt eingerichtet wird, die Interfaces des jails sauber an vm-public gehängt werden und das jail startet.

JIEPPIE! 🙂

So, macht man das!

Robert Friemer

Robert Friemer

Ich arbeite seit Windows for Workgroups 3.11, mit Linux seit Version 2.0 und mit FreeBSD seit Version 3.8. In der IT habe ich schon so einige Irrungen und Wirrungen kommen und gehen gesehen. Und ist seit einigen Jahren arbeite ich (fast) Windows-los. Der kleine Daemon ist für mich mittlerweile ein treuer und zuverlässiger Begleiter in der IT geworden.

More Posts - Website

Kategorien

  • Allgemein (20)
  • Anwendungen (17)
  • Befehle (26)
  • bhyve (8)
  • Firewall (11)
    • Ports (7)
  • FreeBSD (38)
  • Jails (4)
  • Linux (5)
  • Plasma (3)
  • Projekte (6)
  • Python (1)
  • Shell (15)
  • Sicherheit (11)
  • Web (8)
  • Windows (8)

Archiv

  • Juni 2025 (1)
  • Mai 2025 (2)
  • Januar 2025 (1)
  • Dezember 2024 (4)
  • November 2024 (1)
  • Oktober 2024 (3)
  • September 2024 (1)
  • Mai 2024 (1)
  • April 2024 (1)
  • März 2024 (2)
  • Januar 2023 (1)
  • Mai 2022 (1)
  • April 2022 (1)
  • März 2022 (2)
  • Mai 2021 (2)
  • November 2020 (1)
  • Oktober 2020 (1)
  • Juli 2020 (1)
  • Juni 2020 (5)
  • April 2020 (1)
  • Dezember 2018 (1)
  • September 2018 (1)
  • November 2017 (1)
  • August 2017 (1)
  • Juni 2017 (1)
  • Dezember 2016 (1)
  • Mai 2016 (3)
  • März 2016 (1)
  • Februar 2016 (1)
  • Januar 2016 (1)
  • Dezember 2015 (1)
  • Oktober 2015 (2)
  • September 2015 (1)
  • Juni 2015 (3)
  • Mai 2015 (2)

Suche

Robert Friemer

Schlagwörter

.pkgsave 22 25 53 80 110 123 143 443 465 576 993 995 1194 Falsches Keyboard-Layout Fehler Firewall FreeBSD FreeBSD 10 FreeBSD Backup grundsätzliche Ports keine Eingabe Keyboard Layout Login Mail NTP openVPN Plasma Plasma5 Port Ports Secure Shell Sicherheit SSH System wieder herstellen Tastatur Tastatur kaputt TCP UDP Unsichere Router USB-Audio Webserver absichern Webserver Sicherheit Zeit-Server
©2025 Unix & Linux | Built using WordPress and Responsive Blogily theme by Superb