Jak stworzyć standardową listę ACL bez konieczności wprowadzania kilkunastu złożonych warunków?

Wykorzystanie list ACL jest przydatne np. w celu zablokowania ruchu sieciowego. Przykład konfiguracji zadania będzie opierać się na poniższej topologii

Topologia

Topologia wykorzystana w zadaniu

W sieci znajdują się odpowiednio

  • trzy stacja robocze H1, H2, H3
  • przełącznik SW1
  • dwa routery R1, R2

Zamierzenia dla topologii

  • blokada ruchu sieciowego od adresu 192.168.0.1 do 192.168.0.5
  • zakres adresów IP 192.168.0.1 – 192.168.0.5 pozostanie bez możliwości komunikacji z siecią 192.168.1.0
  • adresy IP rozpoczynające się od 192.168.0.6 będą mieć możliwość komunikacji z siecią 192.168.1.0

Realizacja zadania

Pierwsze jak najbardziej słuszne rozwiązanie, które przychodzi do głowy dotyczy użycia listy ACL jaka będzie się składać z pięciu warunków z zakresu IP 192.168.0.1 do 192.168.0.5. Jednak czy rozwiązać sprawę w taki sam sposób podając kilkanaście warunków, kiedy sieć miałaby większy zasięg np. 192.168.0.1 do 192.168.0.100? Oczywiście, że nie. W tym celu trzeba będzie rozpisać sobie kilka adresów z zakresu rozpoczynającego się od 192.168.0.1 do 192.168.0.9 (większy zasięg ukaże w jakim miejscu nie będzie zgodności w liczbie bitów)

Sprawdzenie konfiguracji wraz z komunikacją między urządzeniami:

H1, H2, H3:

Komunikacja między urządzeniami prawidłowa

R1:

Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#interface gigabitEthernet 0/0/0
Router(config-if)#ip address 192.168.0.254 255.255.255.0
Router(config-if)#no shutdown 

Router(config-if)#
%LINK-5-CHANGED: Interface GigabitEthernet0/0/0, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0/0, changed state to up

Router(config-if)#exit
Router(config)#interface gigabitEthernet 0/0/1
Router(config-if)#ip address 192.168.1.254 255.255.255.0
Router(config-if)#no shutdown

Router(config-if)#
%LINK-5-CHANGED: Interface GigabitEthernet0/0/1, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0/1, changed state to up

H1, H2, H3

Ustawienia IP na stacjach roboczych
Możliwość komunikacji

Wdrożenie listy ACL

Przed przystąpieniem do konfiguracji listy ACL na R1 nastąpi rozpisanie adresów IP o zakresie 192.168.0.1 do 192.168.0.9 w postaci binarnej:

Adres IP 192.168.0.0 - 1100 0000. 1010 1000. 0000 0000. 0000 0000
Zakres1 192.168.0.1 - 1100 0000. 1010 1000. 0000 0000. 0000 0001
Zakres2 192.168.0.2 - 1100 0000. 1010 1000. 0000 0000. 0000 0010
Zakres3 192.168.0.3 - 1100 0000. 1010 1000. 0000 0000. 0000 0011
Zakres4 192.168.0.4 - 1100 0000. 1010 1000. 0000 0000. 0000 0100
Zakres5 192.168.0.5 - 1100 0000. 1010 1000. 0000 0000. 0000 0101
Zakres6 192.168.0.6 - 1100 0000. 1010 1000. 0000 0000. 0000 0110
Zakres7 192.168.0.7 - 1100 0000. 1010 1000. 0000 0000. 0000 0111
Zakres8 192.168.0.8 - 1100 0000. 1010 1000. 0000 0000. 0000 1000
Zakres9 192.168.0.9 - 1100 0000. 1010 1000. 0000 0000. 0000 1001

Adres maski 255.255.255.248 po rozpisaniu a w tej sytuacji Wildcard mask określa się jako 0.0.0.7

Dwa problematyczne adresy dotyczą 192.168.0.6 i 192.168.0.7, gdyż zachodzi spełnienie warunku wchodzącego do 29 bitu – od adresu 192.168.0.8 brak spełnienia dopasowania. Lista ACL będzie uwzględniać te dwa adresy 192.168.0.6 i 192.168.0.7 jako wyjątek.

R1:

Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#access-list 3 permit host 192.168.0.6
Router(config)#access-list 3 permit host 192.168.0.7
Router(config)#access-list 3 deny 192.168.0.0 0.0.0.7
Router(config)#access-list 3 permit any
Router(config)#interface gigabitEthernet 0/0/1
Router(config-if)#ip access-group 3 out

Weryfikacja końcowa

Komunikacja z H1 niemożliwa do sieci 192.168.0.0 poprzez zastosowanie odpowiednich warunków LISTY ACL

Komunikacja z H2 możliwa do sieci 192.168.0.0 poprzez wdrożoną listę ACL