> For the complete documentation index, see [llms.txt](https://docs.instantroot.de/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.instantroot.de/kvm-server/windows/ports-unter-windows-offnen.md).

# Ports unter Windows öffnen

Wenn ein Dienst auf deinem Windows Server von außen erreichbar sein soll, muss der passende Port in der Windows-Firewall freigegeben sein.

In diesem Artikel erklären wir dir, wie du einen Port unter Windows Server öffnest und worauf du dabei achten solltest.

### Was ist ein Port?

Ein Port ist eine Nummer, über die ein bestimmter Dienst auf deinem Server erreichbar ist.

Die IP-Adresse führt zum Server. Der Port führt zum passenden Dienst auf diesem Server.

Beispiel:

* Die IP-Adresse zeigt auf deinen Server.
* Der Port `3389` wird für Remote Desktop verwendet.
* Der Port `80` wird für HTTP-Webseiten verwendet.
* Der Port `443` wird für HTTPS-Webseiten verwendet.

Wenn ein Dienst läuft, der Port aber in der Firewall blockiert ist, kann der Dienst von außen nicht erreicht werden.

### Wann muss ich einen Port öffnen?

Du musst einen Port öffnen, wenn ein Programm oder Dienst Verbindungen von außen annehmen soll.

Typische Beispiele:

| Port    | Dienst             |
| ------- | ------------------ |
| `80`    | HTTP-Webserver     |
| `443`   | HTTPS-Webserver    |
| `3389`  | Remote Desktop     |
| `25565` | Minecraft Java     |
| `19132` | Minecraft Bedrock  |
| `30120` | FiveM              |
| `9987`  | TeamSpeak Voice    |
| `3306`  | MySQL oder MariaDB |
| `5432`  | PostgreSQL         |

Öffne nur Ports, die du wirklich brauchst.

### Wichtiger Hinweis zu Remote Desktop

Der Standardport für Remote Desktop ist `3389`.

Diesen Port solltest du nicht versehentlich blockieren, wenn du per RDP mit deinem Server verbunden bist.

**Wichtig:** Wenn du die Windows-Firewall falsch konfigurierst, kannst du dich möglicherweise nicht mehr per Remote Desktop verbinden. Nutze in diesem Fall die VNC-Konsole oder den Konsolenzugriff im Serverpanel, falls verfügbar.

### Prüfen, ob der Dienst läuft

Bevor du einen Port öffnest, solltest du prüfen, ob der zugehörige Dienst überhaupt läuft.

Ein geöffneter Port bringt nichts, wenn keine Anwendung auf diesem Port lauscht.

Beispiele:

* Ein Webserver muss laufen, damit Port `80` oder `443` erreichbar ist.
* Ein Minecraft Server muss laufen, damit Port `25565` erreichbar ist.
* Ein TeamSpeak Server muss laufen, damit Port `9987` erreichbar ist.

### Port über die Windows Defender Firewall öffnen

Die einfachste Methode ist die Windows Defender Firewall mit erweiterter Sicherheit.

### Windows Defender Firewall öffnen

1. Verbinde dich per Remote Desktop mit deinem Windows Server.
2. Öffne das Startmenü.
3. Suche nach **Windows Defender Firewall mit erweiterter Sicherheit**.
4. Öffne das Programm.

Alternativ kannst du das Fenster über **Ausführen** öffnen:

1. Drücke `Windows-Taste + R`.
2. Gib `wf.msc` ein.
3. Bestätige mit **Enter**.

### Eingehende Regel erstellen

Eine eingehende Regel erlaubt Verbindungen von außen zu deinem Server.

1. Klicke links auf **Eingehende Regeln**.
2. Klicke rechts auf **Neue Regel**.
3. Wähle **Port** aus.
4. Klicke auf **Weiter**.
5. Wähle **TCP** oder **UDP**.
6. Trage den gewünschten Port ein.
7. Klicke auf **Weiter**.
8. Wähle **Verbindung zulassen**.
9. Klicke auf **Weiter**.
10. Wähle die passenden Profile aus.
11. Klicke auf **Weiter**.
12. Vergib einen Namen für die Regel.
13. Klicke auf **Fertig stellen**.

### TCP oder UDP auswählen

Viele Programme verwenden entweder TCP, UDP oder beides.

| Protokoll   | Typische Verwendung                                      |
| ----------- | -------------------------------------------------------- |
| TCP         | Webseiten, Remote Desktop, Datenbanken, viele Webdienste |
| UDP         | Gameserver, Voice-Server, Echtzeitdienste                |
| TCP und UDP | manche Gameserver oder spezielle Anwendungen             |

Wenn du nicht weißt, welches Protokoll dein Dienst nutzt, prüfe die Dokumentation der Anwendung.

Beispiele:

| Dienst            | Port    | Protokoll   |
| ----------------- | ------- | ----------- |
| HTTP              | `80`    | TCP         |
| HTTPS             | `443`   | TCP         |
| Remote Desktop    | `3389`  | TCP         |
| Minecraft Java    | `25565` | TCP         |
| Minecraft Bedrock | `19132` | UDP         |
| FiveM             | `30120` | UDP und TCP |
| TeamSpeak Voice   | `9987`  | UDP         |
| MySQL             | `3306`  | TCP         |

### Einzelnen Port öffnen

Wenn du nur einen Port öffnen möchtest, trägst du im Feld **Bestimmte lokale Ports** nur diese Portnummer ein.

Beispiel:

`25565`

Das öffnet genau diesen Port.

### Mehrere Ports öffnen

Mehrere Ports kannst du mit Komma trennen.

Beispiel:

`80,443,25565`

Damit werden die Ports `80`, `443` und `25565` geöffnet.

### Portbereich öffnen

Einen Portbereich kannst du mit Bindestrich eintragen.

Beispiel:

`27015-27020`

Damit werden alle Ports von `27015` bis `27020` geöffnet.

Öffne keine großen Portbereiche, wenn du sie nicht wirklich brauchst.

### Profile auswählen

Beim Erstellen einer Firewall-Regel fragt Windows nach Profilen.

Es gibt meistens:

* Domäne
* Privat
* Öffentlich

Auf einem Server solltest du in der Regel das Profil auswählen, das für deine aktive Netzwerkverbindung verwendet wird. Häufig ist das **Öffentlich**.

Wenn du unsicher bist, kannst du zunächst alle Profile auswählen. Besser ist jedoch eine bewusst gesetzte Regel für das passende Profil.

### Regel benennen

Vergib einen klaren Namen für die Regel.

Gute Beispiele:

* `Minecraft Java 25565 TCP`
* `Webserver HTTP 80 TCP`
* `Webserver HTTPS 443 TCP`
* `FiveM 30120 TCP UDP`
* `TeamSpeak 9987 UDP`

Ein eindeutiger Name hilft dir später, die Regel wiederzufinden.

### UDP-Port öffnen

Wenn dein Dienst UDP benötigt, musst du beim Erstellen der Regel **UDP** auswählen.

Beispiel für Minecraft Bedrock:

* Protokoll: UDP
* Port: `19132`
* Aktion: Verbindung zulassen

Wenn ein Dienst TCP und UDP benötigt, erstelle am besten zwei getrennte Regeln:

* eine Regel für TCP
* eine Regel für UDP

### Port über PowerShell öffnen

Du kannst Ports auch über PowerShell freigeben.

Öffne PowerShell als Administrator.

Beispiel für TCP-Port `25565`:

`New-NetFirewallRule -DisplayName "Minecraft Java 25565 TCP" -Direction Inbound -Protocol TCP -LocalPort 25565 -Action Allow`

Beispiel für UDP-Port `19132`:

`New-NetFirewallRule -DisplayName "Minecraft Bedrock 19132 UDP" -Direction Inbound -Protocol UDP -LocalPort 19132 -Action Allow`

Beispiel für HTTP und HTTPS:

`New-NetFirewallRule -DisplayName "Webserver HTTP 80 TCP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow`

`New-NetFirewallRule -DisplayName "Webserver HTTPS 443 TCP" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow`

### Bestehende Regeln anzeigen

Mit PowerShell kannst du vorhandene Firewall-Regeln prüfen.

Beispiel:

`Get-NetFirewallRule`

Regeln nach Namen suchen:

`Get-NetFirewallRule -DisplayName "*Minecraft*"`

Details zu einer Regel anzeigen:

`Get-NetFirewallRule -DisplayName "Minecraft Java 25565 TCP" | Get-NetFirewallPortFilter`

### Firewall-Regel deaktivieren

Wenn du eine Regel vorübergehend deaktivieren möchtest, kannst du sie in der Windows Firewall deaktivieren oder PowerShell verwenden.

Beispiel:

`Disable-NetFirewallRule -DisplayName "Minecraft Java 25565 TCP"`

### Firewall-Regel wieder aktivieren

Beispiel:

`Enable-NetFirewallRule -DisplayName "Minecraft Java 25565 TCP"`

### Firewall-Regel löschen

Wenn du eine Regel nicht mehr brauchst, kannst du sie löschen.

Beispiel:

`Remove-NetFirewallRule -DisplayName "Minecraft Java 25565 TCP"`

Lösche nur Regeln, bei denen du sicher bist, dass sie nicht mehr benötigt werden.

### Prüfen, ob ein Port lokal offen ist

Du kannst prüfen, ob eine Anwendung lokal auf einem Port lauscht.

Öffne PowerShell oder die Eingabeaufforderung und nutze:

`netstat -ano`

Wenn du nach einem bestimmten Port suchen möchtest:

`netstat -ano | findstr :25565`

Wenn der Dienst läuft, solltest du einen Eintrag mit `LISTENING` sehen.

### Prüfen, welcher Prozess den Port nutzt

In der Ausgabe von `netstat -ano` siehst du rechts eine Prozess-ID.

Mit dieser ID kannst du im Task-Manager oder per PowerShell prüfen, welches Programm den Port nutzt.

Beispiel:

`tasklist | findstr PROZESS-ID`

Ersetze `PROZESS-ID` durch die angezeigte Nummer.

### Port von außen testen

Ein lokal offener Port bedeutet nicht automatisch, dass er von außen erreichbar ist.

Damit ein Port von außen erreichbar ist, müssen mehrere Dinge stimmen:

* Dienst läuft auf dem Server
* Dienst lauscht auf der richtigen IP-Adresse
* Windows-Firewall erlaubt den Port
* Anwendung ist korrekt konfiguriert
* keine weitere Firewall blockiert die Verbindung
* der richtige TCP- oder UDP-Port wird getestet

Teste den Port nach Möglichkeit von einem anderen Netzwerk aus.

### Häufige Probleme

#### Port ist geöffnet, aber Dienst nicht erreichbar

Prüfe:

* Läuft der Dienst wirklich?
* Lauscht der Dienst auf dem richtigen Port?
* Nutzt der Dienst TCP oder UDP?
* Ist die Windows-Firewall-Regel aktiv?
* Wurde der richtige Port geöffnet?
* Gibt es eine zweite Firewall in der Anwendung?
* Ist die Anwendung korrekt gestartet?

#### Falsches Protokoll gewählt

Ein häufiger Fehler ist, TCP zu öffnen, obwohl der Dienst UDP nutzt.

Beispiel:

Minecraft Bedrock nutzt standardmäßig UDP auf Port `19132`.

Wenn du nur TCP `19132` öffnest, funktioniert die Verbindung nicht.

#### Regel für falsches Profil erstellt

Wenn die Firewall-Regel nur für ein nicht aktives Profil gilt, kann der Port weiterhin blockiert sein.

Prüfe deshalb, ob die Regel für das aktive Profil gilt.

#### Dienst lauscht nur lokal

Manche Anwendungen lauschen nur auf `127.0.0.1`.

Dann ist der Dienst nur lokal auf dem Server erreichbar, aber nicht von außen.

Prüfe die Konfiguration der Anwendung und stelle sicher, dass sie auf der externen IP-Adresse oder auf `0.0.0.0` lauscht.

#### Port wird bereits verwendet

Wenn ein anderer Dienst den Port bereits nutzt, kann deine Anwendung nicht starten oder ist nicht erreichbar.

Prüfe mit:

`netstat -ano | findstr :PORT`

Ersetze `PORT` durch die gewünschte Portnummer.

#### RDP funktioniert nach Firewall-Änderung nicht mehr

Wenn du dich nach einer Firewall-Änderung nicht mehr per Remote Desktop verbinden kannst, wurde möglicherweise Port `3389` blockiert oder die falsche Regel geändert.

Nutze in diesem Fall den Konsolenzugriff oder die VNC-Konsole im Serverpanel, falls verfügbar.

### Sicherheit

Öffne nur Ports, die du wirklich benötigst.

Jeder offene Port kann ein mögliches Angriffsziel sein, wenn der dahinterliegende Dienst unsicher oder veraltet ist.

Achte besonders auf:

* starke Passwörter
* aktuelle Software
* keine unnötigen Dienste
* keine öffentlich erreichbaren Datenbanken, wenn nicht nötig
* regelmäßige Updates
* saubere Firewall-Regeln

Datenbankports wie `3306` oder `5432` sollten nur öffentlich erreichbar sein, wenn du genau weißt, was du tust und zusätzliche Sicherheitsmaßnahmen eingerichtet hast.
