Mit der neuen Bastille Version kann nun ENDLICH einem FreeBSD Jail eine feste MAC Adresse zugeordnet werden. Das ist dann hilfreich, wenn die Zuteilung der IP Adressen mittels DHCP erfolgt (so wie bei mir). Los gehts.
Um ein Jail mit einer fixen MAC Adresse zu erstellen, reicht es den neuen Parameter -M
beim erstellen des Jails mit anzugeben.
Aber was ist mit den bereits existierenden Jails? Es werden drei neue Zeilen in der jail.conf benötigt, die sich unterhalb der
exec.prestart += "ifconfig epairXb up name eXb_JAILNAME";
Zeile eingliedert:
Achte hier auf die epairX Einträge, denn das muss zu dem Rest der Config passen
JAILNAME sollte für sich stehen, die Bedeutung von MAC-A und MAC-B müssen erklärt werden:
Eine zufällige MAC Adresse kann mit openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'
erzeugt werden, z.B. 8b:75:d6:46:c6:45
.
Ersetzt die letzte Stelle einfach durch a und b, dann habt ihr euer Pärchen:
8b:75:d6:46:c6:4a
8b:75:d6:46:c6:4b
Denn bearbeitet ihr die jeweilige Konfiguration z.B. /usr/local/bastille/jails/db/jail.conf
exec.prestart += "ifconfig eXa_JAILNAME ether MAC-A";
exec.prestart += "ifconfig eXb_JAILNAME ether MAC-B";
exec.prestart += "ifconfig eXa_JAILNAME description \"vnet host interface for Bastille jail JAILNAME\"";
An diesem Beispiel sieht das dann komplett so aus:
db {
enforce_statfs = 2;
devfs_ruleset = 13;
exec.clean;
exec.consolelog = /var/log/bastille/db_console.log;
exec.start = '/bin/sh /etc/rc';
exec.stop = '/bin/sh /etc/rc.shutdown';
host.hostname = db;
mount.devfs;
mount.fstab = /usr/local/bastille/jails/db/fstab;
path = /usr/local/bastille/jails/db/root;
securelevel = 2;
osrelease = 14.2-RELEASE;
vnet;
vnet.interface = e8b_db;
exec.prestart += "ifconfig epair8 create";
exec.prestart += "ifconfig publicnet0 addm epair8a";
exec.prestart += "ifconfig epair8a up name e8a_db";
exec.prestart += "ifconfig epair8b up name e8b_db";
exec.prestart += "ifconfig e8a_db ether 8b:75:d6:46:c6:4a";
exec.prestart += "ifconfig e8b_db ether 8b:75:d6:46:c6:4b";
exec.prestart += "ifconfig e8a_db description \"vnet host interface for Bastille jail db\"";
exec.poststop += "ifconfig publicnet0 deletem e8a_db";
exec.poststop += "ifconfig e8a_db destroy";
}
Am Ende genügt es das Jail mit bastille restart JAILNAME
neu zu starten.
Bei entsprechender Registrierung der MAC Adresse im DHCP Server wird immer die gleiche IP zugewiesen.
Die BSDBox ist meine IT-Spielwiese. Professionelle Dienstleistungen rund um die Themen Netzwerk-, Server- und Struktur-aufbau biete ich mit meiner Firma computing-competence an. Wenn Du diese Inhalte für wertvoll und nützlich hälts, dann freue ich mich über eine Rückmeldung per Matrix, E-Mail oder folge mir doch auf Mastodon.