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

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 Im Folgenden werden die Schritte beschrieben, um die Netzwerk-Interfaces für den ldhost sowie den logosrv-Container entsprechend anzupassen.
3
4 (% class="box warningmessage" id="HWichtig:A021A0DieseAnleitungfunktioniertnurmitderPuppet-Version1.1.33oderhF6her21" %)
5 (((
6 (% style="color:#000000" %)**__Wichtig:__** Diese Anleitung setzt mindestens die Puppet-Version 1.1.33 voraus.
7 )))
8
9
10 {{toc start="4"/}}
11
12
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(%%) ====
14
15 (% style="color:#000000" %)Zunächst fügt man der LD2.0 VM eine weitere virtuelle Netzwerkschnittstelle im Netzwerkbereich „intern“ hinzu.
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)
20
21
22 ==== (% style="color:#000000" %)2. (% style="color:#2980b9" %)[**Ubuntu** **16.04 LTS**](% style="color:#000000" %) systemd-Regel im ldhost für aktuelle Installationen(%%) ====
23
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.
25
26 ===== (% style="color:#000000" %)/etc/systemd/network/80-intern.link(%%) =====
27
28 (% class="box" %)
29 (((
30 (% style="color:#000000" %)##[Match]
31 MACAddress=XX:XX:XX:XX:XX:XX
32 [Link]
33 Name=intern##
34 )))
35
36
37
38 ===== (% style="color:#000000" %)/etc/systemd/network/80-intern_ldhost.link(%%) =====
39
40 (% class="box" %)
41 (((
42 (% style="color:#000000" %)##[Match]
43 MACAddress=YY:YY:YY:YY:YY:YY
44 [Link]
45 Name=intern_ldhost##
46 )))
47
48
49
50 ===== (% style="color:#000000" %)/etc/systemd/network/80-p_extern.link(%%) =====
51
52 (% class="box" %)
53 (((
54 (% style="color:#000000" %)##[Match]
55 MACAddress=ZZ:ZZ:ZZ:ZZ:ZZ:ZZ
56 [Link]
57 Name=p_extern##
58 )))
59
60 (% 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):
61
62 (% class="box" %)
63 (((
64 (% style="color:#000000" %)##update-initramfs -u -k all##
65 )))
66
67
68
69 ==== (% style="color:#000000" %)3. Konfigurationsänderungen im Puppeteer mittels YAML-Dateien(%%) ====
70
71 (% 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.
72
73 (% style="color:#2980b9" %)**/var/lib/ld-puppet/hiera.d/custom.d/ldhost.yaml**
74
75 (% class="box" %)
76 (((
77 (% style="color:#000000" %)##profile::network:
78 interface:
79 intern:
80 ovs_type: none##
81 )))
82
83
84 (% style="color:#2980b9" %)**/var/lib/ld-puppet/hiera.d/custom.yaml**
85
86 (% class="box" %)
87 (((
88 (% style="color:#000000" %)##global::network:
89 overwrites:
90 ldhost:
91 intern:
92 name: intern_ldhost
93 type: phys
94 logosrv:
95 intern:
96 type: phys##
97 )))
98
99 (% 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.
100
101 (% style="color:#2980b9" %)**/etc/logodidact/hosts/ldhost/nic.conf**
102
103 (% class="box" %)
104 (((
105 (% style="color:#000000" %)##[NIC intern]
106 suffix 1
107 \\#[NIC p_intern]
108 #vlan_mode access
109 #vlan_untagged ld-intern
110 #Type manual
111 #ovs_type OVSPort##
112 )))
113
114 (% 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.
115
116
117
118 ==== (% style="color:#000000" %)4. Shorewall Interface-Namen anpassen(%%) ====
119
120 (% 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.
121 Hierzu folgende beiden Befehle im ldhost eingeben.
122
123 (% class="box" %)
124 (((
125 (% style="color:#000000" %)##rpl "v_intern" "intern_ldhost" /etc/shorewall/interfaces
126 shorewall restart##
127 )))
128
129
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
135 (% class="box" %)
136 (((
137 (% style="color:#000000" %)##prun
138 /sbin/reboot##
139 )))
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.