Änderungen von Dokument Aktualisiert: VMware Anpassungen für LogoDIDACT als Gastsystem mit dritter Netzwerkschnittstelle
Zuletzt geändert von Jonas Mayer am 2022/05/05 09:42
Von Version 3.1
bearbeitet von superadmin
am 2021/09/03 11:46
am 2021/09/03 11:46
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 21.1
bearbeitet von Jonas Mayer
am 2022/05/05 09:42
am 2022/05/05 09:42
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (3 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Titel
-
... ... @@ -1,1 +1,1 @@ 1 - Umgehung doppelter MAC-Adressenp_intern1 +Aktualisiert: VMware Anpassungen für LogoDIDACT als Gastsystem mit dritter Netzwerkschnittstelle - Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki.s uperadmin1 +XWiki.jonasmayer@sbede - Inhalt
-
... ... @@ -1,73 +1,28 @@ 1 1 (% style="color:#000000" %)Auf den Promiscuous Mode innerhalb der vSwitch-Einstellung unter VMware ESXi kann verzichtet werden, sofern man einige Anpassungen am Netzwerk-Design für den LD2.0 Server durchführt. 2 +Im Folgenden werden die Schritte beschrieben, um die Netzwerk-Interfaces für den ldhost sowie den logosrv-Container entsprechend anzupassen. 2 2 3 - 4 -(% style="color:#000000" %)__**Kurze Erläuterung**__ 5 - 6 -(% class="box infomessage" %) 4 +(% class="box warningmessage" id="HWichtig:A021A0DieseAnleitungfunktioniertnurmitderPuppet-Version1.1.33oderhF6her21" %) 7 7 ((( 8 -(% style="color:#000000" %)Erst einmal zum Verständnis vom promiscuous Mode der Netzwerkkarte bzw. des VMware Switches. 9 -Wir brauchen das eigentlich nur, da wir auf der Schnittstelle "intern" vom ldhost 2 (bis 3) verschiedene IP-Adressen haben und der Switch in VMware kann immer nur eine MAC:Port 10 -Zuordnung pro Port. 11 -Die drei Modi in VMware die es gibt sind: 12 -Feste Mac (forget transmits), EINE beliebige MAC (mac address changes), allen Traffic (promiscuous mode) 13 -\\Intern sind momentan immer ldhost und logosrv mit der Schnittstelle "intern" verbunden. 14 -Je nach Konfiguration kann es noch sein, dass Rembo ebenfalls auf dieser Schnittstelle läuft. 15 -Gründe: 16 -ldhost hauptsächlich fürs Management 17 -logosrv für die eigentlichen Kommunikation 18 -rembo nur wenn kein Routing über logosrv für Rembo eingesetzt wird! 19 -\\Lösungsvorschlag: 20 -Wenn Rembo momentan die Daten noch über logosrv sendet, sollte es funktionieren, dass man auf ldhost das interface v_intern herunterfährt und den Port in 21 -VMware von promiscuous auf "Mac address changes" setzt. Wenn man den v_intern Port auf ldhost überhaupt benötigt, kann man hierfür ein eigenes Interface in VMware erzeugen 22 -und im ldhost einrichten. 23 -\\Damit sollten Probleme die möglicherweise durch den promiscuous mode entstehen ausgeschlossen werden können. 24 -\\Falls es mit dem mode "mac address changes" Probleme gibt, kann man auch die reale MAC-Adresse vom logosrv für die Schnittstelle intern festlegen. 25 -Genaueres dazu hier:(%%) 26 -[[(% style="color:#000000" %)https:~~/~~/www.vmware.com/support/ws55/doc/ws_net_advanced_mac_address.html>>https://www.vmware.com/support/ws55/doc/ws_net_advanced_mac_address.html]](%%) 27 -\\ 6 +(% style="color:#000000" %)**__Wichtig:__** Diese Anleitung setzt mindestens die Puppet-Version 1.1.33 voraus. 28 28 ))) 29 29 30 30 31 - (% style="color:#000000" %)Im Folgenden werden die Schrittebeschrieben, um die Netzwerk-Interfaces fürden ldhostsowie den logosrv-Container entsprechend anzupassen.10 +{{toc start="4"/}} 32 32 33 33 34 -==== (% style="color:# c0392b" %)**__Wichtig:__ ! DieseAnleitungfunktioniertnurmitderPuppet-Version1.1.33oderhöher!**(%%) ====13 +==== (% style="color:#000000" %)1. (% style="color:#2980b9" %)**[VMware Gasteinstellungen]**(% style="color:#000000" %) Netzwerk-Interfaces für die LD2.0 VM im vSphere-Client definieren(%%) ==== 35 35 36 - 37 - 38 -==== (% style="color:#000000" %)__1. Netzwerk-Interfaces für die LD2.0 VM im vSphere-Client definieren__(%%) ==== 39 - 40 - 41 41 (% style="color:#000000" %)Zunächst fügt man der LD2.0 VM eine weitere virtuelle Netzwerkschnittstelle im Netzwerkbereich „intern“ hinzu. 42 -Insgesamt sollten es also 3 Schnittstellen für die logoDIDACT VM sein/ mit Nutzung von lddeploy sind es 4 Schnittstellen:43 -\\- 1. (% style="color:#2980b9" %) **p_extern**(% style="color:#000000" %): für Internetzugang aufldhost44 -- 2. (% style="color:#2980b9" %)**intern_ldhost**(% style="color:#000000" %)**:** für Management-Zugriff auf den ldhost vom Schulnetz aus45 -- 3. (% style="color:#2980b9" %)**intern:**(% style="color:#000000" %) physikalisch durchgereicht an den logosrv LXC-Container (derselbe Netzbereich wie intern_ldhost) 16 +Insgesamt sollten es also 3 Schnittstellen für die LogoDIDACT VM sein: 17 +\\- 1. (% style="color:#2980b9" %) **p_extern**(% style="color:#000000" %): für Internetzugang des ldhost 18 +- 2. (% style="color:#2980b9" %)**intern_ldhost**(% style="color:#000000" %)**:** für lokalen Zugriff auf den ldhost vom Schulnetz aus 19 +- 3. (% style="color:#2980b9" %)**intern:**(% style="color:#000000" %) physikalisch durchgereicht an den logosrv LXC-Container (derselbe Netzbereich wie intern_ldhost, d.h. lokales Schulnetz) 46 46 47 -(% style="color:#2980b9" %)**__Hinweis:__**(% style="color:#000000" %) Eine Schnittstellen-Bezeichnung darf maximal 13 Zeichen lang sein. Siehe hierzu auch diesen (%%)[[(% style="color:#000000" %)Bugreport>>url:http://edunetserver.de/Bugreporthttps%3a%2f%2fbugs.debian.org/cgi-bin/bugreport.cgi?bug=858580]](%%). 48 48 22 +==== (% style="color:#000000" %)2. (% style="color:#2980b9" %)[**Ubuntu** **16.04 LTS**](% style="color:#000000" %) systemd-Regel im ldhost für aktuelle Installationen(%%) ==== 49 49 50 - ====(% style="color:#000000" %)2a. (% style="color:#2980b9"%)[**Ubuntu 14.04 LTS**](%style="color:#000000" %)udev-Regelimldhost zurDefinition derSchnittstellen-Bezeichnungen anpassen(%%)====24 +(% style="color:#000000" %)Ab Ubuntu 16.04 LTS ist es einfacher (auch im Hinblick auf die zukünftige [[Entwicklung>>url:https://wiki.ubuntuusers.de/Netplan/]] seitens Ubuntu), für die ganze Netzwerkkonfiguration [[systemd-networkd>>url:https://wiki.archlinux.org/index.php/Systemd-networkd]] zu verwenden. Nachfolgend die jeweiligen Konfigurationsdateien, die erstellt werden müssen. Gleichzeitig sollte auch die Datei **/etc/udev/rules.d/70-persistent-net.rules** gelöscht werden, damit nur noch eine Stelle existiert, an der konfiguriert wird. 51 51 52 -(% style="color:#000000" %)Die oben aufgeführten Interfaces müssen so wie hier beschrieben in der Datei "/etc/udev/rules.d/70-persistent-net.rules" zur entsprechenden MAC-Adresse zugeordnet werden (MACs anpassen!) 53 - 54 -(% class="box" %) 55 -((( 56 -(% style="color:#000000" %)### This file was automatically generated by the /lib/udev/write_net_rules 57 -# program run by the persistent-net-generator.rules rules file. 58 -# 59 -# You can modify it, as long as you keep each rule on a single line. 60 -\\SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:XX:XX:XX:XX:XX", ATTR{type}=="1", KERNEL=="eth*", NAME="p_extern" 61 -SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="YY:YY:YY:YY:YY:YY", ATTR{type}=="1", KERNEL=="eth*", NAME="intern_ldhost" 62 -SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="ZZ:ZZ:ZZ:ZZ:ZZ:ZZ", ATTR{type}=="1", KERNEL=="eth*", NAME="intern"## 63 -))) 64 - 65 -==== ==== 66 - 67 -==== (% style="color:#000000" %)2b. (% style="color:#2980b9" %)[**Ubuntu** **16.04 LTS**](% style="color:#000000" %) systemd-Regel im ldhost für aktuelle Installationen(%%) ==== 68 - 69 -(% style="color:#000000" %)Ab Ubuntu 16.04 LTS ist es einfacher (auch im Hinblick auf die zukünftige (%%)[[(% style="color:#000000" %)Entwicklung>>url:https://wiki.ubuntuusers.de/Netplan/]](%%) seitens Ubuntu), für die ganze Netzwerkkonfiguration [[(% style="color:#000000" %)systemd-networkd>>url:https://wiki.archlinux.org/index.php/Systemd-networkd]](%%) zu verwenden. Nachfolgend die jeweiligen Konfigurationsdateien, die erstellt werden müssen. Gleichzeitig sollte auch die Datei **/etc/udev/rules.d/70-persistent-net.rules** gelöscht werden, damit nur noch eine Stelle existiert, an der konfiguriert wird. 70 - 71 71 ===== (% style="color:#000000" %)/etc/systemd/network/80-intern.link(%%) ===== 72 72 73 73 (% class="box" %) ... ... @@ -78,8 +78,8 @@ 78 78 Name=intern## 79 79 ))) 80 80 81 -===== ===== 82 82 37 + 83 83 ===== (% style="color:#000000" %)/etc/systemd/network/80-intern_ldhost.link(%%) ===== 84 84 85 85 (% class="box" %) ... ... @@ -90,8 +90,8 @@ 90 90 Name=intern_ldhost## 91 91 ))) 92 92 93 -===== ===== 94 94 49 + 95 95 ===== (% style="color:#000000" %)/etc/systemd/network/80-p_extern.link(%%) ===== 96 96 97 97 (% class="box" %) ... ... @@ -109,8 +109,8 @@ 109 109 (% style="color:#000000" %)##update-initramfs -u -k all## 110 110 ))) 111 111 112 -==== ==== 113 113 68 + 114 114 ==== (% style="color:#000000" %)3. Konfigurationsänderungen im Puppeteer mittels YAML-Dateien(%%) ==== 115 115 116 116 (% style="color:#000000" %)Nachfolgend werden zwei Anpassungen beschrieben, um die OVS-Schnittstelle v_intern auf dem ldhost zu deaktivieren sowie die Schnittstelle intern als "physical device" (d.h. das ESXi-Interface direkt) zum logosrv-Container durchzureichen. ... ... @@ -158,8 +158,8 @@ 158 158 159 159 (% style="color:#000000" %)Nach Änderung in dieser Datei entweder das Kommando 'map_translate' im Puppeteer ausführen oder den Verzeichnisinhalt von /etc/logodidact/ per 'git commit' abspeichern, um die Änderung zu aktivieren. 160 160 161 -==== ==== 162 162 117 + 163 163 ==== (% style="color:#000000" %)4. Shorewall Interface-Namen anpassen(%%) ==== 164 164 165 165 (% style="color:#000000" %)Die Bezeichnung der internen Schnittstelle auf dem ldhost hat sich von v_intern auf intern_ldhost geändert. Diese neue Bezeichnung sollte im Shorewall Firewall-Dienst eingetragen werden. ... ... @@ -171,10 +171,16 @@ 171 171 shorewall restart## 172 172 ))) 173 173 174 -(% style="color:#000000" %)Abschließend einen Puppet-Run auf dem ldhost ausführen, um die Schnittstellenanpassungen anzuwenden gefolgt von einem Server-Reboot. 175 175 130 + 131 +==== 5. Puppet-Run auf dem ldhost ausführen und danach die LD2.0 VM zur Aktivierung der Einstellungen neustarten ==== 132 + 133 +(% style="color:#000000" %)Um die getätigten Änderung zu übernehmen, muss ein "prun" auf dem ldhost ausgeführt werden. Dieser ändert die Konfigurationsdateien gemäß den Vorgaben, unter anderem die wichtigen Dateien /etc/network/interfaces.d/ovs sowie /var/lib/lxc/logosrv/network.json. Nach dem Puppet-Run dann noch die komplette LD2.0 VM neustarten. 134 + 176 176 (% class="box" %) 177 177 ((( 178 178 (% style="color:#000000" %)##prun 179 179 /sbin/reboot## 180 180 ))) 140 + 141 +(% style="color:#000000" %)Während des nächsten Bootvorgangs erhält dann auch der LXC **logosrv** seine interne Schnittstelle direkt an den Container durchgereicht. Dies kann man übrigens daran erkennen, dass die MAC-Adresse der Schnittstelle "intern" der MAC-Adresse entspricht, die der VMware Host für die virtuelle Maschine generiert hat.