Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: ✔️ Linux-VMs
In diesem Artikel wird beschrieben, wie Sie die unkomplizierte Firewall (UFW) verwenden, um Konnektivitätsprobleme auf einem virtuellen Azure Ubuntu-Computer (VM) zu diagnostizieren und zu beheben.
UFW ist eine benutzerfreundliche Benutzeroberfläche für die Verwaltung einer Netfilter-Firewall in Linux-Distributionen, insbesondere in Ubuntu. Das Hauptziel besteht darin, die Verwaltung einer Firewall für Benutzer zu vereinfachen, die feststellen können, dass die direkte Konfiguration iptables
schwierig und komplex ist. UFW ist das Standardmäßige Firewallkonfigurationstool für Ubuntu.
Voraussetzungen
- Stammberechtigungen.
- Zugriff auf die serielle Konsole.
- Installiert
net-tools
,iproute2
undnetcat-openbsd
Pakete.
So überprüfen Sie, ob ein Port in der Ubuntu-VM mit UFW geschlossen ist
Notiz
Standardmäßig ist UFW nicht auf Ubuntu-VMs aktiviert, die mithilfe von Bildern aus dem Azure Marketplace erstellt werden. Durch aktivieren von UFW auf Ihrem virtuellen Computer werden alle Ports geschlossen, einschließlich Port 22 für SSH-Dienste.
Überprüfen Sie den UFW-Status:
sudo ufw status
In der Ausgabe:
Status: active
gibt an, dass UFW ausgeführt wird.Status: inactive
gibt an, dass UFW nicht aktiv ist, und der Port wird nicht durch UFW blockiert.
Auflisten der aktuellen UFW-Regeln:
sudo ufw status numbered
Dieser Befehl listet alle Regeln auf. Es wird angezeigt, ob bestimmte Ports zulässig oder verweigert werden. Wenn ein Port nicht in der Liste angezeigt wird, wird er standardmäßig verweigert.
Überprüfen Sie die UFW-Regeln, um zu ermitteln, ob ein bestimmter Port verweigert wird. Um beispielsweise zu überprüfen, ob SSH-Port 22 verweigert wird, führen Sie den folgenden Befehl aus:
sudo ufw status | grep '22'
- Wenn die Ausgabe angezeigt wird
22/tcp ALLOW
, ist der Port über die Firewall zulässig. - Wenn keine Ausgabe angezeigt wird oder die Regel angezeigt
22/tcp DENY
wird, wird der Port verweigert.
- Wenn die Ausgabe angezeigt wird
Verwenden Sie den Befehl oder
ss
dennetstat
Befehl, um zu überprüfen, ob ein Port verwendet wird.tcp6 0 0 :::22 :::* LISTEN
- Die Beispielausgabe zeigt, dass ein Dienst Port 22 verwendet oder überwacht. Dies bestätigt jedoch nicht, dass der Port von der Firewall zugelassen oder aufgehoben wird. Auch wenn ein Port von der Firewall blockiert wird, wird er möglicherweise weiterhin als LISTEN in der Ausgabe angezeigt.
- Keine Ausgabe gibt an, dass der Port von keinem Dienst überwacht wird.
Testen der Portkonnektivität mithilfe von
nc
:sudo nc -zv <server-ip> 22
- Wenn die Verbindung fehlschlägt, der Port jedoch überwacht wird, bestätigt dies, dass der Port von der Firewall verweigert wird.
- Eine erfolgreiche Verbindung bedeutet, dass der Port zulässig ist.
Wenn der von Ihnen überprüfte Port nicht in den UFW-Regeln angezeigt wird oder als "UFW" gekennzeichnet DENY
ist, blockiert UFW den Port. Wenn Sie über externe Tools keine Verbindung mit dem Port herstellen können, wird der Port blockiert.
Arbeiten mit UFW
Szenario 1: Zulassen der SSH-Konnektivität für alle IP-Adressen
Führen Sie den folgenden Befehl aus:
sudo ufw allow ssh
Rule added
Überprüfen Sie die Regel:
sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Szenario 2: Zulassen von SSH (Port 22) für eine bestimmte IP-Adresse
Führen Sie den folgenden Befehl aus:
sudo ufw allow from 10.0.10.10 to any port 22 proto tcp
Überprüfen Sie die Regel:
sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW 10.0.10.10
Szenario 3: Zulassen, dass ein Subnetz eine Verbindung mit port 22 herstellt
Führen Sie den folgenden Befehl aus:
sudo ufw allow from 10.1.0.0/24 to any port 22 proto tcp
Überprüfen Sie die Regel:
sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW 10.0.10.10
22/tcp ALLOW 10.1.0.0/24
Szenario 4: Verweigern von SSH für alle IP-Adressen
Führen Sie die folgenden Befehle aus:
sudo ufw deny ssh
sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW 10.0.10.10
22/tcp ALLOW 10.1.0.0/24
22/tcp DENY Anywhere
Wichtig
Die Reihenfolge der Regeln ist wichtig, da UFW die Regeln in der Reihenfolge verarbeitet, in der sie aufgeführt werden. Dies bedeutet, dass UFW nach übereinstimmungen einer Regel diese Regel anwendet und die Verarbeitung zusätzlicher Regeln für diese Verbindung beendet.
Löschen einer Regel
Wenn Ihre Regeln nicht in der richtigen Reihenfolge vorliegen, können Sie eine Regel löschen und dann wiederherstellen, um die Reihenfolge zu ändern.
Um eine Regel zu löschen, können Sie dessen Zahl aus der ufw status numbered
Ausgabe verwenden. So löschen Sie z. B. regelnummer 3:
sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 22/tcp ALLOW 10.0.10.10
[ 2] 22 ALLOW 10.1.0.0/24
[ 3] 22/tcp DENY IN Anywhere
sudo ufw delete 3
Weitere Informationen finden Sie unter: Ubuntu - UFW Community
Kontaktieren Sie uns für Hilfe
Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.
Informationen zum Haftungsausschluss von Drittanbietern
Die in diesem Artikel genannten Drittanbieterprodukte stammen von Herstellern, die von Microsoft unabhängig sind. Microsoft gewährt keine implizite oder sonstige Garantie in Bezug auf die Leistung oder Zuverlässigkeit dieser Produkte.