Ein Debian-System mit Minimalausstattung soll für die Verwendung als Serversystem im HAMNET eingerichtet und konfiguriert werden. Aufbauend auf dieser Grundinstallation können durch Installation weiterer Softwarepakete nahezu beliebige Serveranwendungen realisiert werden. Die grundlegenden Schritte bei der Installation sind sowohl für das Aufsetzen einer VM („virtuelle Maschine“) auf einem Hostsystem, wie z.B. Proxmox als auch bei der direkten Installation auf Hardware (Bare-Metal) gleich. Bei der Einrichtung als VM kann die ISO-Datei direkt verwendet werden, während bei Bare-Metal-Installationen aus der ISO-Datei zuerst noch ein USB-Stick erstellt werden muss. Damit kann das System dann in den Installationsprozess gebootet werden. Die Erstellung eines bootfähigen USB-Sticks ist nicht Gegenstand dieser Anleitung.
Für das Aufsetzen eines minimalen Debian-Systems ist der Download einer ISO-Datei erforderlich. Je nachdem, auf welcher Hardwarebasis man installieren will, oder ob man ein 32- oder 64-bit-System aufsetzen will, muss man die jeweils richtige Datei downloaden. Auf der Debian-Seite werden verschiedene ISOs zum Download angeboten. Serversysteme müssen 24/7 absolut stabil laufen und sich aus Sicherheitsgründen jederzeit problemlos aktualisieren lassen. Auf der verlinkten Debian-Seite werden jeweils die aktuellen Installations-Images für die „stable“-Version angeboten.
Für die Einrichtung eines 64-bit-Systems auf der Grundlage von Intel- oder AMD-Prozessoren ist in den allermeisten Fällen die amd64-Variante erforderlich. Für den im folgenden beschriebenen Installationsprozess wird ein Internetzugang vorausgesetzt. Außerdem soll der Einfachheit halber im lokalen Netzwerk ein DHCP-Server zur Verfügung stehen. Feineinstellungen, wie beispielsweise feste IPv4-Nummern, HAMNET-DNS- und HAMNET-NTP-Server oder die Deaktivierung von IPv6 werden zu einem späteren Zeitpunkt durchgeführt.
Spezifische, meist ältere Amateurfunk-Software (XNet/LinuxNet, BBS, Cluster usw.) ist oft noch auf 32-bit Basis geschrieben und läuft ohne weitere Maßnahmen nicht auf einem 64-bit-only System. In diesen Fällen kann es ratsam sein, zur Installation eigens eine i386-ISO zu verwenden, um damit dann für solche Anwendungen eine klassische 32-bit Maschine als VM oder „bare-metal“ aufzusetzen.
Virtuelle Maschine starten
Bei der Einrichtung einer virtuellen Maschine wird in der Regel die ISO-Datei als „Bootlaufwerk“ eingebunden. Wenn man dann die VM startet, läuft der Bootvorgang automatisch in den Installationsprozess.
Bare Metal Installation
Soll direkt auf vorhandener Hardware „bare metal“ installiert werden, ist von der ISO-Datei zuvor ein bootfähiger USB-Stick anzufertigen. Über das Bios der Maschine muss das Booten von USB aktiviert werden. Nach dem Start der Maschine wird dann ebenfalls in den Installationsprozess hinein gebootet.
Ab hier verläuft der Installationsprozess in beiden Fällen nahezu identisch. Wir wählen die ressourcenschonende, textbasierte Methode „Install“.
Nach der Anwahl des Textinstallers wird mit den Pfeiltasten zunächst die Sprache ausgewählt und mit der RETURN-Taste bestätigt.

Es folgen die Auswahlen für das Gebietsschema und das Tastaturlayout. Auswahl wieder per Pfeiltasten und Bestätigung durch RETURN-Taste.


Das Installationsprogramm versucht, sowohl für IPv6 als auch für IPv4 per DHCP Zugang zum Netzwerk und damit zum Internet zu bekommen. War dieser Schritt erfolgreich, werden die gewünschten Daten zur Festlegung eines Rechnernamens (hostname) und des zugehörigen Domain-Namens abgefragt. Eventuell dabei bereits vorgeschlagene Namen sollten durch sinnvolle Einträge, die beim späteren Betrieb am endgültigen Standort Gültigkeit haben, ersetzt werden.
Hier im Beispiel wird ein Rechner mit dem Namen „debian“ für den HAMNET-Standort von DB0XXX eingerichtet. Der Domain-Name lautet dann „db0xxx.hamnet.radio“. Der volle Name des Systems (FQDN=Full Qualified Domain Name) lautet in dem Fall „debian.db0xxx.hamnet.radio“. Wenn der Rechner direkt unter dem Rufzeichen des Standortes laufen soll, kann der Name „db0xxx“ heißen und als Domain-Name trägt man dann „hamnet.radio“ ein. Das entspricht dem FQDN „db0xxx.hamnet.radio“.
Debian-Systeme richten immer den „Root“-User und einen weiteren Benutzer ein, der für normale Arbeiten am System vorgesehen ist. Aus Sicherheitsgründen verfügt dieser nicht sofort über die vollständigen Befugnisse des Root-Users.
Den Root-User gibt es auf jedem Linuxsystem. Er verfügt über die höchsten Sicherheitsbefugnisse und darf praktisch alles auf dem System machen. Deshalb sollte hier ein möglichst anspruchsvolles Passwort gewählt werden! Achtung: Der Installer nimmt hier auch sehr einfache Passworteingaben an (z.B. „test123“, „geheim“ usw.). Mit solchen Root-Passwörtern würde dieser Rechner binnen weniger Sekunden im Internet „gehackt“ werden können.
Dennoch sollte hier ein Root-User angelegt werden. Er wird später noch benötigt.

Das Root-Passwort muss zur Sicherheit nochmal bestätigt werden.
Es folgen die Einstellungen für den Benutzer. In unserem Beispiel lautet der Benutzername „Max Mustermann“.

Der Installer nimmt den ersten Teil des vollen Namens und generiert daraus den eigentlichen Login-Namen (Kleinbuchstaben). In unserem Beispiel wäre das der Login-Name „max“. Damit kann man sich später an der Maschine als Benutzer anmelden.
Auch der normale Debian-Benutzer benötigt ein möglichst sicheres Passwort.

In diesem Schritt wird definiert, wie die zur Verfügung stehende (virtuelle) Festplatte partitioniert bzw. genutzt werden soll. In unserem Fall wählen wir die erste Option „geführt - Vollständige Festplatte verwenden“.
Wenn mehrere Festplatten verbaut sind, erscheinen im folgenden Bild mehrere Angaben zur Auswahl. Achtung! Alle Daten auf der hier angewählten Festplatte werden unwiederbringlich gelöscht werden! Im Falle einer virtuellen Maschine wird hier in der Regel nur eine virtuelle Festplatte gelistet.
Im Normalfall reicht die Angabe, dass alles in eine Partition gelegt werden soll.
Als nächstes wählt man aus, dass die Partitionstabelle der Festplatte mit den zuvor gemachten Einstellungen überschrieben werden soll.
Wenn alles korrekt eingestellt ist, muss die letzte Frage mit „Ja“ beantwortet werden. Dazu betätigt man die TAB-Taste und bestätigt anschließend mit RETURN. Dann wird die Festplatte unwiderbringlich partitioniert. Anschließend wird damit begonnen, das Debian Betriebssystem zu installieren.
Es muss noch der Umfang der Installation festgelegt werden. Weil wir außer unserem USB-Stick bzw. außer unserer virtuellen CD-Rom keine weiteren lokalen Installationsmedien mehr haben, verneinen wir die nächste Frage.
Dann müssen wir festlegen, von wo die aktuellen Softwarepakete aus dem Internet geholt werden sollen. Normalerweise wählt man hier das Land aus, in dem man sich befindet.
Hier belassen wir es bei dem vom Installer gemachten Vorschlag. Man kann aber auch einen anderen Download-Server anwählen, wenn man sich sicher ist, dass der optimalere Download-Geschwindigkeit liefert.
Ein HTTP-Proxy wird normalerweise nicht benötigt. Das Feld einfach leer lassen.
Wir wollen keine anonymen Statistiken übermitteln. Am endgültigen Standort steht möglicherweise kein Internet zur Verfügung. Daher wäre diese Einstellung sinnlos.
Mit Hilfe der Pfeiltasten und durch Betätigen der TAB-Taste kann man hier verschiedene Optionen an- bzw. abwählen. Damit wird der Umfang der Installation eingestellt. Angewählte Optionen werden mit [*] und abgewählte Optionen mit [ ] dargestellt. Die Optionen „SSH Server“ und „Standard Systemwerkzeuge“ anwählen und alles andere abwählen.
Zwischenzeitlich werden die gewünschten Software-Pakete vom zuvor angewählten Debian-Server geholt und das System auf die neuesten Versionen aktualisiert. Das kann eine Weile dauern. Danach muss noch festgelegt werden, von welchem Datenträger das System später booten soll. Der Bootloader sollte auf dem vorher ausgewählten, primären Laufwerk installiert werden. Die Frage ist mit „Ja“ zu beantworten.
Nun wird nochmal nachgefragt, auf welchem Laufwerk der Bootloader („grub“) installiert werden soll. Normalerweise wird das passende Laufwerk in der zweiten Zeile angezeigt. Diese Zeile bitte aktivieren und mit RETURN bestätigen.
Ist der Bootloader erfolgreich installiert, muss das System neu gestartet werden.
Virtuelle Maschine
Bei der Installation einer VM unter Proxmox genügt eine Bestätigung durch drücken der RETURN-Taste.
Bare-metal Installation
Bei einer bare-metal Installation muss zuerst der USB-Stick abgezogen werden, bevor die Returntaste betätigt wird. Danach sollte das System ganz normal in das neu installierte Betriebssystem booten.

Wenn nach dem Neustart dieser Prompt erscheint, ist alles richtig gelaufen:
Das System muss jetzt noch auf die speziellen Gegebenheiten im HAMNET und für die remote-Administration aus der Ferne vorbereitet werden. Dazu muss man sich am Terminal als „root“-User mit dem zuvor festgelegten Passwort anmelden.
Einige wenige Softwarepakete sollten jetzt noch nachinstalliert werden. Das System wird dadurch universeller einsetzbar. Am Prompt sind nacheiander diese drei Zeilen einzugeben und jeweils mit RETURN-Taste zu bestätigen.
apt update apt upgrade -y apt install -y net-tools bind9-utils whois traceroute curl zip unzip
Das Ganze funktioniert auch in einer einzigen Befehlszeile:
apt update && apt upgrade -y && apt install -y net-tools bind9-utils whois traceroute curl zip unzip
Damit man sich künftig auch aus der Ferne als „root“ mit einem Passwort am System anmelden kann, muss man einen Eintrag in der Datei /etc/ssh/sshd_config ändern. Die Datei wird mit diesem Befehl in den serienmäßig mit installierten Texteditor nano geladen:
nano /etc/ssh/sshd_config
Innerhalb dieser Datei sucht man nach folgendem Abschnitt:
# Authentication: #LoginGraceTime 2m PermitRootLogin prohibit-password #StrictModes yes #MaxAuthTries 6 #MaxSessions 10
Dieser Abschnitt muss in einer Zeile geändert und wieder gespeichert werden:
# Authentication: #LoginGraceTime 2m PermitRootLogin yes #StrictModes yes #MaxAuthTries 6 #MaxSessions 10
Anschließend wird der SSH-Dienst mit dem Befehl systemctl restart ssh neu gestartet.
Ab jetzt kann der Server auch aus der Ferne remote per SSH administriert werden. Dazu sollte man sich aber zuvor noch merken, welche IPv4-Nummer der Server per DHCP bekommen hat:
In diesem Beispiel hat der Server auf dem Netz-Interface ens18 die IPv4-Nummer 44.149.30.98 bekommen. Leider ist auf dem Server aber auch noch IPv6 aktiv, obwohl IPv6 im HAMNET normalerweise nicht genutzt wird.
Im HAMNET wird aktuell nur IPv4 verwendet. Damit der neue Server sich entsprechend verhält und es bei der Administration nicht zu verwirrenden Anzeigen kommt, kann das IPv6 deaktiviert werden. Zuerst schauen wir, ob wir IPv6 aktiviert haben. Wir loggen uns am Terminal oder per ssh als root ein. Dann bitte den Befehl ifconfig oder alternativ ip a eingeben. Das Ergebnis wird eine Anzeige erzeugen, wo Angaben über IPv6 gemacht werden.
Als root “nano /etc/sysctl.conf” aufrufen und folgende Zeilen ganz am Ende einfügen:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
Mit dem Kommandozeilen-Befehl sysctl -p wird das IPv6 im laufen Betrieb auch ohne vorherigen Neustart abgeschaltet. Beim Befehl ifconfig oder ip a sind dann alle IPv6-Angaben verschwunden:
Wird das System später mit einer festen HAMNET-IPv4-Adresse betrieben oder sollte der DHCP-Server am vorgesehenen Standort keine Adressen von HAMNET-NTP-Servern vergeben, muss unbedingt die Einstellung für die zu benutzenden NTP-Server geändert werden. Das System verwendet standardmäßig NTP-Zeitserver aus dem Internet. Ist auf dem endgültigen Standort kein Internet vorhanden, würde das System niemals mit der korrekten Uhrzeit synchronisiert werden!
Debian verwendet aktuell „timesyncd“ zur Synchronisierung der Uhrzeit. Dieser Service kann über die Datei „/etc/systemd/timesyncd.conf“ konfiguriert werden. Per default sieht die Datei so aus:
Die Zeilen „NTP=“ bzw. „FallbackNTPServers=“ können nun mit Zeitservern, die innerhalb des HAMNET zur Verfügung stehen, belegt werden. In der HamCloud wird ein redundantes NTP-Serversystem betrieben, welches normalerweise an jedem HAMNET-Standort erreichbar sein sollte. An Stelle des FQDN-Namens „ntp.hamnet.cloud“ kann man auch direkt die IP-Adresse der NTP-Server eintragen. Die Datei „/etc/systemd/timesyncd.conf“ sollte also mindestens so geändert werden:
Die Zeile „FallbackNTPServers=“ kann man, soweit sie bekannt sind, noch mit weiteren HAMNET-NTP-Servern aus der Nachbarschaft des eigenen Standortes belegen. Mehrere Server/IP-Adressen in einer Zeile werden durch Leerzeichen getrennt.
Dienste bzw. Server, auf denen sie laufen, sind im HAMNET in der Regel unter einer festen IPv4-Adresse erreichbar. Um das für unser Debian-System zu erreichen, gibt es prinzipiell 2 Möglichkeiten.
Oft steht am vorgesehen Standort ein DHCP-Server zur Verfügung. Mit dem lassen sich auch feste IP-Adressen an Systeme vergeben. Die an den Standorten verbauten Mikrotik-Router können das problemlos erledigen. Die Vorgehensweise ist nicht Gegenstand dieser Dokumentation.
Vorteile:
Nachteile:
In vielen Fällen wird im HAMNET für den Betrieb von Servern eine feste IP-Adresse aus dem einem Standort zugeteilten Service-Netz benötigt. Dazu sind spezifische Informationen über das am vorgesehenen Standort vorhandene Netzwerk erforderlich. Diese Informationen sind normalerweise mit den Maintainern für den Standort abzusprechen:
| Standortdaten | Beispieleintrag |
|---|---|
| verfügbares Netzwerk (CIDR) | 44.149.30.0/25 |
| eigene IP-Adresse | 44.149.30.98 |
| Standard-Gateway-IP | 44.149.30.1 |
| verfügbare DNS-Server | 44.149.30.20, 44.149.28.1 |
| verfügbare NTP-Server | 44.148.224.123, 44.149.28.10 |
Die erforderlichen Einstellungen können bei aktuellen Debian-Systemen in der Datei „/etc/network/interfaces“ vorgenommen werden. Diese Datei sieht in DHCP-Konfiguration bei unserem Debian-System aktuell noch so aus:
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug ens18 iface ens18 inet dhcp
Diese Datei sollte, entsprechend unserem Beispiel, folgendermaßen geändert werden:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug ens18
iface ens18 inet static
address 44.149.30.23/25
gateway 44.149.30.1
dns-nameservers 44.149.30.20 44.149.28.1
Abschließend wird noch die Datei „/etc/resolv.conf“ mit folgenden Einträgen versehen:
nameserver 44.149.30.20 nameserver 44.149.28.1
Nach einem anschließenden Neustart des Systems ist es nur noch innerhalb des eingestellten Netzwerkes unter seiner festen IP-Adresse erreichbar!