Automatisierte Installation mit Packer unter VirtualBox

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
paedubucher
Beiträge: 856
Registriert: 22.02.2009 16:19:02
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz
Kontaktdaten:

Automatisierte Installation mit Packer unter VirtualBox

Beitrag von paedubucher » 30.08.2023 22:13:12

Liebe Freunde der gepflegten automatischen Debian-Installation

Ich habe mich vor zwei Wochen kurz mit Debian Preseeds befasst und auch tatsächlich unter VirtualBox 6.x eine automatische Installation geschafft. Hierzu arbeite ich mit Packer, das VirtualBox per Plugin unterstützt. Die VMs baue ich für die Schule, wo nun schon überall VirtualBox 7.0.10 zum Einsatz kommt. Also musste ich nachziehen und habe auch auf diese Version aktualisiert.

Nun klappt es mit dem Setup leider nicht mehr wie zuvor. Ich musste noch ein Host-only-Network einrichten:

4239

4240

Früher hiess der Adapter einfach vboxnet0, heute geht das wohl leider nicht kürzer als VirtualBox Host-Only Ethernet Adapter.

Ich verwende folgenden Befehl, um das Host-only-Network der VM hinzuzufügen:

Code: Alles auswählen

    vboxmanage = [
        ["modifyvm", "{{.Name}}", "--nic2", "hostonly", "--hostonlyadapter2", "VirtualBox Host-Only Ethernet Adapter"],
    ]
Das ganze ist eine spezielle Syntax vom Tool Packer; die ganze Datei könnt ihr in meiner HCL-Datei sehen.

Weiter verwende ich folgenden Befehl um die automatische Installation zu starten; der Netzwerkadapter wird dabei auch vorgewählt. (Das Preseed kommt erst später zum Zug; das Netzwerk muss da sein, damit es über einen internen HTTP-Server geladen werden kann.)

Code: Alles auswählen

auto interface=enp0s8 url=http://{{.HTTPIP}}:{{.HTTPPort}}/preseed.cfg
Der Installer startet und holt sich offenbar auch eine IP-Adresse. Nur hängt er bei foglendem Schritt:

4241

Nun frage ich mich, wo ich diese "default route" setzen soll. Ich dachte, dass man so etwas wie ein Default Gateway früher hätte bei VirtualBox setzen können.

Hat jemand eine Idee, wie ich diese Option definieren kann? Es muss wohl vor dem Preseed passieren, damit der Installer überhaupt "raus" kommt auf meinen Rechner.

Wer mal mein ganzes Setup ausprobieren will, kann sich auf meinem entsprechenden GitHub-Repo bedienen.
Habe nun, ach! Java
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.

Benutzeravatar
Livingston
Beiträge: 1455
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Automatisierte Installation mit Packer unter VirtualBox

Beitrag von Livingston » 01.09.2023 16:18:56

Ich glaube, der Knackpunkt ist hostonly. Steht nicht im Widerspruch zu DHCP. Das wird nämlich von der VBox zur Verfügung gestellt, um innerhalb des virtuellen Netzes eine IP zu beziehen.
Die Lösung dürfte NAT oder Bridged Networking lauten. -> https://www.thomas-krenn.com/de/wiki/Ne ... lichkeiten

Variante 2: Du machst Deinen Host zu einem Router des virtuellen Netzes und definierst per iptables/nftables eine Weiterleitung, evtl. muss noch eine Route zum Gateway definiert werden.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

Benutzeravatar
paedubucher
Beiträge: 856
Registriert: 22.02.2009 16:19:02
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz
Kontaktdaten:

Re: Automatisierte Installation mit Packer unter VirtualBox

Beitrag von paedubucher » 01.09.2023 16:57:14

Livingston hat geschrieben: ↑ zum Beitrag ↑
01.09.2023 16:18:56
Ich glaube, der Knackpunkt ist hostonly. Steht nicht im Widerspruch zu DHCP. Das wird nämlich von der VBox zur Verfügung gestellt, um innerhalb des virtuellen Netzes eine IP zu beziehen.
Die Lösung dürfte NAT oder Bridged Networking lauten.
Jetzt fällt mir auch wieder ein, warum ich dieses Host-only-Netzwerk ursprünglich aktiviert hatte: Um die Verbindung zum Host zu testen, damit der Guest an die preseed.cfg heran kommt! Als ich diesen Test abgeschlossen hatte, hätte ich das Netz wieder löschen sollen :facepalm:

Ich dachte, dass der Unterschied zu "vorher" an VirtualBox 7 lag, auf das ich ungefähr zum gleichen Zeitpunkt aktualisierte, wie ich das Host-only-Netzwerk defnierte.

Ich werde das noch abschliessend testen, aber jetzt ergibt alles Sinn. :THX:
Habe nun, ach! Java
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.

Antworten