Ich habe Probleme mit meinen Servern oder dem Cloud Panel. Was kann ich tun?
Cloud Server: Hilfe im Problemfall
In diesem Artikel wird erklärt, wie Sie bei einem Ausfall Ihres Cloud Servers Informationen über Ihr System und über mögliche Fehlerquellen sammeln können.
Fehler identifizieren und beheben, wenn der Server ausfällt
Wenn Ihr Server nicht mehr erreichbar ist, versuchen Sie bitte zuerst, mögliche Fehlerquellen Schritt für Schritt auszuschließen, um die Ursache schnellst möglich zu identifizieren und zu beseitigen. Gehen Sie hierbei wie folgt vor:
Neustart durchführen und Verbindung zum Server prüfen
- Führen Sie einen Neustart des Servers durch.Je nach Betriebssystem und Konfiguration des Servers kann dieser Vorgang bis zu 10 Minuten dauern.
- Prüfen Sie, ob Sie mittels SSH (Linux) bzw. Remote Desktop (Microsoft Windows Server) eine Verbindung zum Server herstellen können.Wenn Sie die Meldung erhalten, dass das Passwort nicht korrekt ist, prüfen Sie die Zugangsdaten im Cloud Panel und setzen Sie ggf. das Root-Passwort (Linux) oder das Administrator-Passwort (Microsoft Windows) zurück.
Firewall-Richtlinie und -regeln prüfen
- Prüfen Sie im Cloud Panel im Bereich Infrastruktur > Server, welche Firewall-Richtlinie dem Server zugewiesen ist.
- Prüfen Sie anschließend im Bereich Netzwerk > Firewall-Richtlinie, ob in der zugewiesenen Firewall-Richtlinie die erforderlichen Ports freigegeben wurden. Weisen Sie dem Server ggf. die korrekte Firewall-Richtlinie zu oder erstellen Sie in der zugewiesenen Firewall-Richtlinie die erforderlichen Portfreigaben, wie z.B. Port 22 für SSH oder Port 3389 für RDP.
- Versuchen Sie erneut, via SSH bzw. Remote Desktop (Microsoft Windows Server) eine Verbindung zum Server herzustellen.
Portscan durchführen
Wenn Sie nach der Prüfung und ggf. der Anpassung der Firewall-Richtlinie im Cloud Panel keine Verbindung zum Server herstellen können, führen Sie einen Portscan durch. Prüfen Sie hierbei, ob der Port 22 (Linux) oder der Port 3389 (Microsoft Windows) freigeschaltet sind.
Um einen Portscan durchzuführen, geben Sie auf Ihrem lokalen Computer den entsprechenden Befehl im Terminal (Linux) oder in der Powershell (Microsoft Windows) ein:
Linux:nc -v IP-ADRESSE-DES-SERVERS PORTNUMMER
Beispiel:
[root@localhost ~]# nc -v 192.168.1.1 22
Microsoft Windows
Test-NetConnection IP-ADRESSE-DES-SERVERS -p PORTNUMMER
Beispiel
[root@localhost ~]# Test-NetConnection 192.168.1.1 -Port 22
Log-Dateien prüfen
Wenn Sie eine Verbindung zu Ihrem Server herstellen können, prüfen Sie die Log-Dateien Ihres Servers. Berücksichtigen Sie bei der Fehlersuche auch Updates und Konfigurationsänderungen, die eventuell vor Kurzem durchgeführt worden sind.
Wenn Sie keine Verbindung zu Ihrem Server herstellen können, fahren Sie mit dem nächsten Schritt fort.
Microsoft Windows Server
Wir empfehlen Ihnen, zur Auswertung der Log-Dateien den Event Viewer zu verwenden. Um diesen zu öffnen, drücken Sie die Tastenkombination Win + R. Geben Sie anschließend den Befehl eventvwr ein und drücken Sie Enter.
Klicken Sie in der Navigationsleiste links auf Windows-Protokolle und prüfen Sie anschließend die folgenden Protokolle: Application, System und Security
Linux
Speichern Sie die Datei /var/log/warn als Duplikat im Verzeichnis /tmp. Geben Sie hierzu den folgenden Befehl ein: cp /var/log/warn /tmp
Prüfen Sie anschließend die Datei.
Um die Meldungen, die während des letzten Bootvorgangs protokolliert wurden, nach Einträgen zu durchsuchen, können Sie die folgenden Befehle verwenden:
Dieser Befehl durchsucht die Boot-Logdatei nach Zeilen, in denen die Zeichenfolgen Erro oder erro enthalten sind.dmesg | grep [Ee]rro
Dieser Befehl durchsucht die Boot-Logdatei nach Zeilen, in denen die Zeichenfolgen Fault oder fault enthalten sind.dmesg | grep [Ff]ault
Dieser Befehl durchsucht die Boot-Logdatei nach Zeilen, in denen die Zeichenfolgen Defect oder defect enthalten sind.dmesg | grep [Dd]efect
Dieser Befehl durchsucht die Boot-Logdatei nach Zeilen, in denen die Zeichenfolgen Bad oder bad enthalten sind.dmesg | grep [Bb]ad
Dieser Befehl durchsucht die Boot-Logdatei nach Zeilen, in denen die Zeichenfolgen Fail oder fail enthalten sind.dmesg | grep [Ff]ail
Dieser Befehl durchsucht die Boot-Logdatei nach Zeilen, in denen die Zeichenfolgen Incorrect oder incorrect enthalten sind.dmesg | grep [Ii]ncorrect
Dieser Befehl speichert alle Meldungen, die beim letzten Bootvorgang protokolliert worden sind, im Verzeichnis /tmp.dmesg > /tmp/dmesg
/var/log/messages und /var/log/syslog
In Ubuntu und Debian werden in der Datei /var/log/messages fast alle Ereignisse mitprotokolliert. Es handelt sich um das System-Logbuch von Linux. Diese Datei zeichnet eine Vielzahl von Ereignissen auf, wie z.B. Fehlermeldungen des Systems, Änderungen in der Netzwerkkonfiguration etc. In dieser Logdatei ist jeder Eintrag mit einem Datum und der jeweiligen Uhrzeit versehen.
In CentOS sind diese Information in der Datei /var/log/syslog aufgeführt.
kern.log
Meldungen des Kernels finden Sie in der Datei kern.log. Diese Datei enthält z. B. auch ältere Meldungen und Meldungen, die aus den iptables-Regeln heraus entstehen. Die Datei kern.log finden Sie im Verzeichnis /var/log.
Konfiguration des Servers prüfen
Wenn Sie keine Verbindung zum Server herstellen können, loggen Sie sich mittels der KVM-Konsole auf dem Server ein. Prüfen Sie anschließend die Firewall-Konfiguration und die Netzwerkeinstellungen des Servers.
Firewall-Konfiguration und Netzwerkeinstellungen prüfen (Linux)
In diesem Artikel werden die wichtigsten Befehle genannt, die Sie zur Prüfung der Netzwerkkonfiguration und der Firewall-Konfiguration benötigen.
Portscan durchführen
Um einen Portscan durchzuführen, können Sie das Programm netcat verwenden. Netcat (nc), ist ein universelles Kommandozeilenwerkzeug. Es kann im Terminal oder in Skripten für die Kommunikation über TCP- und UDP-Netzwerkverbindungen (Internet Protocol Version 4 und Version 6) verwendet werden.
Das Programm netcat ist ein Bestandteil von jeder Ubuntu-Installation, kann jedoch ggf. über das Paket netcat-openbsd installiert werden.
Um netcat auf einem Server mit der Distribution CentOS zu installieren, geben Sie den folgenden Befehl ein:
CentOS 7: [root@localhost ~]# yum install nc.x86_64
CentOS 8: [root@localhost ~]# dnf install nmap
Um mit netcat einen Portscan durchzuführen, geben Sie den folgenden Befehl ein:nc -v IP-ADRESSE-DES-SERVERS PORTNUMMER
Beispiel:
[root@localhost ~]# nc -v 192.168.1.1 22
Netzwerkdienste prüfen
Um eine Liste der lauschenden Netzwerkdienste, Deamons und Programme aufzurufen, geben Sie den folgenden Befehl ein:netstat -tulpen
Anschließend können Sie prüfen, ob die betreffenden Netzwerkdienste, Deamons und Programme aktiv sind und auf dem korrekten Port lauschen. Ferner können Sie nach der Eingabe des Befehls feststellen, ob der benötigte Port freigeschaltet werden muss.
Beispiel:[root@localhost ~]# netstat -tulpen
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 0.0.0.0:5355 0.0.0.0:* LISTEN 193 27635 1368/systemd-resolv
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 29477 1582/sshd
tcp6 0 0 :::5355 :::* LISTEN 193 27638 1368/systemd-resolv
tcp6 0 0 :::22 :::* LISTEN 0 29479 1582/sshd
udp 0 0 0.0.0.0:5355 0.0.0.0:* 193 27634 1368/systemd-resolv
udp 0 0 127.0.0.53:53 0.0.0.0:* 193 27640 1368/systemd-resolv
udp 0 0 0.0.0.0:68 0.0.0.0:* 0 27510 1314/dhclient
udp 0 0 127.0.0.1:323 0.0.0.0:* 0 25505 1174/chronyd
udp6 0 0 :::5355 :::* 193 27637 1368/systemd-resolv
udp6 0 0 ::1:323 :::* 0 25506 1174/chronyd
Netzwerkkonfiguration prüfen
Um die konfigurierten Interfaces anzuzeigen, geben Sie den Befehl ip addr ein. Nach der Eingabe des Befehls wird Ihnen der Status von jedem Interface angezeigt:
Beispiel:
root@localhost:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:50:56:00:f1:5b brd ff:ff:ff:ff:ff:ff
inet 217.160.173.123/32 brd 217.160.173.123 scope global ens192
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:fe00:f15b/64 scope link
valid_lft forever preferred_lft forever
Ein deaktiviertes Interface können Sie mit dem folgenden Befehl wieder aktivieren:
sudo ifup NAME_DES_INTERFACES
Beispiel:
[root@localhost ~]# sudo ifup ens192
Wenn dieser Befehl fehlschlägt, ist es möglich, dass sich das Interface in einem Zustand befindet, das dem Befehlsskript unbekannt ist. Geben Sie in diesem Fall den gleichen Befehl mit dem Parameter --force ein:
sudo ifup --force NAME_DES_INTERFACES
Beispiel:
[root@localhost ~]# sudo ifup --force ens192
Prüfen Sie anschließend, ob Sie eine verschlüsselte Netzwerkverbindung zu Ihrem Server herstellen können. Wenn dies nicht möglich ist, prüfen Sie die Netzwerkkonfiguration des Servers.
Öffnen Sie zu diesem Zweck die unten aufgeführten Konfigurationsdateien mit dem Editor vi. Prüfen und editieren Sie die Einstellungen und führen Sie anschließend ggf. einen Neustart des Netzwerks durch, um die Änderungen an der Netzwerkkonfiguration zu übernehmen:
Ubuntu: /etc/network/interfaces
CentOS 7 und CentOS 8: /etc/sysconfig/network-scripts/
Um einen Neustart des Netzwerks durchzuführen, geben Sie den folgenden Befehl bzw. die folgenden Befehle ein:
Ubuntu
[root@localhost ~]# /etc/init.d/networking restart
CentOS 7
[root@localhost ~]# /etc/init.d/network restart
CentOS 8
[root@localhost ~]# nmcli networking off
[root@localhost ~]# nmcli networking on
IP-Routing-Tabelle mit route anzeigen und konfigurieren
Mit dem Programm route können Sie die IP-Routing-Tabelle anzeigen und konfigurieren. Geben Sie hierzu den folgenden Befehl ein:
[root@localhost ~]# route
Nach der Eingabe des Befehls werden z.B. die folgenden Informationen angezeigt:
[root@localhost home]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens192
gateway 0.0.0.0 255.255.255.255 UH 100 0 0 ens192
169.254.169.254 gateway 255.255.255.255 UGH 100 0 0 ens192
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
localhost 0.0.0.0 255.255.255.255 UH 100 0 0 ens192
Firewall-Konfiguration prüfen (CentOS 6, CentOS 7 und Ubuntu)
Im Linux-Kernel ist standardmäßig ein Paketfilter integriert, der durch Module des Software-Pakets Netfilter bereitgestellt wird. Um diesen zu konfigurieren, ist ein zusätzliches Programm erforderlich.
Als Administrator können Sie das Programm iptables verwenden, um Regeln zu erstellen, zu verändern oder zu löschen. iptables ist ein Programm zur Konfiguration der Tabellen (tables), die durch die Firewall im Linux-Kernel bereitgestellt werden.
Die Einstellungen die Sie mit iptables vornehmen, gehen beim Systemneustart verloren. Mithilfe der Tools iptables-save und iptables-restore können Sie die angelegten Regeln speichern und wiederherstellen.
Mit einem Init-Script erfolgt dies automatisch im Lauf des Bootprozesses. iptables ist auf das Protokoll IPv4 beschränkt. Für die weiteren Protokolle gibt es entsprechende Varianten wie z.B. ip6tables für IPv6 oder ebtables für Ethernet-Pakete, die ebenfalls im Kernel-Modul enthalten sind.
Unter Linux ist iptables für gewöhnlich bereits vorinstalliert. iptables setzt erweiterte Systemprivilegien voraus und kann nur als Root oder mit Administrator-Rechten ausgeführt werden.
Die Paketprüfung und die mit iptables zu erstellenden Filterregeln sind dreistufig aufgebaut. Es gibt Tabellen (tables), "Chains" (Ketten) und Regeln (rules).
Die mit dem Programm geladenen und zuvor vom Kernel erzeugten Tabellen (tables) enthalten Ketten (chains) von Regeln (rules), die definieren, wie eingehende und ausgehende Datenpakete behandelt werden sollen. Diese Pakete werden innerhalb einer Kette von Regel zu Regel weitergereicht. Jede Regel kann eine Aktion auslösen (jump target) oder einen Wechsel in eine andere Kette bewirken (goto chain).
Folgende Aktionen können ausgelöst werden:
- ACCEPT: Das Paket wird angenommen.
- DROP: Das Paket wird verworfen.
- QUEUE: Verschiebt das Paket in die Benutzerprozesse; setzt einen Vermittler (queue handler) voraus, der die Pakete an eine Anwendung weiterleitet.
- RETURN: Das Paket wird in die vorangegangene Kette zurückgeschickt, wenn es sich um eine benutzerdefinierte Kette handelt. In Standardketten wird die Richtlinie (policy) der Kette ausgeführt. Ohne Konfiguration wird standardmäßig die Aktion ACCEPT ausgeführt.
Tabellen
In den Tabellen werden Filterregeln zu Gruppen zusammengefasst. Diese werden nach der grundsätzlichen Aufgabe unterteilt. Es gibt vier wichtige Tabellen, in denen Sie Filterregeln hinterlegen können:
- filter: Dies ist die Standardtabelle.
- nat: Wird verwendet, um Pakete zu ändern, die eine neue Verbindung herstellen und für die Adressumsetzung (Network Address Translation, NAT) verwendet werden.
- mangle: Diese Tabelle wird in der Regel für bestimmte Arten von Paketmanipulation eingesetzt.
- raw: Diese Tabelle wird in der Regel eingesetzt, um Ausnahmen vom Connection Tracking in Kombination mit dem NOTRACK Target zu definieren.
Chains
Jede Tabelle enthält verschiedene Chains. Die Chains legen fest, wann ein Paket geprüft wird. Es gibt folgende Chains:
CHAIN | TABELLE | BESCHREIBUNG |
INPUT | filter, mangle | Wird auf alle Pakete angewendet, die an einen lokalen Prozess gerichtet sind. |
OUTPUT | filter, nat, mangle, raw | Wird auf alle Pakete angewendet, die von einem lokalen Prozess stammen. |
FORWARD | filter, mangle | Wird auf alle Pakete angewendet, die geroutet werden. |
PREROUTING | nat, mangle, raw | Wird auf alle Pakete angewendet, bevor diese geroutet werden. |
POSTROUTING | nat, mangle | Wird auf alle Pakete angewendet, nachdem diese geroutet wurden. |
In den Tabellen und Chains werden die Filterregelsätze festgelegt. Dies geschieht über einen Aufruf von iptables im Terminal.
Eine detaillierte Übersicht über die Funktionsweise der Paketfilter-Software bietet die Man-Page. Diese können Sie mit dem folgenden Befehl aufrufen:[root@localhost ~]# man iptables
Darüber hinaus finden Sie auf der folgenden Seite weitere Informationen:
https://www.netfilter.org/
Um das Standardverhalten von iptables anzuzeigen, geben Sie den folgenden Befehl ein:[root@localhost ~]# iptables –L
Um zu prüfen, welche Filterregeln bereits hinterlegt sind, geben Sie die folgenden Befehle ein:[root@localhost ~]# sudo iptables -t filter –L
[root@localhost ~]# sudo iptables -t nat –L
[root@localhost ~]# sudo iptables -t mangle -L
[root@localhost ~]# sudo iptables -t raw –L
Um alle Regeln zu löschen, geben Sie den folgenden Befehl ein:[root@localhost ~]# iptables –F
Weitere wichtige Befehle
Im Folgenden sind weitere wichtige Befehle für iptables aufgeführt.
- Eine neue Kette erstellen:
sudo iptables -N NAME_DER_KETTE
Beispiel:[root@localhost ~]# sudo iptables -N Test
- Eine Kette löschen:
sudo iptables -X NAME_DER_KETTE
Beispiel:[root@localhost ~]# sudo iptables -X Test
- Regeln der Kette mit dem Namen Test auflisten:
sudo iptables -L NAME_DER_KETTE
Beispiel:[root@localhost ~]# sudo iptables -L Test
- Regeln der Kette Test löschen:
sudo iptables –F NAME_DER_KETTE
Beispiel:[root@localhost ~]# sudo iptables -F Test
- Policy für die Kette festlegen:
Im unten aufgeführten Beispiel wird das Paket automatisch angenommen, wenn die Filterregeln der Kette INPUT nicht greifen.[root@localhost ~]# sudo iptables -P INPUT ACCEPT
- Eine neue Regel an eine ausgewählte Kette hängen:
sudo iptables -A NAME_DER_KETTE -s IP-ADRESSE -j DROP
- Im unten aufgeführten Beispiel wird die Regel, Datenpakete von der IP-Adresse 217.160.172.48 zu verwerfen, zur Kette Test hinzugefügt.
[root@localhost ~]# sudo iptables -A Test -s 217.160.172.48 -j DROP
- Angegebene Regel der ausgewählten Kette löschen:
sudo iptables -D NAME_DER_KETTE -s IP-ADRESSE -j DROP
Beispiel:[root@localhost ~]# sudo iptables -D Test -s 217.160.172.48 -j DROP
- Die neue Regel an die ausgewählte Position der Kette einfügen:
sudo iptables -I NAME_DER_KETTE 1 -s IP-ADRESSE -j DROP
In diesem Beispiel wird die Kette an Position 1 eingefügt.
Beispiel:[root@localhost ~]# sudo iptables -I Test 1 -s 217.160.172.48 -j DROP
- Regel der ausgewählten Kette unter Angabe der Position löschen:
sudo iptables -D NAME_DER_KETTE 1
Beispiel:[root@localhost ~]# sudo iptables -D Test 1
Ergebnisse speichern
Um die Einstellungen die Sie mit iptables vornehmen, dauerhaft in einer Datei zu speichern, geben Sie den folgenden Befehl ein:
- Ubuntu:
sudo iptables-save > /etc/iptables/rules.v4
- CentOS
iptables-save > /etc/sysconfig/iptables
Um die Datei wieder für IPv4 zu laden, geben Sie den folgenden Befehl ein:
- Debian/Ubuntu:
iptables-restore < /etc/iptables/rules.v4
- CentOS:
iptables-restore < /etc/sysconfig/iptables
Um die Regeln automatisch zu laden, können Sie die folgenden Methoden nutzen:
- Ubuntu: Mit iptables-persistent werden die Firewall-Regeln in Konfigurationsdateien unter /etc/iptables/ abgelegt. Diese werden beim Serverstart wieder geladen und werden somit erneut aktiviert. Zu diesem Zweck müssen die Regeln in der Datei /etc/iptables/rules.v4 für IPv4 gespeichert werden. Um iptables-persistent zu nutzen, müssen Sie das folgende Paket installieren:
apt-get install iptables-persistent
- CentOS 7
Für das dauerhafte Speichern der iptables-Rules muss der Dienst iptables-services installiert werden.yum install -y iptables-services
Um iptables weiterhin verwenden zu können, muss der Dienst firewalld zunächst deaktiviert werden.systemctl stop firewalld
systemctl mask firewalld
Anschließend muss der Dienst aktiviert werden.systemctl enable iptables.service
systemctl -t service | grep iptables
Die Regeln werden für IPv4 in der Datei /etc/sysconfig/iptables gespeichert.
Für das Speichern der aktuellen Rules kann auch das folgende Skript verwendet werden:[root@localhost ~]# /usr/libexec/iptables/iptables.init save
Die Regeln können Sie sich nach dem Neustart mit dem folgenden Befehl anzeigen lassen:iptables -L
Alternativ können Sie den folgenden Befehl eingeben, um den Status von ip-tables zu prüfen:systemctl status iptables.service
Firewall-Konfiguration prüfen (CentOS 8)
CentOS 8 richtet Firewalls standardmäßig mit der nftables-Infrastruktur ein und verwendet nftables als Standard-Backend.
Standardmäßig erstellt nftables keine Tabellen und Ketten wie sein Vorgänger iptables. Als Administrator erstellen Sie zuerst die Tabellen und ergänzen diese um Chains, die sich als Netfilter-Hooks in den Linux-Kernel einklinken. Anschließend erstellen für die Chains die passenden Rules.
Weitere wichtige Unterschiede zwischen nftables und iptables sind:
- Tabellen und Ketten sind vollständig konfigurierbar
- Es gibt zwischen Matches und Targets keine Unterscheidung mehr.
- Sie können mehrere Aktionen in einer einzigen Regel angeben.
- Bessere Unterstützung für dynamische Regelsatz-Updates.
Weitere Informationen zu den Unterschieden zwischen iptables und nftables finden Sie hier:
https://wiki.nftables.org/wiki-nftables/index.php/Main_differences_with_iptables
Syntax der Befehle
Die grundlegenden Befehle für Tabellen, Chains und Regeln sind stets wie folgt aufgebaut:nft <add|list|flush|delete> <table|chain|rule> <WeitereOptionen>
Tabelle erstellen
Um eine Tabelle und ein Regelset zu erstellen, geben Sie den folgenden Befehl ein:[root@localhost ~]# nft add table inet meine_tabelle
nft list ruleset
table inet meine_tabelle {
}
Um eine Kette zu erstellen, geben Sie den unten stehenden Befehl ein. Beim Erstellen der Kette müssen Sie angeben, zu welcher Tabelle die Chain gehört. Ferner müssen Sie den Typ, den Hook und die Priorität definieren.nft add chain inet meine_tabelle meine_filter_chain { type filter hook input priority 0 \; }
Chains können auch ohne Angabe eines Hooks erstellt werden. Chains, die Sie ohne Angabe eines Hooks erstellen, sind äquivalent zu den benutzerdefinierten iptables-Ketten. Regeln können die jump- oder goto-Anweisungen verwenden, um Regeln in der Kette auszuführen. Dies ist nützlich, um Regeln logisch zu trennen oder um eine Teilmenge von Regeln gemeinsam zu nutzen, die sonst doppelt vorhanden wären.
Eine wesentliche Neuerung bei nftables ist das Konzept der Families: Für die Erstellung von Regeln stellt nft eine Reihe von Adressfamilien bereit. Vordefiniert sind arp (ARP), bridge (vorher von Ebtables bereitgestellt), inet (umfasst IPv4 und IPv6), ip (für IPv4), ip6 (für IPv6) sowie netdev. Alle zueinandergehörenden Tabellen müssen sich in der gleichen Familie befinden. Dies ist vor allem für das Generieren von Tabellen und Ketten relevant.
Um z.B. eine Regel für die Chain zu erstellen, die eine SSH-Verbindung erlaubt, geben Sie den folgenden Befehl ein:nft add rule adressfamilie meine_tabelle meine_filter_chain tcp dport ssh accept
Beispiel:[root@localhost ~]# nft add rule inet meine_tabelle meine_filter_chain tcp dport ssh accept
Regeln löschen
Das Löschen von Regeln erfolgt mit Hilfe von Regelhandles. Um eine Regel zu löschen, müssen Sie das Handle der Regel finden, die Sie löschen möchten. Beispiel:[root@localhost ~]# nft --handle list ruleset
table inet meine_tabelle { # handle 21
chain meine_filter_chain { # handle 1
type filter hook input priority 0; policy accept;
tcp dport http accept # handle 3
tcp dport 1234 accept # handle 8
tcp dport nfs accept # handle 7
tcp dport ssh accept # handle 2
}
}
Anschließend verwenden Sie den Handle, um die Regel zu löschen. Geben Sie hierzu folgenden Befehl ein:nft delete rule [<familie>] <tabelle> <chain> [handle <handle>]
Beispiel:[root@localhost ~]# nft delete rule inet meine_tabelle meine_filter_chain handle 8
[root@localhost ~]# nft --handle list ruleset
table inet meine_tabelle { # handle 21
chain meine_filter_chain { # handle 1
type filter hook input priority 0; policy accept;
tcp dport http accept # handle 3
tcp dport nfs accept # handle 7
tcp dport ssh accept # handle 2
}
}
Regeln auflisten
Um eine Tabelle aufzulisten, verwenden Sie die folgenden Befehle:nft list tables [<familie>]
nft list table [<familie >] <name> [-n] [-a]
nft (add | delete | flush) table [<familie >] <name>
Um alle Regeln in einer bestimmten Tabelle aufzurufen, geben Sie den folgenden Befehl ein:
[root@localhost ~]# nft list table inet meine_tabelle
table inet meine_tabelle {
chain meine_filter_chain {
type filter hook input priority 0; policy accept;
tcp dport http accept
tcp dport nfs accept
tcp dport ssh accept
}
}
Um alle Regeln in einer Chain aufzurufen, geben Sie anschließend den folgenden Befehl ein:[root@localhost ~]# nft list chain inet meine_tabelle meine_andere_chain
table inet meine_tabelle {
chain meine_filter_chain {
udp dport 12345 log prefix "UDP-12345"
}
}
Regelset speichern
Mit dem folgenden Befehl können Sie ein Regelset speichern:nft list ruleset > /root/nftables.conf
Ein Regelset können Sie mit dem folgenden Befehl erstellen:nft -f /root/nftables.conf
Um den systemd-Dienst zu aktivieren und Ihre Regeln beim Neustart wiederherstellen lassen, geben Sie den folgenden Befehl ein:systemctl enable nftables
nft list ruleset > /etc/sysconfig/nftables.conf
Weitere Informationen zu nftables finden Sie hier:
https://wiki.nftables.org/wiki-nftables/index.php/Main_Page
Knoppix zur Datenrettung nutzen, wenn ein Zugriff auf das Betriebssystem nicht möglich ist
Wenn ein Zugriff auf das Betriebssystem nicht möglich ist, können Sie Ihren Server mithilfe der Knoppix-DVD booten und die Partitionen einbinden, so dass Sie auf die Daten per SSH oder SFTP zugreifen können. Gehen Sie hierzu wie folgt vor:
Legen Sie im Cloud Panel im Bereich Infrastruktur > Server die Knoppix-DVD ein, führen Sie einen Neustart des Servers durch. Der Server bootet nun mit der Knoppix-DVD. Nach dem Neustart des Servers können Sie anschließend mittels der KVM-Konsole auf Knoppix zugreifen und ein Backup Ihrer Daten erstellen oder die Konfiguration Ihres Servers ändern.
Firewall-Richtlinie und -regeln prüfen
- Prüfen Sie im Cloud Panel im Bereich Infrastruktur > Server, welche Firewall-Richtlinie dem Server zugewiesen ist.
- Prüfen Sie anschließend im Bereich Netzwerk > Firewall-Richtlinie, ob in der zugewiesenen Firewall-Richtlinie die erforderlichen Ports freigegeben wurden. Weisen Sie dem Server ggf. die korrekte Firewall-Richtlinie zu oder erstellen Sie in der zugewiesenen Firewall-Richtlinie die erforderlichen Portfreigaben, wie z.B. Port 22 für SSH oder Port 3389 für RDP.
- Versuchen Sie erneut, via SSH bzw. Remote Desktop (Microsoft Windows Server) eine Verbindung zum Server herzustellen.
Portscan durchführen
Wenn Sie nach der Prüfung und ggf. der Anpassung der Firewall-Richtlinie im Cloud Panel keine Verbindung zum Server herstellen können, führen Sie einen Portscan durch. Prüfen Sie hierbei, ob der Port 22 (Linux) oder der Port 3389 (Microsoft Windows) freigeschaltet sind.
Um einen Portscan durchzuführen, geben Sie auf Ihrem lokalen Computer den entsprechenden Befehl im Terminal (Linux) oder in der Powershell (Microsoft Windows) ein:
Linux:nc -v IP-ADRESSE-DES-SERVERS PORTNUMMER
Beispiel:[root@localhost ~]# nc -v 192.168.1.1 22
Microsoft WindowsTest-NetConnection IP-ADRESSE-DES-SERVERS -p PORTNUMMER
Beispiel[root@localhost ~]# Test-NetConnection 192.168.1.1 -Port 22