Subnetzrechner
Die Subnetz-Berechnung nimmt ein Netz in CIDR-Notation – oder eine Adresse mit ihrer Maske in Dezimalschreibweise – entgegen und liefert alles, was sich daraus ableiten lässt: die Netz- und die Broadcast-Adresse, die Maske und ihre Wildcard, den ersten und den letzten nutzbaren Host, die Gesamtzahl der Adressen und die Zone für die Reverse-DNS-Auflösung. Sie funktioniert mit IPv4 und IPv6 und kann einen Block in gleich große Subnetze des von Ihnen gewünschten Präfix aufteilen.
Im Browser ausführen – kostenlos
Läuft direkt in Ihrem Browser – kostenlos. Ihre Datei verlässt Ihren Browser nicht und wird an keinen Server übertragen.
Die Bits, die niemand von Hand durchzählen sollte
Jede Netzwerkfrage, die mit einem Schrägstrich beginnt, endet in Binärzahlen: Wie viele Hosts passen in eine /26, welche Adresse ist der Broadcast, wo hört ein Subnetz auf und wo fängt das nächste an. Im Kopf gerechnet ist das ein Umweg von zwei Minuten, der etwa so oft schiefgeht wie er gelingt – und eine falsche Antwort ist hier keine Marginalie, sondern eine Firewall-Regel, die still und leise die falschen Maschinen erfasst. Sie schicken den Block, Sie bekommen das vollständige Bild zurück: Netzadresse, Maske, Wildcard, Broadcast, ersten und letzten nutzbaren Host sowie die Gesamtzahl der Adressen.
Drei Schreibweisen, ein und dasselbe Netz
Die Funktion akzeptiert ein Netz so, wie es in der Praxis tatsächlich kopiert wird. Die klassische CIDR-Notation – 192.168.1.0/24 – ist der naheliegende Fall. Eine Adresse mit Maske in Dezimalschreibweise, wie sie in der Konfiguration einer Netzwerkschnittstelle steht, funktioniert ebenso: 192.168.1.10 255.255.255.0. Und eine einzelne Adresse ohne Zusatz wird als ein einzelner Host gelesen. In allen drei Fällen wird die Adresse zunächst auf ihr Netz heruntermaskiert, sodass 10.0.5.37/20 über 10.0.0.0/20 antwortet – fast immer das, wonach eigentlich gefragt wird.
Die Grenzfälle, die fast überall falsch berechnet werden
Eine /31 ist keine kaputte /30. Nach RFC 3021 handelt es sich um eine Punkt-zu-Punkt-Verbindung, deren beide Adressen nutzbar sind und die keinen Broadcast besitzt; ein Rechner, der hier null nutzbare Hosts ausgibt, wendet eine Regel an, die seit dem Jahr 2000 überholt ist. Eine /32 ist eine einzelne Adresse, ohne Netz- und ohne Broadcast-Adresse. Und eine Maske, deren Einsen nicht zusammenhängen – etwa 255.255.0.255 –, ist überhaupt keine gültige Maske: Sie wird abgelehnt, statt still ein plausibles, aber falsches Ergebnis auszugeben. Genau an diesen drei Stellen widersprechen sich die meisten Werkzeuge, und genau dort ist dieses hier eindeutig.
IPv6 ohne gerundete Zahlen
Ein IPv6-Block passt nicht in die Zahlen, mit denen die meisten Werkzeuge rechnen: Allein eine /64 enthält mehr als achtzehn Trillionen Adressen, weit jenseits der Stelle, an der Gleitkommazahlen zu runden beginnen. Hier wird mit exakten Ganzzahlen gerechnet, und die Gesamtzahl kommt als Zeichenkette zurück, damit die letzte Adresse eines Bereichs wirklich die Adresse ist, die ihn beendet. Die Adressen selbst erscheinen in kanonischer Form – Kleinschreibung, Nullen einmal zusammengefasst – und zusätzlich vollständig ausgeschrieben, was hilft, wenn Sie zwei Adressen mit bloßem Auge vergleichen müssen.
Einen Block aufteilen
Sie geben ein längeres Präfix an, und der Block kommt in gleich große Subnetze aufgeteilt zurück, jedes mit seinem eigenen Bereich: Eine /24, aufgeteilt in /26, ergibt vier; eine /16, aufgeteilt in /24, ergibt 256. An dieser Stelle geht die Planung auf Papier meistens schief, weil die Grenzen nicht dort liegen, wo die Intuition sie vermutet. Eine einzelne Antwort liefert höchstens 1024 Subnetze, damit das Ergebnis lesbar bleibt; darüber hinaus lohnt sich die Aufteilung in zwei Durchgängen. Im Browser läuft die gesamte Berechnung lokal auf Ihrem Rechner, ohne dass ein Block übertragen wird; über die API steht derselbe Aufruf für $0.002 pro Anfrage zur Verfügung.
Anwendungsfälle
Adressraum planen, bevor etwas konfiguriert wird
Ein Netz aufteilen, solange es noch eine Entscheidung ist – und nicht ein laufendes Netzwerk, das später neu nummeriert werden muss.
Eine Firewall-Regel oder ACL prüfen
Vor der Freigabe genau nachvollziehen, welche Adressen eine Regel tatsächlich abdeckt, statt es erst zu merken, wenn jemand den Zugriff verliert.
Ein übernommenes Netz verstehen
Lukas Fischer erhält für ein Kundenprojekt eine alte Schnittstellenkonfiguration mit Adresse und Maske und lässt sich daraus Bereich, Hostanzahl und Reverse-Zone berechnen, statt beides von Hand durchzurechnen.
Eingaben in der eigenen Anwendung validieren
Die Schneider IT-Systeme GmbH & Co. KG prüft über die API, ob ein von Kundinnen und Kunden übermitteltes Netz gültig ist, bevor es in das eigene Provisioning-System übernommen wird.
Häufige Fragen
Was kostet die Nutzung?
Auf dieser Seite, im Browser, ist sie kostenlos: Es wird nichts irgendwohin übertragen. Über die API kostet es $0.002 pro Anfrage, das von Ihrem Guthaben abgezogen wird.
Verlassen meine Netzwerkdaten meinen Rechner?
Nicht, wenn Sie die Funktion auf dieser Seite nutzen: Die Berechnung läuft vollständig in Ihrem Browser. Über die API wird der gesendete Block verarbeitet und anschließend verworfen; es wird nichts gespeichert.
Wird IPv6 unterstützt?
Ja. IPv6-Blöcke werden mit exakter Ganzzahlarithmetik berechnet, und die Gesamtzahl der Adressen kommt als Zeichenkette zurück, damit nichts gerundet wird.
Warum zeigt eine /31 zwei nutzbare Hosts?
Weil RFC 3021 die /31 als Punkt-zu-Punkt-Verbindung definiert, bei der beide Adressen genutzt werden und es keinen Broadcast gibt. Die ältere Regel, zwei Adressen abzuziehen, gilt hier nicht.
Kann ich ein Netz in kleinere Subnetze aufteilen?
Ja. Sie geben das gewünschte Präfix an, und jedes daraus entstehende Subnetz kommt mit seinem eigenen Bereich zurück. Eine Antwort liefert höchstens 1024 Subnetze.
Was passiert bei einer ungültigen Maske?
Sie wird mit einer Erklärung abgelehnt. Eine Maske, deren Einsen nicht zusammenhängen, etwa 255.255.0.255, ist keine gültige Maske, und ein Ergebnis dafür auszugeben wäre schlimmer als eine Fehlermeldung.
Warum fehlt bei manchen Netzen die Reverse-Zone?
Die in-addr.arpa-Zone fällt nur auf ein vollständiges Oktett: /8, /16 oder /24. Alles andere braucht die Delegation nach RFC 2317, sodass ein einzelner Zonenname in die Irre führen würde und deshalb keiner angegeben wird.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/dev/subnet \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/dev/subnet", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/subnet",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/subnet", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/subnet", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"items": [
"valor-1",
"valor-2"
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.subnet",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_subnets | 1024 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |