Cisco Packet Tracer - listy ACL
Listy kontroli dostępu, czyli ACL (Access Control List) służą do filtrowania ruchu, czyli pełnią funkcję zapory sieciowej.
Standardowe listy ACL
Służą do zablokowania (deny) lub dopuszczenia (permit) ruchu z sieci
Filtrują ruch tylko w oparciu o adres źródła i maskę.
Przykład 1 standardowej listy ACL
Spójrzmy, ping z hosta 192.168.0.3 przechodzi bezproblemowo do hosta 10.0.0.3
Teraz zablokujemy cały ruch z adresu 192.168.0.3. Listę ACL ustawimy na ruterze Router0, na interfejsie FastEthernet0/0
Router0>ena Router0#conf term Router0(config)#access-list 1 deny host 192.168.0.3 Router0(config)#access-list 1 permit any Router0(config)#interface FastEthernet0/0 Router0(config-if)#ip access-group 1 out
Jak widać teraz ping nie przechodzi.
Przeanalizujmy
KROK 1. Utworzenie listy ACL
Router0(config)#access-list 1 deny host 192.168.0.3 Router0(config)#access-list 1 permit any
access-list 1
polecenie tworzące listę ACL oraz jej nr (standardowe listy ACL mają numery z zakresu 1-99) deny host 192.168.0.3
blokuje host 192.168.0.3. Można tez by użyć Router0(config)#access-list 1 deny 192.168.0.3 0.0.0.0
co dałoby ten sam efekt.
Router0(config)#access-list 1 permit any
- puszcza cały pozostały ruch. Jest to konieczne. gdyż zawsze domyślnie, listy ACL kończą się deny any
, czyli właściwie cały ruch byłby zablokowany. Ten sam efekt można uzyskać używając access-list 1 permit 0.0.0.0 255.255.255.255
KROK 2. Przypisanie listy ACL do interfejsu
Router0(config)#interface FastEthernet0/0 Router0(config-if)#ip access-group 1 out
Router0(config)#interface FastEthernet0/0
- wejście do konfiguracji interfejsu
Router0(config-if)#ip access-group 1 out
- polecenie grupuje listę ACL do interfejsu, out
oznacza ruch wychodzący
Przykład 2 standardowej listy ACL
Ten przykład jest rozwinięciem poprzedniego. Host 192.168.0.3 został zablokowany, teraz chcemy zablokować host 192.168.0.2.
Jak widać na razie ten host odpowiada, czyli nie jest zablokowany.
Dopisujemy dodatkowe wiersze na routerze Router0
Router0>ena Router0#conf t Enter configuration commands, one per line. End with CNTL/Z. Router0(config)#access-list 1 deny host 192.168.0.2 Router0(config)#access-list 1 permit any Router0(config)#interface fastethernet0/0 Router0(config-if)#ip access-group 1 out
Sprawdzamy czy działa. Jak widać nie działa. Host jest nadal aktywny.
Dlaczego nie zadziałało. Po prostu ruter przetwarza listy ACL linia po linii, jak ma napisane, ze ma puścić wszystkie połączenia to to robi, nie ważne ,że dalej coś blokujemy. Poniżej jest wynik polecenia show running-config
Możemy też użyć polecenia show access-lists
Router0#show access-lists Standard IP access list 1 deny host 192.168.0.3 (2 match(es)) permit any (16 match(es)) deny host 192.168.0.2
lub polecenia show access-list 1
Router0#show access-list 1 Standard IP access list 1 deny host 192.168.0.3 (2 match(es)) permit any (16 match(es)) deny host 192.168.0.2
Co byśmy nie wpisywali gołym okiem widać, że kolejność nie jest prawidłowa. Musimy usunąć listę ACL i wpisać ją od nowa.
Usuwanie listy ACL
Tutaj obowiązuje odwrotna kolejność, porównaniu z tworzeniem.
KROK 1
Wchodzimy w konfigurację interfejsu i usuwamy grupowanie listy do interfejsu poprzez polecenie no ip access-group
Router0(config)#interface fastethernet0/0 Router0(config-if)#no ip access-group 1 out
KROK 2
Usuwamy listę ACL poleceniem no access-list
Router0(config)#no access-list 1
Jak zrobisz tylko krok 2 to co prawda nie będziesz widział listy ACL, ale w konfiguracji interfejsu wpisy zostaną.
Przykład 3 standardowej listy ACL
Na ruterze Router0 (interfejs FastEthernet0/0) zablokujemy całą sieć 192.168.0.0.
Router>ena Router#conf term Router0(config)#access-list 1 deny 192.168.0.0 0.0.0.255 Router0(config)#access-list 1 permit any Router0(config)#interface fastethernet0/0 Router0(config-if)#ip access-group 1 out
Jak widać pingi nie przechodzą, choć wyświetlają się rożne komunikaty.
Należy wyjaśnić jeszcze skąd wzięło się Router0(config)#access-list 1 deny 192.168.0.0 0.0.0.255
, a właściwie co to za dziwna maska 0.0.0.255
.
To tzw. wildcard mask, czyli maska dopasowania lub inaczej blankietowa. Nie wchodząc w szczegóły jest to maska zapisywana odwrotnie, zamieniamy binarnie 0 i 1.
Rozszerzone listy ACL
CDN.