FAQ Serverdienste

Da meine Artikel immer relativ lang werden, will ich hier gezielt Antworten auf einzelne Fragen geben. Diese Fragen und Antworten entstehen bei mir immer während einen stundenlangen basteln mit Linux (trial and error) – meistens Ubuntu Server (momentan Version 18.04). Beachte die Unterschiede zwischen der Ubuntu Desktop und Server Variante, weil dadurch eventuell verschiedene Dienste aktiv sind!

Außerdem setze ich viele Kenntnisse, die ich bei einen Linux User für Standard halte, voraus. Ich schließe nicht aus, dass es auch immer andere Lösungen geben kann. Allerdings stehe ich auf sehr einfache und reproduzierbare Lösungen – Antworten wie: “Plötzlich ging es” mag ich nicht. Viel Spass.

IMAP Serverdienst Dovecot

Wie bekomme ich im Dovecot greeting den Ubuntu Eintrag weg?

Wenn eine Anwendung eine Verbindung zum Dovecot IMAP Server aufnimmt, wird eine Begrüßung (greeting) übermittelt, die aus den Optionen (Capabilitys) des IMAP Servers besteht.

Bei einem Dovecot welches über apt installiert wurde, bekommt eine Anwendung damit nicht nur die Optionen übermittelt, sondern auch welche Linux Distribution und welcher IMAP Server auf dem Server installiert ist. Der String sieht bei Dovecot Version 2.2.33 folgendermaßen aus:  “Dovecot (Ubuntu) ready”. Diese Information aus Sicherheitsgründen abzuschalten, ist relativ simpel:

Aktiviere in /etc/dovecot/dovecot.conf die Option login_greeting in dem Du die #Raute entfernst und lösche den Wert dieser Option. Oder anders: Alles was nach login_greeting= steht, wird auch angezeigt. Vergesse nicht ein service dovecot reload auf der console, nach der Änderung dieses Wertes. Die Änderung kannst Du z.B. mit telnet <servername> 143 überprüfen.

Übrigens: Dies ist natürlich Sicherheit auf lowlevel, aber es ist ein Stein in einem Mosaik.

Ubuntu Netzwerk

Wie richte ich routing und NAT auf einen Ubuntu Server ein?

Beachte, dass ich hier von Ubuntu Server Version 18.04 rede! Damit haben wir networkd und netplan (keine interfaces!). Ich gehe davon aus, das zwei Netzwerkkarten eingebaut sind. Eine Karte verbunden mit dem Provider Router und die andere mit dem LAN – wahrscheinlich mit einen Switch. Hier die Karten Konfiguration aus /etc/netplan/50-cloud-init.yaml (die Einzüge bestehen aus Leerzeichen im Viererpack):

network:
    ethernets:
        enp2s0:
            addresses:
            - 192.168.0.2/24
            gateway4: 192.168.0.1
            nameservers:
                addresses: []
                search: []
            optional: false
        enp3s0:
            addresses:
            - 192.168.1.1/24
            nameservers:
                addresses:
                - 8.8.8.8
                - 8.8.4.4
                search:
                - myhome.local
            optional: false
    version: 2

Wobei gateway4 auf den Provider Router zeigt, die Adressen der nameservers auf die öffentlichen Google DNS verweisen und das optional auf false steht: Ich will, dass beim booten des Servers die Netzwerkkarten aktiv und verfügbar sind – notfalls wird gewartet. Setze die Option search auf deinen Netzwerk- Namen. Die addresses der Lan Karten müssen in verschiedenen Subnetzen sein und können auf deinen Rechner natürlich anders heißen! Aktiviere das routing zwischen den Karten in /etc/sysctl.conf:

net.ipv4.ip_forward=1

Zum Abschluss müssen wir noch das NAT aktivieren, weil private Adressen im Internet nicht geroutet werden. Mit NAT werden private Adressen (192.168.) mit der öffentlichen Adresse des Provider Routers getarnt. Wir tragen dazu in die Datei /etc/rc.local folgende Zeile ein:

#!/bin/sh -e
/sbin/iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE
exit 0

Die Datei erstellen, wenn nicht vorhanden. Sie gehört root:root und ist mit 755 zu chmod-en. Bei älteren Ubuntu Server Versionen soll ein systemctl enable rc-local notwendig gewesen sein. Danach einen Server Neustart machen. Damit kommen deine Netzwerkrechner mit einen Switch, über den Server, durch den Provider Router ins Internet.

Mein Dnsmasq und die resolv.conf passen nicht zusammen. Was tun?

Wir reden hier von Ubuntu Server Version 18.04. Damit reden wir von networkd und netplan!

Nach der Installation von Ubuntu Server, dem konfigurieren und starten von Dnsmasq haben wir eine resolv.conf in der u.a. folgender Eintrag steht:

nameserver 127.0.0.53
...

Der Dnsmasq soll aber unter 127.0.0.1 und port 53 horchen. Änderungen werden wieder überschrieben.

Öffne die /etc/systemd/resolved.conf in einen Editor und setze folgende Option auf aktiv:

DNSStubListener=no

Deaktiviere die bestehende /etc/resolv.conf durch umbenennen und erstelle eine neue resolv.conf mit den folgenden Daten:

nameserver 127.0.0.1
...

Starte den Server neu und prüfe mit netstat -tulpen (oder -tan) ob auch wirklich nur noch ein 127.0.0.1:53 und kein(!) 127.0.0.53:53 läuft. Eventuell kann es noch notwendig sein, in der Dnsmasq Konfiguration die Option bind-interfaces zu setzen.

Der Befehl systemd-resolve –status zeigt Dir an, welcher DNS Server global (oberster Wert) gesetzt ist.