Nobreakspace
Ausstattung
Dienste
Chaotikum
Nobreakspace
Ausstattung
Dienste
Chaotikum
Dies ist eine alte Version des Dokuments!
gallifrey ist ein Server bei Hetzner. Dort laufen mehrere VMs und Container, die Dienste für das Chaotikum bereitstellen.
Administrativen Zugriff auf den Server haben:
Service-Container bekommen nicht selbst öffentliche IP-Adressen, sondern werden per DNAT oder Reverse Proxy angebunden.
IP | Funktion |
---|---|
176.9.147.99 | host-ip |
176.9.147.120 | ffhl-srv02 |
5.9.47.118 | mail.chaotikum.net |
176.9.147.89 | dsbuild.chaotikum.net |
Wenn eine IPv4 dazukommt, oder eine neue Funktion übernehmen soll sind folgende Schritte relevant
/etc/network/interfaces
anpassen (unten, Abschnitt vms). (Entweder reboot zum aktivieren, oder die geänderten Zeilen (ohne up am Anfang, $IFACE durch vms ersetzten) direkt in die shell tippen. Vorher Ausgabe von „ip r“ und nachher vergleichen, dann siehst du, was es bewirkt.) WICHTIG: Definitiv in die Datei schreiben, dasKommando ist anstelle des Reboots/etc/network/interfaces
Beim Inhalt an existierenden Containern orientieren./etc/init.d/networking restart
um die neue Netzwerkkonfiguration zu aktivierenIPv6-Prefix: 2a01:4f8:160:3067::/64
Zwischen den VMs wird zusätzlich ein internes Subnetz verwendet: 192.168.1.0/24
Die VMs kommen per Masquerade ins IPv4-Internet.
Identifier | IPv4 | Funktion |
---|---|---|
::2 | 192.168.1.2 | host-ip |
::3 | 192.168.1.3 | ffhl-srv01 |
::4 | 192.168.1.4 | ffhl-srv02 |
::5 | 192.168.1.5 | ccchl |
::6 | 192.168.1.6 | c3po (inaktiv) |
::7 | 192.168.1.7 | monitor |
::8 | 192.168.1.8 | ldap |
::9 | 192.168.1.9 | |
::a | 192.168.1.10 | web |
::b | 192.168.1.11 | seafile |
::c | 192.168.1.12 | postgres |
::d | 192.168.1.13 | redmine |
::e | 192.168.1.14 | gitlab |
::f | 192.168.1.15 | buildweb |
::10 | 192.168.1.16 | metanook |
::11 | 192.168.1.17 | status |
::12 | 192.168.1.18 | pretix |
::13 | 192.168.1.19 | |
::14 | 192.168.1.20 | |
::15 | 192.168.1.21 | |
::16 | 192.168.1.22 | ffhl-gluon01 |
::22 | 192.168.1.34 | |
::23 | 192.168.1.35 | monitoring |
::24 | 192.168.1.36 | |
::25 | 192.168.1.37 | c3moin |
::26 | 192.168.1.38 | nookvideo |
::27 | 192.168.1.39 | keycloak |
::36 | 192.168.1.54 | pad |
::37 | 192.168.1.55 | sediment |
::38 | 192.168.1.56 | codi |
::39 | 192.168.1.57 | nachtlicht |
Wer dieser Liste etwas hinzufügen möchte und nicht besser weiß, was er/sie tut, ist wahrscheinlich gut bedient damit einen neuen Container anzulegen. Wie das geht steht weiter unten.
Die VMs liegen in der VG vg_data und werden nach dem Schema vm_name.img benannt.
VM | Produktiv? | Funktion |
---|
Container sind per Default nur per IPv6 aus dem Internet erreichbar. Soll ein Service auch über IPv4 nutzbar sein, so sollte die Domain für den Server als CNAME auf gallifrey.chaotikum.net konfiguriert werden und die benötigten Ports per DNAT weitergereicht werden (IPv4 + IPv6).
Der Eintrag eines CNAMEs findet auf inwx.com statt, Zugang zum Account des Chaotikums hat der Vorstand. Dort ist unter Domain→Domain List die Domain auszuwählen, zu der eine Subdomain erstellt werden soll. Unten DNS Records auswählen und einen neuen Eintrag entsprechend zu einem funktionierenden alten hinzufügen.
Container | Produktiv? | Funktion | Weitergeleitete Ports |
---|---|---|---|
ccchl | ja | www.ccchl.de | keine (Reverse Proxy durch web) |
ldap | ja | LDAP-Server | ldaps (tcp/636) |
ja | Mailserver (SMTP, IMAP) | keine (eigene IPv4/IPv6) | |
web | ja | Webserver, Webservices | 80, 443 |
seafile | ja | Seafile | keine (Reverse Proxy durch web) |
postgres | ja | PostgreSQL | keine (nur intern/IPv6) |
redmine | ja | Redmine | keine (Reverse Proxy durch web) |
buildweb | nein | Gitlab Runner | keine, reiner Client |
dashboard | ja | Smashing Dashboard | keine (Reverse Proxy durch web) |
pretix | ja | Pretix | keine (Reverse Proxy durch web) |
schnitzeljagd | nein | Schnitzeljagd | ? |
ds-build | ja | Tex-Build für die Datenschleuder | keine (eigene IPv4/IPv6) |
microll | nein | microll | ? |
engelsystem | nein | Engelesystem | keine |
nachtlicht | ja | Website des Nachtlchts | keine (Reverse Proxy durch web) |
Zum automatisierten Aufsetzen eines neuen Containes kann das Script
/root/mkcontainer.sh
verwendet werden.
Nach ausführen des Kommandos wird man gefragt welchen Name der Container haben soll, danach welche IP. Die Liste genutzter IPs findet sich weiter oben auf der Seite.
Die manuelle Installation ist eine Alternative zu /root/mkcontainer.sh
und sollte gewöhnlich nicht notwendig sein.
Du kommst dann mit ssh [containername]
auf deinen container.
Zum Datenschutz: Du kannst auf deinem Container neue Keys hinzufügen, damit mehr Menschen auf den Container kommen. Es gibt hier eine Einschränkung. Verarbeiten die Systeme auf dem Container personenbezogenen Daten darf die Anzahl von Menschen die Zugriff haben nicht größer als 9 Personen sein (was sie auf Gallifrey bereits ist).
Um deine neue subdomain oder domain mit SSL zu versorgen musst du dem certbot sagen, dass die Domain existiert. Das tut man im web container.
Der Befehl sieht exakt genau so aus:
certbot certonly --expand -d chaotikum.org -d dashboard.chaotikum.org -d git.chaotikum.org -d mail.chaotikum.org -d pad.chaotikum.org -d redmine.chaotikum.org -d seafile.chaotikum.org -d wiki.chaotikum.org -d www.ccchl.de -d www.chaotikum.org -d metanook.de -d www.metanook.de -d pretix.chaotikum.org -d sediment.chaotikum.org -d status.chaotikum.org -d nook-luebeck.de -d www.nook-luebeck.de -d xn--nook-lbeck-feb.de -d www.xn--nook-lbeck-feb.de -d 2011.nook-luebeck.de -d 2011.xn--nook-lbeck-feb.de -d 2012.nook-luebeck.de -d 2012.xn--nook-lbeck-feb.de -d 2013.nook-luebeck.de -d 2013.xn--nook-lbeck-feb.de -d 2014.nook-luebeck.de -d 2014.xn--nook-lbeck-feb.de -d 2015.nook-luebeck.de -d 2015.xn--nook-lbeck-feb.de -d 2016.nook-luebeck.de -d 2016.xn--nook-lbeck-feb.de -d 2017.nook-luebeck.de -d 2017.xn--nook-lbeck-feb.de -d 2018.nook-luebeck.de -d 2018.xn--nook-lbeck-feb.de -d 2019.nook-luebeck.de -d 2019.xn--nook-lbeck-feb.de -d 2020.nook-luebeck.de -d 2020.xn--nook-lbeck-feb.de -d frab.nook-luebeck.de -d frab.xn--nook-lbeck-feb.de -d docs.chaotikum.org -d nachtlicht.chaotikum.org -d nobreakspace.org -d www.nobreakspace.org -d me.chaotikum.org -d c3moin.org -d www.c3moin.org
Da müssen alle Domains drin sein, also suche am besten die letzte Nutzung aus der Historie und ergänze ihn am ende um -d <DEINEDOMAIN>. Den Befehl hier im Wiki auch unbedingt immer updaten!.
Danach muss nginx die Konfiguration neu laden, damit es das neue Zertifikat auch ausliefert.
systemctl reload nginx
Eventuell kommen jetzt Rückfragen vom Tool:
How would you like to authenticate with the ACME CA? ------------------------------------------------------------------------------- 1: Place files in webroot directory (webroot) 2: Spin up a temporary webserver (standalone) ------------------------------------------------------------------------------- Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 1
Hier ist Place files in webroot directory (webroot)
die richtige Auswahl. Mit der anderen Option erhält man zwar ein Zertifikat, aber müsste den Webserver stoppen, was vor allem nicht automatisch beim automatischen Erneuern des Zertifikates passiert.
Wenn man nach dem Pfad für den webroot gefragt wird ist /var/www/challenges/
die richtige Antwort (Das ist in der nginx conf für die Seite angegeben, der Location-Block mit .well-known).
Der certbot sollte nun durchlaufen und dir sagen, dass alles funktioniert hat.
Wenn man versehentlich per standalone ein Zertifikat geholt hat, muss man eine config Datei (/etc/letsencrypt/renewal/cal.chaotikum.org.conf
) anpassen, damit das automatische Erneuern wieder geht: Im Abschnitt [renewalparams]
muss authenticator = webroot
gesetzt sein, und als nächste zeile webroot_path = /var/www/challenges/
vorhanden sein. Danach geht es wieder. Testen kann man dies mit certbot renew -
-dry-run
, was man allerdings nicht zu oft machen sollte, da man sonst das API-Limit erreicht.
Gallifrey is a fictional planet in the long-running British science fiction television series Doctor Who. It is the original home world of the Time Lords, the civilisation to which the main protagonist, the Doctor belongs. It is located in a binary star system 250 million light years from Earth. https://en.wikipedia.org/wiki/Gallifrey