Kalkulator maski wildcard

Zamień adres IPv4 i prefiks CIDR na maskę sieci, wildcard oraz dokładny zakres adresów dopasowywany przez ciągłą regułę ACL.

Oblicz maskę wildcard

Od danych do świadomej decyzji

  1. Dane
  2. Obliczenie
  3. Wykres
  4. Decyzja
Przykład obliczenia

Dla sieci 192.168.10.0/24 wildcard wynosi 0.0.0.255

Prefiks /24 tworzy maskę sieci 255.255.255.0

Prefiks /24 oznacza, że pierwsze 24 z 32 bitów adresu IPv4 należą do części stałej. W masce podsieci te bity mają wartość 1, a pozostałe osiem — 0. W zapisie dziesiętnym otrzymujemy 255.255.255.0.

Dla adresu 192.168.10.0 pierwsze trzy oktety pozostają częścią sieci, a czwarty opisuje pozycję w bloku. Zakres ciągłego /24 biegnie od 192.168.10.0 do 192.168.10.255 i zawiera 256 adresów.

Kalkulator normalizuje dowolny adres z tego bloku do adresu sieci. Jeśli wpiszesz 192.168.10.37/24, nadal pokaże podstawę 192.168.10.0, ponieważ końcowe osiem bitów nie należy do prefiksu.

Wildcard jest bitowym dopełnieniem maski sieci

Każdy bit maski odwracamy: 1 staje się 0, a 0 staje się 1. Na poziomie oktetów można odjąć każdy składnik od 255. Dla 255.255.255.0 otrzymujemy 0.0.0.255.

Rachunek 255−255=0 wykonujemy dla pierwszych trzech oktetów, a 255−0=255 dla ostatniego. Wynik nie jest drugim adresem IP hosta, lecz instrukcją porównania bitów używaną między innymi w listach ACL.

Dla /26 maska sieci wynosi 255.255.255.192, a wildcard 0.0.0.63. Dla /29 parą jest 255.255.255.248 i 0.0.0.7. Suma odpowiadających oktetów obu masek zawsze wynosi 255.

255.255.255.255 − 255.255.255.0 = 0.0.0.255

Wynik obejmuje wszystkie 256 adresów bloku /24

W kontekście dopasowania ACL wildcard 0.0.0.255 pozwala zmieniać wszystkie bity ostatniego oktetu. Dlatego wzorzec 192.168.10.0 0.0.0.255 pasuje do każdego adresu od 192.168.10.0 do 192.168.10.255.

Liczba dopasowanych kombinacji wynosi 2 do potęgi liczby bitów ustawionych na 1. W ciągłej masce z /24 jest osiem takich bitów, więc 2⁸=256. To liczba adresów dopasowania, nie liczba zwykłych hostów do przydzielenia.

ACL może obejmować również adres sieci i rozgłoszeniowy, ponieważ filtr porównuje bity pakietu, a nie wykonuje rachunku puli DHCP. Nie odejmuj automatycznie dwóch adresów, gdy celem jest policzenie dopasowań reguły.

W wildcard zero oznacza „sprawdź”, a jedynka „ignoruj”

Bity z zerem muszą być zgodne z adresem wzorca

Cisco definiuje bit 0 maski wildcard jako pole, które trzeba porównać. Jeśli wzorzec ma w danej pozycji 1, pakiet również musi mieć 1; jeśli ma 0, pakiet musi mieć 0. Zero nie znaczy więc „nie pasuje”.

W 192.168.10.0 0.0.0.255 wszystkie bity trzech pierwszych oktetów mają wildcard zero. Adres 192.168.11.5 nie pasuje, ponieważ trzeci oktet różni się w miejscu wymagającym zgodności.

Czytanie maski od lewej do prawej jako ciągu zer i jedynek ułatwia kontrolę. Zera są kotwicami wzorca, a jedynki miejscami swobodnymi. To odwrotne znaczenie względem maski podsieci jest źródłem nazwy „inverse mask”.

Bity z jedynką mogą przyjąć dowolną wartość

Bit 1 mówi urządzeniu, aby zignorowało odpowiadający bit adresu podczas porównania. Nie wymusza jedynki w pakiecie. Zarówno 0, jak i 1 w tej pozycji prowadzą do dopasowania, jeśli pozostałe sprawdzane bity są zgodne.

Ostatni oktet 255 ma osiem jedynek, dlatego może przyjąć wartości od 0 do 255. Wildcard 0.0.0.15 ma cztery jedynki i pozwala na 16 kombinacji ostatnich bitów.

Sformułowanie „ignoruj” dotyczy tylko porównania adresu w danej regule. Nie oznacza, że ruch automatycznie jest dozwolony. O wyniku decyduje jeszcze akcja permit lub deny, protokół, porty, kierunek i pozycja wpisu w ACL.

0.0.0.0 wybiera host, a 255.255.255.255 wszystkie adresy

Wildcard 0.0.0.0 nie ignoruje żadnego bitu. Wzorzec 192.0.2.5 0.0.0.0 pasuje tylko do 192.0.2.5. W wielu składniach Cisco można zapisać to czytelniej jako host 192.0.2.5.

Wildcard 255.255.255.255 ignoruje wszystkie 32 bity. W połączeniu z 0.0.0.0 dopasowuje dowolny adres i często odpowiada słowu any. Tak szeroka reguła wymaga szczególnej kontroli akcji i miejsca na liście.

Te dwa skrajne przypadki pomagają zapamiętać semantykę. Im więcej jedynek ma wildcard, tym więcej kombinacji może pasować. Nie jest to jednak zwykłe porównanie wartości dziesiętnej, tylko niezależna decyzja dla każdego bitu.

Dwa skrajne dopasowania wildcard
WzorzecWildcardZnaczenie
192.0.2.50.0.0.0tylko jeden host
0.0.0.0255.255.255.255dowolny adres

Maska z prefiksu jest ciągła, lecz ACL może używać wzorców nieciągłych

Konwersja /p daje zera, a potem jedynki

Dla zwykłego prefiksu CIDR wildcard ma p zer od lewej i 32−p jedynek. Taki układ opisuje jeden ciągły blok adresów. Kalkulator wykonuje właśnie tę bezpieczną, odwracalną konwersję między prefiksem i maską.

Dla /0 maska sieci wynosi 0.0.0.0, a wildcard 255.255.255.255. Dla /32 maska sieci to 255.255.255.255, a wildcard 0.0.0.0. Oba przypadki są prawidłowe i odpowiadają całej przestrzeni lub jednemu adresowi.

Liczba adresów w bloku to 2^(32−p). Dla /31 są dwa adresy, a dla /32 jeden. Sposób użycia /31 na łączu punkt-punkt i reguły przydziału hostów są osobnym zagadnieniem od samego dopasowania ACL.

Nieciągła wildcard może wybierać wzorzec bitowy, a nie podsieć

Cisco dopuszcza w IPv4 nieciągłe jedynki i zera. Przykład 10.1.2.0 z wildcard 0.0.254.255 może wybierać określony wzorzec parzystych sieci w zakresie, zamiast jednego zwykłego prefiksu.

Takiej maski nie da się opisać jednym /p, ponieważ po pierwszej jedynce pojawiają się kolejne zera wymagające porównania. Próba odwrócenia jej do „maski podsieci” tworzy nieciągły układ, którego CIDR nie reprezentuje jako jednego bloku.

Nieciągłe wzorce są mocne, ale trudniejsze do przeglądu i migracji między platformami. Jeśli kilka zwykłych prefiksów daje czytelniejszą regułę, często warto wybrać jawne wpisy lub grupę obiektów.

Adres wzorca powinien mieć wyzerowane ignorowane bity dla czytelności

Matematycznie wartość adresu w pozycjach ignorowanych nie wpływa na dopasowanie. Cisco pokazuje przykłady, w których różne adresy z tym samym wildcard mogą wskazywać ten sam blok. Dla operatora niekanoniczny zapis jest jednak mylący.

W ciągłej masce używaj adresu sieci, na przykład 172.18.8.0 0.0.0.7, a nie przypadkowego hosta z końcówką .5. Kalkulator pokazuje znormalizowany początek i koniec zakresu.

Kanoniczny zapis ułatwia porównanie z dokumentacją adresacji, wykrywanie nakładających się reguł i automatyczną walidację. To szczególnie ważne, gdy ACL jest generowana z systemu zarządzania konfiguracją.

Poprawna maska nie gwarantuje poprawnej i bezpiecznej ACL

Kolejność wpisów może zmienić wynik całej listy

Wiele list ACL jest przetwarzanych od góry do pierwszego dopasowania. Szerokie permit umieszczone przed węższym deny może sprawić, że zakaz nigdy nie zostanie osiągnięty. Sama poprawna wildcard w drugim wpisie nie naprawi kolejności.

Przed wdrożeniem przygotuj przykłady adresów, które mają być dozwolone, zabronione i pozostawać poza zakresem. Przetestuj granice bloku, sąsiednią podsieć oraz konkretne hosty wyjątków. Liczniki trafień po wdrożeniu pomagają wykryć martwe lub zbyt szerokie wpisy.

Pamiętaj o domyślnym zachowaniu na końcu listy, często implicit deny. Usunięcie lub przesunięcie reguły może odciąć ruch, który wcześniej przechodził. Zmiany wykonuj z planem wycofania i dostępem poza filtrowaną ścieżką.

Źródło, cel, protokół i porty są równie ważne jak adres

Rozszerzona ACL może osobno dopasowywać adres źródłowy i docelowy, TCP, UDP, ICMP oraz porty. Wildcard określa tylko odpowiedni fragment adresowy. Nie mówi, czy wpis dotyczy ruchu przychodzącego, wychodzącego ani konkretnej usługi.

Reguła „permit ip” dla szerokiego bloku ma inny skutek niż „permit tcp … eq 443”. Przy przepisywaniu konfiguracji zachowaj kolejność pól składni i kierunek interfejsu. Błąd źródło–cel może otworzyć zupełnie inny przepływ.

Ruch zwrotny i stanowość zależą od platformy. Klasyczna stateless ACL nie rozpoznaje automatycznie pełnej sesji jak firewall stanowy. Projekt polityki powinien uwzględniać oba kierunki i zachowanie protokołu.

Dokumentuj równocześnie prefiks, wildcard i zamierzony zakres

Czytelna notatka może brzmieć: „192.168.10.0/24, maska 255.255.255.0, wildcard 0.0.0.255, dopasowanie 192.168.10.0–192.168.10.255”. Pozwala szybko zweryfikować rachunek i intencję.

Dla nieciągłej maski wypisz zasadę bitową oraz zestaw przykładów, ponieważ pojedynczy zakres od–do może sugerować także adresy, które w rzeczywistości nie pasują. Automatyczny test konfiguracji jest wtedy szczególnie cenny.

Kalkulator nie wdraża zmian na urządzeniu. Skopiowany wynik porównaj ze składnią i możliwościami konkretnego systemu operacyjnego. Cisco zwraca uwagę, że obsługa masek i formatów może różnić się między IPv4, IPv6 i funkcjami platformy.

Najczęstsze pytania

Co oznacza zero w masce wildcard?

Odpowiadający bit adresu musi zostać sprawdzony i zgadzać się ze wzorcem.

Co oznacza jedynka w wildcard?

Odpowiadający bit jest ignorowany i może mieć 0 albo 1.

Jak obliczyć wildcard z maski sieci?

Odejmij każdy oktet maski od 255 albo odwróć każdy bit.

Jaka wildcard wybiera pojedynczy host?

0.0.0.0; żaden bit nie jest ignorowany.

Jaka wildcard pasuje do dowolnego adresu?

255.255.255.255, zwykle używana w konstrukcji odpowiadającej any.

Czy od liczby dopasowań odejmuje się adres sieci i broadcast?

Nie dla ACL. Filtr porównuje wszystkie adresy; zasady przydzielania hostów to osobne zagadnienie.

Czy każda wildcard odpowiada prefiksowi CIDR?

Nie. IPv4 ACL może używać nieciągłych masek, których nie da się zapisać jednym /p.

Co sprawdzić przed wdrożeniem ACL?

Kolejność, akcję, źródło i cel, protokół, porty, kierunek, zachowanie końcowe oraz przykładowe dopasowania graniczne.

Źródła i dalsza lektura

  1. Cisco. (n.d.). Implementing Access Lists: Wildcard Mask.
  2. Cisco. (n.d.). Configure IP Access Lists.
  3. IETF. (1981). RFC 791 — Internet Protocol.

Podobne wpisy