Was ist ein CIDR-Block? Die Notation erklärt
Ein CIDR-Block ist ein IP-Adressbereich, der als Basisadresse und Präfixlänge geschrieben wird, etwa 192.168.1.0/24. Die Zahl nach dem Schrägstrich gibt an, wie viele führende Bits festgelegt sind, um das Netzwerk zu identifizieren. CIDR steht für Classless Inter-Domain Routing und beschreibt, wie Netzwerke in Routing-Tabellen, Firewall-Regeln und Cloud-Sicherheitsgruppen angegeben werden.
So lesen Sie die CIDR-Notation
Eine IPv4-Adresse hat 32 Bits. In 192.168.1.0/24 bedeutet /24, dass die ersten 24 Bits der Netzwerkteil sind und die restlichen 8 Bits frei bleiben, um Hosts darin zu identifizieren. Diese 8 freien Bits ergeben 2^8 = 256 Adressen, von 192.168.1.0 bis 192.168.1.255. Die Regel gilt für jedes Präfix: Die Blockgröße ist 2 hoch (32 minus Präfixlänge).
/8legt ein Oktett fest und umfasst 16.777.216 Adressen, zum Beispiel10.0.0.0/8./16legt zwei Oktette fest und umfasst 65.536 Adressen, zum Beispiel172.16.0.0/16./24umfasst 256 Adressen, und/32ist genau eine Adresse./0sind alle Adressen. In Firewall-Regeln begegnet Ihnen das als0.0.0.0/0mit der Bedeutung „von überall“.
Die ältere Schreibweise mit Subnetzmaske sagt dasselbe aus. Ein /24 entspricht 255.255.255.0, ein /16 entspricht 255.255.0.0 und /20 entspricht 255.255.240.0. Für IPv6 gilt derselbe Gedanke bei 128 Bits, sodass 2001:db8::/32 die ersten 32 Bits festlegt.
Warum CIDR die klassenbasierte Adressierung ablöste
Vor CIDR waren Adressen in feste Klassen unterteilt: A, B und C, mit den Präfixen /8, /16 und /24. Eine Organisation, die 2.000 Adressen brauchte, musste ein Class-B-Netz mit 65.536 Adressen nehmen und den Großteil verschwenden oder mehrere Class-C-Netze, was die Routing-Tabellen aufblähte. CIDR erlaubt jede Präfixlänge, sodass ein /21 (2.048 Adressen) passgenau vergeben werden kann. Außerdem lassen sich benachbarte Blöcke zusammenfassen: Zwei aneinandergrenzende /24-Netze, die an einer Grenze ausgerichtet sind, können als ein /23 angekündigt werden, was die globalen Routing-Tabellen kleiner hält.
Ausrichtung und nutzbare Adressen
Ein Block muss an einer Grenze beginnen, die zu seiner Größe passt. Ein /24 muss bei einer Adresse beginnen, deren letztes Oktett 0 ist; ein /22 muss bei einem Vielfachen von 4 im dritten Oktett beginnen, etwa 10.0.4.0/22. Deshalb ist 10.0.3.0/22 nicht gültig: Es ist nicht ausgerichtet, und die Werkzeuge lehnen es ab oder normalisieren es stillschweigend auf die tatsächliche Grenze. In gewöhnlichen Subnetzen identifiziert die erste Adresse das Netzwerk und die letzte ist die Broadcast-Adresse, sodass ein /24 254 nutzbare Host-Adressen bietet. Cloud-Anbieter reservieren pro Subnetz oft einige weitere, prüfen Sie daher deren Regeln, bevor Sie dimensionieren.
Wo Ihnen CIDR in der Praxis begegnet
Firewalls und Allow-Listen sind der häufigste Fall. Die Freigabe von 203.0.113.0/24 erlaubt 256 Adressen mit einem einzigen Eintrag. Die Gefahr liegt darin, zu großzügig zu sein: Ein /16, wo ein /24 gemeint war, kann Zehntausende unbeteiligter Hosts zulassen. Kennen Sie nur eine einzelne IP, ist das Finden des umgebenden Blocks ein Recherche-Schritt, und einen Teil davon können Sie mit ipto erledigen. Das IP-Range-Verzeichnis lässt Sie den Adressraum nach /8- und /16-Blöcken durchsuchen, mit einer Aufschlüsselung nach Land und ASN für jeden Block. Die ASN-Abfrage zeigt die einem Netzwerk zugeordneten Bereiche, und die IP-WHOIS-Abfrage liefert den registrierten Block über RDAP und damit den genauen Bereich, den eine Organisation hält.
Auch reservierte Bereiche werden in CIDR ausgedrückt. Privater Adressraum wie 10.0.0.0/8, 172.16.0.0/12 und 192.168.0.0/16, Loopback 127.0.0.0/8 und Link-Local 169.254.0.0/16 sollten nie als öffentliche Quellen auftauchen. Der Bogon-IP-Checker sagt Ihnen, ob eine Adresse in einen davon fällt, und die ipto-IP-Abfrage liefert dafür die Felder bogon und bogon_type.
Das Zusammenfassen funktioniert auch umgekehrt: Um zu prüfen, ob sich zwei Bereiche vereinen lassen, vergewissern Sie sich, dass sie gleich groß und benachbart sind und dass der erste an einer Grenze des kombinierten Blocks beginnt. Ist eine der Bedingungen nicht erfüllt, brauchen Sie zwei Einträge statt einem.
Häufige Fehler
- Die Basisadresse mit einem Host verwechseln.
192.168.1.0/24beschreibt das Netzwerk, nicht ein Gerät. - Einen ganzen Bereich wegen einer Adresse sperren. Ein einzelner missbräuchlicher Host in einem Shared-Hosting-Block macht das umgebende /24 nicht feindlich, und eine Sperre kann unbeteiligte Kunden treffen.
- IPv6 vergessen. Eine Regel nur für IPv4-Bereiche lässt IPv6-Datenverkehr ungefiltert.
Für einen schnellen Plausibilitätscheck zählen Sie die Host-Bits, potenzieren 2 damit und vergleichen das Ergebnis mit Ihrer Erwartung. Die API-Dokumentation zeigt, wie Sie Bereichsdaten programmatisch abrufen.