Version 2.1 von superadmin am 2021/09/03 11:46

Zeige letzte Bearbeiter
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
3 test
4
5 (% style="color:#000000" %)__**Kurze Erläuterung**__
6
7 (% class="box infomessage" %)
8 (((
9 (% style="color:#000000" %)Erst einmal zum Verständnis vom promiscuous Mode der Netzwerkkarte bzw. des VMware Switches.
10 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
11 Zuordnung pro Port.
12 Die drei Modi in VMware die es gibt sind:
13 Feste Mac (forget transmits), EINE beliebige MAC (mac address changes), allen Traffic (promiscuous mode)
14 \\Intern sind momentan immer ldhost und logosrv mit der Schnittstelle "intern" verbunden.
15 Je nach Konfiguration kann es noch sein, dass Rembo ebenfalls auf dieser Schnittstelle läuft.
16 Gründe:
17 ldhost hauptsächlich fürs Management
18 logosrv für die eigentlichen Kommunikation
19 rembo nur wenn kein Routing über logosrv für Rembo eingesetzt wird!
20 \\Lösungsvorschlag:
21 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
22 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
23 und im ldhost einrichten.
24 \\Damit sollten Probleme die möglicherweise durch den promiscuous mode entstehen ausgeschlossen werden können.
25 \\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.
26 Genaueres dazu hier:(%%)
27 [[(% 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]](%%)
28 \\
29 )))
30
31
32 (% style="color:#000000" %)Im Folgenden werden die Schritte beschrieben, um die Netzwerk-Interfaces für den ldhost sowie den logosrv-Container entsprechend anzupassen.
33
34
35 ==== (% style="color:#c0392b" %)**__Wichtig:__ !  Diese Anleitung funktioniert nur mit der Puppet-Version 1.1.33 oder höher !**(%%) ====
36
37
38
39 ==== (% style="color:#000000" %)__1. Netzwerk-Interfaces für die LD2.0 VM im vSphere-Client definieren__(%%) ====
40
41
42 (% style="color:#000000" %)Zunächst fügt man der LD2.0 VM eine weitere virtuelle Netzwerkschnittstelle im Netzwerkbereich „intern“ hinzu.
43 Insgesamt sollten es also 3 Schnittstellen für die logoDIDACT VM sein / mit Nutzung von lddeploy sind es 4 Schnittstellen:
44 \\- 1.   (% style="color:#2980b9" %) **p_extern**(% style="color:#000000" %): für Internetzugang auf ldhost
45 - 2.    (% style="color:#2980b9" %)**intern_ldhost**(% style="color:#000000" %)**:** für Management-Zugriff auf den ldhost vom Schulnetz aus
46 - 3.    (% style="color:#2980b9" %)**intern:**(% style="color:#000000" %) physikalisch durchgereicht an den logosrv LXC-Container (derselbe Netzbereich wie intern_ldhost)
47
48 (% 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]](%%).
49
50
51 ==== (% style="color:#000000" %)2a. (% style="color:#2980b9" %)[**Ubuntu 14.04 LTS**](% style="color:#000000" %) udev-Regel im ldhost zur Definition der Schnittstellen-Bezeichnungen anpassen(%%) ====
52
53 (% 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!)
54
55 (% class="box" %)
56 (((
57 (% style="color:#000000" %)### This file was automatically generated by the /lib/udev/write_net_rules
58 # program run by the persistent-net-generator.rules rules file.
59 #
60 # You can modify it, as long as you keep each rule on a single line.
61 \\SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:XX:XX:XX:XX:XX", ATTR{type}=="1", KERNEL=="eth*", NAME="p_extern"
62 SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="YY:YY:YY:YY:YY:YY", ATTR{type}=="1", KERNEL=="eth*", NAME="intern_ldhost"
63 SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="ZZ:ZZ:ZZ:ZZ:ZZ:ZZ", ATTR{type}=="1", KERNEL=="eth*", NAME="intern"##
64 )))
65
66 ==== ====
67
68 ==== (% style="color:#000000" %)2b. (% style="color:#2980b9" %)[**Ubuntu** **16.04 LTS**](% style="color:#000000" %) systemd-Regel im ldhost für aktuelle Installationen(%%) ====
69
70 (% 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.
71
72 ===== (% style="color:#000000" %)/etc/systemd/network/80-intern.link(%%) =====
73
74 (% class="box" %)
75 (((
76 (% style="color:#000000" %)##[Match]
77 MACAddress=XX:XX:XX:XX:XX:XX
78 [Link]
79 Name=intern##
80 )))
81
82 ===== =====
83
84 ===== (% style="color:#000000" %)/etc/systemd/network/80-intern_ldhost.link(%%) =====
85
86 (% class="box" %)
87 (((
88 (% style="color:#000000" %)##[Match]
89 MACAddress=YY:YY:YY:YY:YY:YY
90 [Link]
91 Name=intern_ldhost##
92 )))
93
94 ===== =====
95
96 ===== (% style="color:#000000" %)/etc/systemd/network/80-p_extern.link(%%) =====
97
98 (% class="box" %)
99 (((
100 (% style="color:#000000" %)##[Match]
101 MACAddress=ZZ:ZZ:ZZ:ZZ:ZZ:ZZ
102 [Link]
103 Name=p_extern##
104 )))
105
106 (% style="color:#000000" %)Nach Erstellung bzw. Bearbeitung der oben beschriebenen Dateien ist noch folgender Befehl wichtig, um die Änderungen in die Initramfs zu übernehmen (wichtig für den Bootvorgang, damit die Interfaces umbenannt werden):
107
108 (% class="box" %)
109 (((
110 (% style="color:#000000" %)##update-initramfs -u -k all##
111 )))
112
113 ==== ====
114
115 ==== (% style="color:#000000" %)3. Konfigurationsänderungen im Puppeteer mittels YAML-Dateien(%%) ====
116
117 (% 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.
118
119 (% style="color:#2980b9" %)**/var/lib/ld-puppet/hiera.d/custom.d/ldhost.yaml**
120
121 (% class="box" %)
122 (((
123 (% style="color:#000000" %)##profile::network:
124 interface:
125 intern:
126 ovs_type: none##
127 )))
128
129
130 (% style="color:#2980b9" %)**/var/lib/ld-puppet/hiera.d/custom.yaml**
131
132 (% class="box" %)
133 (((
134 (% style="color:#000000" %)##global::network:
135 overwrites:
136 ldhost:
137 intern:
138 name: intern_ldhost
139 type: phys
140 logosrv:
141 intern:
142 type: phys##
143 )))
144
145 (% style="color:#000000" %)Zusätzlich kann in der vorhandenen Konfigurationsdatei nic.conf für den ldhost die nicht länger genutzte Schnittstelle p_intern auskommentiert werden.
146
147 (% style="color:#2980b9" %)**/etc/logodidact/hosts/ldhost/nic.conf**
148
149 (% class="box" %)
150 (((
151 (% style="color:#000000" %)##[NIC intern]
152 suffix 1
153 \\#[NIC p_intern]
154 #vlan_mode access
155 #vlan_untagged ld-intern
156 #Type manual
157 #ovs_type OVSPort##
158 )))
159
160 (% 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.
161
162 ==== ====
163
164 ==== (% style="color:#000000" %)4. Shorewall Interface-Namen anpassen(%%) ====
165
166 (% 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.
167 Hierzu folgende beiden Befehle im ldhost eingeben.
168
169 (% class="box" %)
170 (((
171 (% style="color:#000000" %)##rpl "v_intern" "intern_ldhost" /etc/shorewall/interfaces
172 shorewall restart##
173 )))
174
175 (% style="color:#000000" %)Abschließend einen Puppet-Run auf dem ldhost ausführen, um die Schnittstellenanpassungen anzuwenden gefolgt von einem Server-Reboot.
176
177 (% class="box" %)
178 (((
179 (% style="color:#000000" %)##prun
180 /sbin/reboot##
181 )))