/* Talks am Dienstag, 14. Mai 2020, ab 19:00 */ +links
[stratum0-wiki.git] / Acolyte.mw
1 {{Hardware
2 |kontakt = {{Benutzer|53c70r}}
3 |status = working
4 |ort = Serverschrank
5 |beschreibung = Server
6 |usage = <!-- optional -->
7 }}
8
9 Acolyte ist ein im Space lokaler VM-Host, welcher nach Bedarf angeschaltet werden kann, um z.B. Dinge zu bauen.
10
11 == Server Doku ==
12 OS: CentOS7
13 Virtualisierung: QEMU/KVM Libvirt
14 Speicherplatz: 4 Platten als mdadm RAID6 (/dev/md0 ist LUKS encrypted)
15 IP: 192.168.179.6
16 MAC: 00:19:99:da:6a:0e
17 Die Maschine gilt nach dem Boot zu entschlüsseln, dies funktioniert wie folgt:
18 pass acolyte/luks | ssh -p 222 root@192.168.179.6 unlock
19 für mehr Informationen [https://github.com/dracut-crypt-ssh/dracut-crypt-ssh hier] klicken.<br />
20 Das Management der VM's erfolgt durch die Nutzung von virt-manager, sowohl für die user, als auch für die admins.<br />
21 Unprivilegierte user Zugriffe sind limitiert und bieten keine Möglichkeit Einstellungen der jeweiligen VM zu manipulieren oder andere VM's zu sehen.<br />
22 Mittels SELinux und Polkit werden neue unprivilegierte Nutzer hinzugefügt, denen man dann VM's zuweisen kann.<br />
23 Ein Beispiel für das Hinzufügen vom user "test":
24 [root@acolyte ~]# useradd test
25 [root@acolyte ~]# semanage login -s user_u -a test
26 [root@acolyte ~]# vim /etc/security/limits.conf
27 nun in limits.conf am Ende folgendes hinzufügen:
28 test hard cpu 0
29 test hard memlock 102400
30 test hard nproc 20
31 Nun den user public SSH-Key hinzufügen (nur RSA ist erlaubt):
32 [root@acolyte ~]# su test
33 [test@acolyte ~]$ cd ~
34 [test@acolyte ~]$ umask 022
35 [test@acolyte ~]$ mkdir .ssh
36 [test@acolyte ~]$ echo "ssh-rsa AAAAB3NzaC..." > .ssh/authorized_keys
37 "test" sollte nun in der Lage sein sich auf dem Server einzuloggen.<br />
38 Nun downloaden wir als admin die gewünschte iso für die VM:
39 [user@acolyte ~]$ wget -O iso/debian-10.1.0-amd64-netinst.iso https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.1.0-amd64-netinst.iso
40 Als Nächstes kümmern wir uns um das Aufsetzen der VM von "test".<br />
41 Dazu verbinden wir uns als admin mittels virt-manager auf den Server und fügen die VM hinzu.<br />
42 Als "Network selection" sollte "Host device enp6s0: macvtap", "Source mode: Bridge" gewählt werden.<br />
43 Nun geben wir noch dem user "test" die Freigabe sich auf die VM verbinden zu können:
44 [root@acolyte ~]# vim /etc/polkit-1/rules.d/51-libvirt.rules
45 Wir fügen nun zwei Java Script Zeilen in 51-libvirt.rules hinzu;<br />
46 im zweiten Funktionsblock:
47 if (subject.user == "test") return polkit.Result.YES;
48 und im ersten Funktionsblock:
49 if (a.lookup("domain_uuid") == "cdf9d60b-8cf7-496b-88d4-3ae489969c8f" && s.user == "test") return true;
50 Die domain_uuid ist als admin unter VM Einstellungen zu sehen.<br />
51 Der user "test" sollte nun in der Lage sein seine domain zu konfigurieren.
52
53 == Hardware ==
54 Ein in Sachen CPUs, RAM und SSD etwas aufgerüsteter Server auf Basis des Servers aus der Hardwarespende von Alexander.
55 Server Fujitsu Primergy TX200 S6
56 CPUs: 2* [https://ark.intel.com/content/www/us/en/ark/products/48768/intel-xeon-processor-e5645-12m-cache-2-40-ghz-5-86-gt-s-intel-qpi.html Intel Xeon E5645] (6 Cores pro CPU, 2 Threads pro Core)
57 RAM: je CPU 4*4 GB 10600PC3 Samsung DDR3 ECC
58 Mainboard: D2799-N10 GS4
59 SSD: 120GB Patriot Burst
60 HDDs: 4* 500GB WD RE4 von 2012 WD5003ABYX
61 1* rdx quickstor slot
This page took 0.043376 seconds and 5 git commands to generate.