Vorlage:IP-Range-Berechnung

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen


Darstellung von IP-Adressbereichen.

Funktion[Quelltext bearbeiten]

Diese Vorlage akzeptiert IPv4- oder IPv6-Adressen als Eingabe und berechnet mögliche, bevorzugt kleine Adressblöcke (Ranges), die alle eingegebenen Adressen umfassen. Das Ergebnis nutzt die CIDR-Notation, die berechneten Bereiche können von Administratoren zur Sperrung der Netzbereiche genutzt werden.

Die Vorlage funktioniert auch schon in der Vorschau einer Seite, man kann also z. B. die eigene Spielwiese bearbeiten, die Vorlage nutzen und das Ergebnis in der Vorschau ansehen. Ein Speichern der Bearbeitung ist nicht nötig, aber natürlich zu Dokumentationszwecken möglich. Die Vorlage ist ebenfalls substituierbar.

Um die Beiträge von IP-Bereichen (IPv4 oder IPv6) anzeigen zu können, muss man in Spezial:Einstellungen im Reiter "Helferlein" den Eintrag Zeigt die Beiträge von Wildcardbenutzernamen wie „Splark*“ an anhaken sowie JavaScript im Browser aktivieren. Bei IPv6-Sperren funktioniert das bis zu einer Range von /32, größere Ranges wie z. B. eine /29 können nicht komplett angezeigt werden.

Syntax[Quelltext bearbeiten]

  • {{IP-Range-Berechnung|adresse1|adresse2|adresse3|…}}
    • Adressen (IPv4 und/oder IPv6) können als einzelne Parameter eingegeben werden.
  • {{IP-Range-Berechnung|adresse1 adresse2 adresse3 …}}
    • Adressen können auch in einem einzelnen Parameter eingegeben werden, mit Leerzeichen getrennt.
  • {{IP-Range-Berechnung|Beliebiger Text, der IPv4- und/oder IPv6-Adressen beinhaltet.}}
    • Adressen werden aus den Parametern extrahiert, so dass (nahezu) jeder Text genutzt werden kann.
  • {{IP-Range-Berechnung|1=Beliebiger Text, in dem = vorkommt}}
    • Nutze 1=, wenn der Text ein „=“ enthält.

Die folgenden Parameter können (optional) genutzt werden:

|nolist
Keine Auflistung der (sortierten) IPs aus der Eingabe.
Standardmäßig werden die gefundenen/analysierten IP-Adressen sortiert und aufgelistet, Dubletten werden ausgelassen.
|text
Zeige statt einer HTML-Tabelle lieber formatierten Klartext (zum einfacheren Rauskopieren).
|allocation=n
Gilt nur für IPv6, Parameter wird bei IPv4-Adressen ignoriert.
Die Zahl n muss zwischen 48 und 128 liegen; Standardwert ist 64.
n gibt an, was als Minimal-Range-Größe für die IPv6-Bereiche betrachtet wird. Standardmäßig werden Ranges /n mit n > 64 nicht berücksichtigt.
|results=all
Zeige alle möglichen Ergebnisse, auch solche, deren Range zu groß ist, um gesperrt zu werden (/n kleiner /16 bei IPv4, /n kleiner /19 bei IPv6).
Hierbei wird automatisch auch allocation=128 gesetzt.
|results=n
Definiere die (Maximal-)Anzahl anzuzeigender möglicher Sperr-Gruppen. Der Wert darf zwischen 1 und 100 liegen.
|comment=text
Zeilen in den Parametern, die mit dem angegebenen Zeichen/Text beginnen, werden als Kommentar ignoriert.
|comment=# würde zum Beispiel alle Zeilen ignorieren, die mit einem # beginnen.
Standardmäßig ist kein Kommentar-Kennzeichen definiert und keine Zeilen werden ignoriert.

Beispiele[Quelltext bearbeiten]

IPv4[Quelltext bearbeiten]

{{IP-Range-Berechnung|
192.168.250.15
192.168.249.255
192.168.249.15
192.168.251.15
}}

ergibt:

Angegebene 4 IPv4-Adressen (sortiert):

192.168.249.15
192.168.249.255
192.168.250.15
192.168.251.15
Gesamtanzahl
Adressen
Betroffene
Adressen
Angegebene
Adressen
Range Beiträge
1024 1024 4 192.168.248.0/22 Beiträge
768 256 2 192.168.249.0/24 Beiträge
512 2 192.168.250.0/23 Beiträge
4 1 1 192.168.249.15 Beiträge
1 1 192.168.249.255 Beiträge
1 1 192.168.250.15 Beiträge
1 1 192.168.251.15 Beiträge

In der ersten Zeile wird dargelegt, dass 192.168.248.0/22 alle angegebenen IPs abdecken würde, aber insgesamt 1024 Adressen gesperrt würden. Die nächste Ergebnisgruppe (Zeilen 2 und 3) zeigen eine Alternative, die nur 736 Adressen betreffen würde, aber zwei Bereichssperren (192.168.249.0/24 und 192.168.250.0/23) benötigt. Die letzte Gruppe der Vorschläge empfiehlt 4 Einzel-IP-Sperren.

Wenn man statt der HMTL-Tabellen einfach Text haben möchte, nutzt man (im selben Beispiel) den Parameter |text für das folgende Ergebnis:

Angegebene 4 IPv4-Adressen (sortiert):

192.168.249.15
192.168.249.255
192.168.250.15
192.168.251.15
Total        Betroffen    Angegeben   Range
----------------------------------------------------------
1024         1024         4           192.168.248.0/22
----------------------------------------------------------
768          256          2           192.168.249.0/24
             512          2           192.168.250.0/23
----------------------------------------------------------
4            1            1           192.168.249.15
             1            1           192.168.249.255
             1            1           192.168.250.15
             1            1           192.168.251.15

IPv6[Quelltext bearbeiten]

Das folgende Beispiel zeigt, dass eine einzelne IPv6-Adresse den zugehörigen /64-Bereich erzeugt, mit einem Link auf die Beiträge aus dem Bereich.

{{IP-Range-Berechnung|2601:188:0:ABE6:65F5:930C:B0B2:CD63}}

Angegebene IPv6-Adresse:

2601:188:0:abe6:65f5:930c:b0b2:cd63
Gesamtanzahl
Adressen
Betroffene
Adressen
Angegebene
Adressen
Range Beiträge
1 /64 1 /64 1 2601:188:0:abe6::/64 Beiträge

Viele IPv6-Adressen können auf einmal eingegeben werden (wie im eingeklappten Beispiel zu sehen).

Beispiel
{{IP-Range-Berechnung|nolist|
2606:6000:610A:9000:1D0F:636F:39A:867D 2606:6000:610A:9000:8B6:AB8F:ED1E:62CA 2606:6000:610A:9000:C4C6:FACE:7EDF:9DE8 2606:6000:610A:9000:D551:3464:77B9:A66A 2606:6000:610A:9000:758A:B522:8F2B:FED4 2606:6000:610A:9000:18D3:88B9:16F1:D602 2606:6000:610A:9000:917D:A6E8:15EF:E733 2606:6000:610A:9000:9D63:ED25:9F9F:75F7 2606:6000:610A:9000:951C:464:44B2:A3B0 2606:6000:610A:9000:D52D:1294:44E9:4E3D 2606:6000:610A:9000:714E:6E42:AA40:CD11 2606:6000:610A:9000:68E7:68E3:A25C:63F0 2606:6000:610A:9000:89D9:B47B:2EE4:5CBD 2606:6000:610A:9000:145F:F5B0:EFF0:9D18 2606:6000:610A:9000:78BF:A2EE:4833:BE55 2606:6000:610A:9000:D8BD:9D88:22E0:B373 2606:6000:610A:9000:801A:9D3D:AF74:9783 2606:6000:610A:9000:3D70:68D8:B44D:DADF 2606:6000:610A:9000:91D7:A805:75E3:B638 2606:6000:610A:9000:342A:1AD8:9C25:3748 2604:2000:A866:6800:6DA6:104B:2DB7:DB8A 2606:6000:610A:9000:BC52:57C2:B965:5DC7 2606:6000:610A:9000:4C00:BEDC:B78E:422A 2606:6000:610A:9000:3024:82D6:2CE5:325F 2606:6000:610A:9000:DC0C:A091:942C:1792 2606:6000:610A:9000:E45A:A705:82E0:9EA2 2606:6000:610A:9000:7C9E:89CF:EF08:A9D1 2606:6000:610A:9000:91D0:DF17:7661:D4D2 2606:6000:610A:9000:CDB6:74BC:BA13:A27B 2606:6000:610A:9000:B0AB:153E:F35D:1468 2606:6000:610A:9000:EC58:6080:F3EF:6780 2606:6000:610A:9000:B1C4:50FC:CB87:9010 2606:6000:610A:9000:E989:52C0:4C43:910E 2606:6000:610A:9000:E981:E3CA:532A:A393 2606:6000:610A:9000:293A:20B:33CA:9159 2606:6000:610A:9000:D9FC:27E6:29B5:EBD6 2606:6000:610A:9000:886B:8E:6BEC:998C 2606:6000:610A:9000:C94D:2A22:61F7:459A 2606:6000:610A:9000:E92B:3B0:A2EB:D277 2606:6000:610A:9000:888E:4ADD:E8AC:2B25 2606:6000:610A:9000:8547:5B6E:711:E5E2 2606:6000:610A:9000:C481:3D43:4BED:70F9 2606:6000:610A:9000:9CB9:9E11:9243:26AD 2606:6000:610A:9000:C198:9FBE:266A:230E 2606:6000:610A:9000:28D7:DD42:5C19:E136 2606:6000:610A:9000:49BB:CB6C:B9C:2911 2606:6000:610A:9000:F5B0:2C72:C789:A308 2606:6000:610A:9000:6DC0:2C17:90AE:A2FB 2604:2000:EF48:1400:C161:10CC:33D5:C83D 2606:6000:610A:9000:E53E:58FF:8FC:8E54 2606:6000:610A:9000:7831:A3C1:F9E8:7FE8 2606:6000:610A:9000:C8FB:E672:A99C:19D8 2606:6000:610A:9000:54CB:27A9:2263:527F 2606:6000:610A:9000:513B:1123:3592:8EFE 2606:6000:610A:9000:7DE1:9379:A6F:682E 2606:6000:610A:9000:B8E5:EA11:1C26:8BB3 2606:6000:610A:9000:51B5:400:A52D:3932 2606:6000:610A:9000:18E:29B7:1673:8704 2606:6000:610A:9000:5DA0:7E4:1677:8A5A 2606:6000:610A:9000:DDD4:D48C:D9AD:57DB 2606:6000:610A:9000:254E:C788:96D7:4AF3 2606:6000:610A:9000:8010:94DB:26E:F546 2606:6000:610A:9000:F8EA:C78A:8D48:5AAD 2606:6000:610A:9000:9B4:4B49:15DD:7D82 2606:6000:610A:9000:C93C:54FC:302C:CCF4 2606:6000:610A:9000:8CE4:F907:4926:6E60 2606:6000:610A:9000:441:5503:67D5:D2CE 2606:6000:610A:9000:ADA5:1B:4EDA:F4B4 2606:6000:610A:9000:345F:71F7:710D:7DD1 2606:6000:610A:9000:1D03:3CC3:83BD:BB7B 2606:6000:610A:9000:94B0:3397:39F6:921E 2606:6000:610A:9000:9DF6:CC8D:592B:1AE 2604:2000:F82A:2C00:ECCF:C2E5:8B09:6757 2606:6000:610A:9000:4466:EBEC:7B50:3A81 2606:6000:610a:9000:fdfc:82fc:6123:7a29}}


Gesamtanzahl
Adressen
Betroffene
Adressen
Angegebene
Adressen
Range Beiträge
2G /64 2G /64 3 2604:2000:8000::/33 Beiträge
1 /64 72 2606:6000:610a:9000::/64 Beiträge
512M /64 1 /64 1 2604:2000:a866:6800::/64 Beiträge
512M /64 2 2604:2000:e000::/35 Beiträge
1 /64 72 2606:6000:610a:9000::/64 Beiträge
4 /64 1 /64 1 2604:2000:a866:6800::/64 Beiträge
1 /64 1 2604:2000:ef48:1400::/64 Beiträge
1 /64 1 2604:2000:f82a:2c00::/64 Beiträge
1 /64 72 2606:6000:610a:9000::/64 Beiträge

Die ersten beiden Reihen zeigen, dass 3 der eingegebenen Adressen in einer /33-Range liegen, während 72 Adressen sich mit einem /64-Bereich abdecken lassen. Sperrt man den /33-Bereich, so würde man 2G /64er aussperren, also mehr als 2 Milliarden /64-Blöcke, damit aber nur 3 der gesuchten Adressen abdecken. Im Gegensatz dazu würde die Sperre des /64-Bereichs bereits 72 der gesuchten Adressen aussperren.

Wenn IPv6-Adressen berechnet werden, nimmt der Bereichsrechner an, dass jedem Benutzer ein Bereich von /64 zugeordnet wurde. Daher stoppt die Berechnung präziserer Bereiche, sobald /64 erreicht wurde. Es gibt zwei Möglichkeiten, zu genaueren Ergebnissen zu kommen:

  • Nutze |allocation=128 (oder andere Werte wie z. B. |allocation=112), um die Range eines einzelnen Benutzers kleiner zu gestalten.
  • Nutze |results=all, umso viele Ergebnisse wie möglich zu berechnen; dies impliziert allocation=128.

Diese Möglichkeiten werden in den folgenden Beispielen (an denselben 6 IPv6-Adressen) illustriert:

{{IP-Range-Berechnung|nolist|
2604:2000:f82a:2c00:eccf:c2e5:8b09:6757 2606:6000:610a:9000:1d0f:636f:39a:867c 2606:6000:610a:9000:1d0f:636f:39a:867d
2606:6000:610a:9000:1d0f:636f:39a:867e  2606:6000:610a:9000:1d0f:636f:39a:867f 2606:6000:610a:9000:9df6:cc8d:592b:1ae
}}

ergibt (ohne weitere Parameter):

Gesamtanzahl
Adressen
Betroffene
Adressen
Angegebene
Adressen
Range Beiträge
2 /64 1 /64 1 2604:2000:f82a:2c00::/64 Beiträge
1 /64 5 2606:6000:610a:9000::/64 Beiträge

Mit |allocation=128

Gesamtanzahl
Adressen
Betroffene
Adressen
Angegebene
Adressen
Range Beiträge
1 /64 1 1 2604:2000:f82a:2c00:eccf:c2e5:8b09:6757 Beiträge
1 /64 5 2606:6000:610a:9000::/64 Beiträge
6 1 1 2604:2000:f82a:2c00:eccf:c2e5:8b09:6757 Beiträge
4 4 2606:6000:610a:9000:1d0f:636f:39a:867c/126 Beiträge
1 1 2606:6000:610a:9000:9df6:cc8d:592b:1ae Beiträge

Mit |results=all

Gesamtanzahl
Adressen
Betroffene
Adressen
Angegebene
Adressen
Range Beiträge
>64G /64 >64G /64 6 2604::/14 Beiträge
1 /64 1 1 2604:2000:f82a:2c00:eccf:c2e5:8b09:6757 Beiträge
1 /64 5 2606:6000:610a:9000::/64 Beiträge
6 1 1 2604:2000:f82a:2c00:eccf:c2e5:8b09:6757 Beiträge
4 4 2606:6000:610a:9000:1d0f:636f:39a:867c/126 Beiträge
1 1 2606:6000:610a:9000:9df6:cc8d:592b:1ae Beiträge


Lua

Verwendetes Modul: IPrange Version: dewiki 2018-02-18