Zuletzt geändert von Jonas Mayer am 2022/05/05 09:42

Von Version 1.6
bearbeitet von Michael Ecer
am 2021/09/03 11:35
Änderungskommentar: Update document after refactoring.
Auf Version 5.1
bearbeitet von superadmin
am 2022/03/25 10:35
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.michaelecer@sbede
1 +XWiki.superadmin
Inhalt
... ... @@ -1,33 +1,5 @@
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 2  
3 -
4 -(% style="color:#000000" %)__**Kurze Erläuterung**__
5 -
6 -(% class="box infomessage" %)
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 -\\
28 -)))
29 -
30 -
31 31  (% style="color:#000000" %)Im Folgenden werden die Schritte beschrieben, um die Netzwerk-Interfaces für den ldhost sowie den logosrv-Container entsprechend anzupassen.
32 32  
33 33  
... ... @@ -40,34 +40,17 @@
40 40  
41 41  (% style="color:#000000" %)Zunächst fügt man der LD2.0 VM eine weitere virtuelle Netzwerkschnittstelle im Netzwerkbereich „intern“ hinzu.
42 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 auf ldhost
44 -- 2. (% style="color:#2980b9" %)**intern_ldhost**(% style="color:#000000" %)**:** für Management-Zugriff auf den ldhost vom Schulnetz aus
45 -- 3. (% style="color:#2980b9" %)**intern:**(% style="color:#000000" %) physikalisch durchgereicht an den logosrv LXC-Container (derselbe Netzbereich wie intern_ldhost)
15 +\\- 1.   (% style="color:#2980b9" %) **p_extern**(% style="color:#000000" %): für Internetzugang auf ldhost
16 +- 2.    (% style="color:#2980b9" %)**intern_ldhost**(% style="color:#000000" %)**:** für Management-Zugriff auf den ldhost vom Schulnetz aus
17 +- 3.    (% style="color:#2980b9" %)**intern:**(% style="color:#000000" %) physikalisch durchgereicht an den logosrv LXC-Container (derselbe Netzbereich wie intern_ldhost)
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]].
19 +(% style="color:#2980b9" %)**__Hinweis:__**(% style="color:#000000" %) Eine Schnittstellen-Bezeichnung darf maximal 13 Zeichen lang sein.
48 48  
49 49  
50 -==== (% style="color:#000000" %)2a. (% style="color:#2980b9" %)[**Ubuntu 14.04 LTS**](% style="color:#000000" %) udev-Regel im ldhost zur Definition der Schnittstellen-Bezeichnungen anpassen(%%) ====
22 +==== (% style="color:#000000" %)2. (% style="color:#2980b9" %)[**Ubuntu** **16.04 LTS**](% style="color:#000000" %) systemd-Regel im ldhost r aktuelle Installationen(%%) ====
51 51  
52 -(% style="color:#000000" %)Die oben aufgeführten Interfaces ssen so wie hier beschrieben in der Datei "/etc/udev/rules.d/70-persistent-net.rules" zur entsprechenden MAC-Adresse zugeordnet werden (MACs anpassen!)
24 +(% 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** gescht werden, damit nur noch eine Stelle existiert, an der konfiguriert wird.
53 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" %)
... ... @@ -171,10 +171,15 @@
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.
129 +==== ====
175 175  
176 -(% class="box" %)
177 -(((
178 -(% style="color:#000000" %)##prun
179 -/sbin/reboot##
180 -)))
131 +==== 5. Puppet-Run auf dem ldhost ausführen und danach die LD2.0 VM zur Aktivierung neustarten ====
132 +
133 +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 +
135 +{{code language="bash"}}
136 +prun
137 +/sbin/reboot
138 +{{/code}}
139 +
140 +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.