Skip to content

Unix & Linux

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

Menu
  • 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. December 20244. December 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

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 (15)
  • Befehle (23)
  • bhyve (7)
  • Firewall (10)
    • Ports (7)
  • FreeBSD (35)
  • Jails (3)
  • Linux (4)
  • Plasma (2)
  • Projekte (6)
  • Python (1)
  • Shell (15)
  • Sicherheit (10)
  • Web (8)
  • Windows (8)

Archiv

  • January 2025 (1)
  • December 2024 (4)
  • November 2024 (1)
  • October 2024 (3)
  • September 2024 (1)
  • May 2024 (1)
  • April 2024 (1)
  • March 2024 (2)
  • January 2023 (1)
  • May 2022 (1)
  • April 2022 (1)
  • March 2022 (2)
  • May 2021 (2)
  • November 2020 (1)
  • October 2020 (1)
  • July 2020 (1)
  • June 2020 (5)
  • April 2020 (1)
  • December 2018 (1)
  • September 2018 (1)
  • November 2017 (1)
  • August 2017 (1)
  • June 2017 (1)
  • December 2016 (1)
  • May 2016 (3)
  • March 2016 (1)
  • February 2016 (1)
  • January 2016 (1)
  • December 2015 (1)
  • October 2015 (2)
  • September 2015 (1)
  • June 2015 (3)
  • May 2015 (2)

Suche

Robert Friemer

Tags

.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