Duxo Academy
Blog ›

Maska wildcard: jak ją policzyć do ACL i OSPF

· 4 min czytania

Gdy konfigurujesz listę kontroli dostępu (ACL) albo uruchamiasz protokół routingu OSPF na routerze Cisco, w miejscu maski podsieci wpisujesz coś, co wygląda na „odwrócone”: zamiast 255.255.255.0 piszesz 0.0.0.255. To maska wildcard (wildcard mask, maska odwrotna) i przez wielu początkujących jest traktowana jak czarna magia. Tymczasem za całością stoją dwie proste reguły — po ich zrozumieniu przeliczysz każdą maskę w pamięci, bez kalkulatora.

Dwie reguły, które tłumaczą wszystko

Maska wildcard to liczba 32-bitowa, tak samo zapisywana czterema oktetami jak maska podsieci. Ale znaczenie bitów jest odwrotne:

Innymi słowy: maska podsieci mówi, które bity są częścią sieci, a wildcard — które bity router ma sprawdzać. Wszystko, co w masce podsieci jest jedynką, w wildcard jest zerem, i na odwrót.

Przeliczanie maski na wildcard w pamięci

W praktyce prawie zawsze przeliczasz znaną maskę podsieci na wildcard. Jest na to prosty sposób: każdy oktet policz jako 255 minus wartość maski (dla pełnego oktetu 255 wychodzi 0).

Maska podsieci Wildcard Adresów w podsieci
255.255.255.0 (/24) 0.0.0.255 256 adresów
255.255.255.128 (/25) 0.0.0.127 128 adresów
255.255.255.192 (/26) 0.0.0.63 64 adresy
255.255.255.224 (/27) 0.0.0.31 32 adresy
255.255.255.240 (/28) 0.0.0.15 16 adresów
255.255.255.252 (/30) 0.0.0.3 4 adresy

Zwróć uwagę na wzór: w maskach od /24 wzwyż (czyli /24, /25, /26…) ostatni oktet wildcarda to „liczba adresów w podsieci minus 1”. Dla /26 jest to 64 − 1 = 63, dla /30 — 4 − 1 = 3. Jeśli pamiętasz rozmiary podsieci z subnettingu (dzielenia sieci na podsieci), wildcardy dostajesz w prezencie.

Gdy bity maski wychodzą poza ostatni oktet (maski krótsze niż /24), każda pozycja liczy się osobno. Maska /21 to 255.255.248.0: oktet trzeci liczysz jako 255 − 248 = 7, więc wildcard to 0.0.7.255 — router porównuje dokładnie 21 bitów adresu, a 11 dolnych bitów ma zignorować.

Dwa skróty, które musisz znać

Zamiast niektórych wildcardów IOS (system operacyjny routera Cisco) przyjmuje krótsze zapisy — i właśnie w tej postaci pojawiają się na egzaminie:

Wildcard w ACL: filtrujemy całą podsieć

W liście ACL wildcard mówi, dla jakiego zakresu adresów źródła lub celu obowiązuje reguła. Chcesz przepuścić cały ruch HTTP z podsieci 192.168.30.0/24 do serwera 172.16.5.10? Wildcard dla /24 to 0.0.0.255:

access-list 120 permit tcp 192.168.30.0 0.0.0.255 host 172.16.5.10 eq 80

Ta reguła czyta się tak: źródło zaczyna się od 192.168.30 (pierwsze 24 bity porównane dokładnie), ostatni oktet dowolny; celem jest dokładnie 172.16.5.10, protokół TCP, port 80. Jeśli w miejscu host wstawiłbyś any, reguła objęłaby każdy cel.

Pomyłka w ostatnim oktecie ma natychmiastowe skutki: napisz 0.0.0.0 zamiast 0.0.0.255, a reguła dopasuje wyłącznie adres 192.168.30.0, czyli adres sieci. Ruch z hostów nie pasuje wtedy do reguły permit, więc zatrzymuje go deny any — niewidoczna reguła, która odrzuca wszystko, czego lista wcześniej nie dopuściła.

Wildcard w OSPF: wskazujemy interfejsy

W protokole OSPF polecenie network też używa maski wildcard, ale robi z niej co innego: sprawdza, które interfejsy routera „wpadają” w podany zakres. Interfejs, którego adres IP pasuje, zostaje włączony do danego obszaru i zaczyna wysyłać pakiety rozpoznawcze hello.

router ospf 1 network 10.20.4.0 0.0.0.255 area 0 network 192.168.9.0 0.0.0.255 area 0

Tu 10.20.4.0 0.0.0.255 obejmuje każdy interfejs z adresem z podsieci 10.20.4.0/24. Możesz też wskazać jeden interfejs maską 0.0.0.0, np. network 10.20.4.1 0.0.0.0 area 0 — przydatne, gdy szerszy wildcard objąłby też interfejsy, które chcesz zostawić poza OSPF.

Ćwiczenie: przelicz sam

Dla każdej maski podsieci podaj wildcard, a dla każdego wildcarda — maskę. Rozwiązania pod listą.

  1. 255.255.255.192 (/26)
  2. 255.255.255.252 (/30)
  3. 255.255.0.0 (/16)
  4. 0.0.0.31
  5. 0.0.7.255

Odpowiedzi: 1 — 0.0.0.63; 2 — 0.0.0.3; 3 — 0.0.255.255; 4 — 255.255.255.224 (/27); 5 — 255.255.248.0 (/21).

Jeśli któraś odpowiedź cię zaskoczyła, policz ją jeszcze raz jako 255 minus wartość oktetu maski — ta reguła wystarcza do każdej pozycji z listy. Na egzaminie CCNA te same przeliczenia robi się w pamięci, a wildcardy spotkasz w labach z ACL i OSPF.