Netzwerkinterfaces des LD-Server
Zwischen dem Host ldhost und virtuellen Maschinen, sowie den modulspezifischen LXC's fungiert ein virtueller Switch auf Basis von Open vSwitch, kurz OvS. Dabei handelt es sich um einen virtuellen Multilayer Software Switch, der unter der Open-Source Apache 2.0 Lizenz steht.
Selbstverständlich lassen sich Netzbereiche, IP-Adressen und Zuordnungen der Schnittstellen auch nach der Grundinstallation anpassen. Bitte bedenken Sie jedoch, dass die Standardkonfiguration hinsichtlich der IP-Bereiche gut durchdacht ist und sich bewährt hat.
Physische Interfaces
Die physischen Netzwerkschnittstellen des LD-Servers sind mit einem vorangegangenen p_ gekennzeichnet, wie beispielweise p_extern oder p_intern.
Über systemd (Ubuntu 16.04 oder höher) findet sich die Netzwerkkonfiguration auf dem ldhost unter /etc/systemd/network
. Für jedes physische Interface liegt dort eine entsprechende .link-Datei vor, in der im Wesentlichen die MAC-Adresse des Adapters und der Name der Schnittstelle gespeichert sind.
Die Netzwerkschnittstellen können mit diversen Tools angezeigt werden. Angefangen mit dem bordeigenen Tool ip
oder dem nachinstallierbaren Tool inxi
.
Auszug der Schnittstellenkonfiguration eines LD-Servers mittels inxi
:
Eine Umkonfiguration einer physischen Schnittstelle auf eine andere physische Schnittstelle erfordert nun die MAC-Adresse des neuen Interfaces.
Am Beispiel von p_extern muss in der Datei 80-p_extern.link eine Anpassung des Felds MACAddress
erfolgen:
Info
Eine MAC-Adresse darf immer nur an eine physische Schnittstelle gebunden sein.
Zur Übernahme der Anpassung muss dies der initramfs-Datei mitgeteilt werden, sowie im Anschluss ein Server-Neustart erfolgen.
Durch den Neustart lädt der Kernel die geänderte Scnhnittstellenkonfiguration.
Externen Netzwerkbereich ändern
An der physischen Schnittstelle p_extern des LD-Servers wird im Normalfall per Kabel zum vorangeschalteten Router (Gateway) eine Verbindung ins Internet ermöglicht. Damit erhält der LD-Server eine IP-Adresskonfiguration im Netzwerkbereich des Routers. In vielen Fällen ist das ein Standard 192.168.1.X Netzwerk mit einer /24 Subnetzmaske.
Die Zuweisung kann sowohl automatisch über DHCP vom Router erfolgen als auch manuell über eine statische IP-Adresskonfiguration. In beiden Fällen wird die Konfiguration auf dem ldhost in der Datei /etc/network/interfaces
vorgenommen.
ldhost | |
---|---|
Danach muss zur Übernahme der geänderten Netzwerkkonfiguration der LD-Server neu gestartet werden.
Internen Netzwerkbereich anpassen
Bis auf das externe Interface p_extern, werden alle anderen Interfaces über Puppet gemanaged und von OvS (Open vSwitch) verwaltet. Die Einstellungen landen zwar letztendlich im ldhost in /etc/network/interfaces.d/ovs
werden aber im Container puppeteer-g3 konfiguriert.
Zu den internen Netzwerkbereichen zählen das Schulnetzwerk intern
, dass auch über das p_intern Interface an die Clients ausgegeben wird, als auch das sog. servernet
, welches vornehmlich für die Kommunikation der auf dem ldhost befindlichen LXC's Verwendung findet.
Achtung
Die Änderung des Netzwerkbereichs bzw. der Bereiche hat gravierende Auswirkungen auf das gesamte System und sollte nur von erfahrenen Netzwerkadimistratoren vorgenommen werden.
Eine Anpassung der Netzwerkbereiche ist in der Regel nicht notwendig. In Ausnahmesituationen beispielweise wenn der Bereich schon vom externen Netzwerk aufgespannt wird oder ein Verwaltungszugang über das KISS-Netz besteht bedarf es einer Änderung der Netzwerkbereiche.
-
IP-Adresse der Schnittstelle intern am ldhost setzen
root@puppeteer-g3:~ # vi /etc/logodidact/hiera/custom.d/ldhost.yaml
ldhost.yaml Wie unschwer zu erkennen ist, taucht für das Interface intern keine IP-Adresse auf. Diese wird dynamisch aus dem gewählten Netzwerkbereich und dem Parameter
suffix
gebildet. Der Wertsuffix 1
bedeutet, dass sich der ldhost automatisch die erste freie IP aus seinem Netzwerkbereich (Standard 10.16.0.0) holt, was in der Praxis der IP-Adresse 10.16.0.1 enspricht. Die dynamische Zuordnung der IP-Adresse hat den Vorteil, dass sie bei einer Änderung des Netzwerkbereichs automatisch korrekt angepasst wird.Wenn man die IP des ldhost statisch festlegen möchte oder muss, ersetzt man
suffix 1
durch Angabe von IP und Subnetzmaske des Servers. Hierbei kann man die Netzmaske komplett ausschreiben 255.240.0.0 oder die Kurznotation verwenden, wie sie im unten stehenden Beispiel verwendet wird: -
Netzwerkbereich für intern definieren
Der eigentliche Netzwerkbereich wird ebenfalls im puppeteer-g3 in der sog.
custom.yaml
definiert. In dieser Datei sind vom Standard abweichende Konfigurationen festgehalten. Um den Bereich anzupassen, ersetzen Sie nun im Block internal den Standardbereich durch den gewünschten neuen Bereich.root@puppeteer-g3:~ # vi /etc/logodidact/hiera/custom.yaml
custom.yaml Die Änderungen wie gewohnt speichern und ins GIT commiten, sowie prun im ldhost durchführen.
-
IP-Adresse des logosrv anpassen
Der logosrv bildet die Brücke zwischen den physischen Geräten im Schulnetzwerk und den Modulen und Diensten, die auf dem LD-Server bereitgestellt werden. Deshalb muss eine Änderung der IP-Adresskonfiguration ebenfalls für die interne Schnittstelle des logosrv erfolgen. Passen Sie nun im Block [Internal] für
IPAddress
undNetmask
die Werte an.root@logosrv:~ # vi /etc/logodidact/network.conf
network.conf Zum Schluss muss zur Übernahme der Befehl
do_netconf --all
abgesetzt werden. -
LD-Server neu starten
Da eine Re-Inititalisierung aller virtuellen und pysischen Netzwerkschnittstellen erforderlich ist, den LD-Server einmal neu starten.
Zusätzliches physisches Interface definieren
Nachfolgend wird eine physische Schnittstelle mit der Bezeichnung p_wlan hinzugefügt
-
Im ldhost unter
/etc/systemd/network
das physische Interface für p_wlan hinzufügen mit der Bezeichnung und der MAC-Adresse. -
Anschließend im Container puppeteer-g3 in der
custom.yaml
die Schnittstelle definieren -
Nun muss noch die Interface-Konfiguration für den ldhost getätigt werden. Das wird in der
ldhost.yaml
eingetragen -
Die Änderungen wie gewohnt ins GIT commiten
-
Dem logosrv das Interface ebenfalls bekannt machen
-
Zur Übernahme der Konfiguration im ldhost 2-3
prun
durchlaufen.