August 7, 2024

Сеть школы с зонами безопасности (GNS3)

1. Зона управления сетью (зеленая). Хосты в данной зоне используются для управления сетью. Из неё можно подключаться к интерфейсам управления сетевыми устройствами. Доступ имеют сотрудники ЦУС (сетевые инженеры и системные администраторы), обслуживающие данную сеть.

2. Зона доступа персонала школы (желтая). Хосты в данной зоне используются для рабочей деятельности учителей и другого персонала школы. Имеют выход в интернет и ЛВС школы. Доступ к интерфейсам управления сетью отсутствует.

3. Зона доступа учеников (красная). Хосты в данной зоне используются для обучения школьников. Доступ в интернет и ЛВС школы ограничен. Доступ к интерфейсам управления сетью отсутствует.

L3-схема сети.

Шаг 1. Создание сети в эмуляторе GNS3.

Задача: Создать сеть согласно схеме, включить порты устройств друг в друга.

В качестве маршрутизаторов используется EtherSwitch router на платформе c3745.

MLS31#sh ver
Cisco IOS Software, 3700 Software (C3745-ADVENTERPRISEK9_SNA-M), Version 12.4(15)T14, RELEASE SOFTWARE (fc2)

Cisco 3745 (R7000) processor (revision 2.0) with 249856K/12288K bytes of memory.
Processor board ID FTX0945W0MY
R7000 CPU at 350MHz, Implementation 39, Rev 2.1, 256KB L2, 512KB L3 Cache
18 FastEthernet interfaces
DRAM configuration is 64 bits wide with parity enabled.
151K bytes of NVRAM.
1024K bytes of ATA System CompactFlash (Read/Write)

Configuration register is 0x2102

В коммутатор SW31-2 перед включениями нужно добавить 2 интерфейса (порта) e8 и e9.

Configure SW31-2

По умолчанию портов всего 8 (с 0 по 7), а нужно 10. 2 раза нажать на Add.

Облака CryptoGW31 и CryptoGW0 нужно предварительно настроить перед включениями.

Configure CryptoGW31

Облака будут эмулировать криптошлюзы, для этого используем UDP туннели. На втором шлюзе надо инвертировать номера локального и удаленного портов.

Очень внимательно подключить интерфейсы

Все VPC включаются интерфейсами Ethernet0 или e0.

MLS31 включить:

  • интерфейсом FastEthernet1/0 (f1/0) в интерфейс Ethernet9 (e9) коммутатора SW31-2
  • интерфейсом FastEthernet1/1 (f1/1) в интерфейс Ethernet7 (e7) коммутатора SW31-1
  • интерфейсом FastEthernet0/1 (f0/1) в физический интерфейс компьютера облака Internet31 (у меня на ноутбуке этот физический интерфейс называется "Беспроводная сеть")
Список интерфейсов хост-машины с GNS3
  • интерфейсом FastEthernet0/0 (f0/0) в интерфейс UDP tunnel 1 облака CryptoGW31

Остальные порты коммутаторов подключаем по схеме. В ЦУСе MLS0 подключаем по схеме, аналогично школе.

Если все подключено верно, можно переходить к шагу 2 и начинать настройку узлов сети.


Шаг 2. Первоначальная настройка узлов сети, проверка связности.

Настраиваем MLS0:

ESW2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
ESW2(config)#hostname MLS0
MLS0(config)#int fa 0/0
MLS0(config-if)#no shut
MLS0(config-if)#ip address 172.16.31.254 255.255.255.0
MLS0(config-if)#
MLS0(config-if)#
MLS0(config-if)#
MLS0(config-if)#int fa 0/1
MLS0(config-if)#no shut
MLS0(config-if)#ip address dhcp
MLS0(config-if)#ip nat outside
MLS0(config-if)#
MLS0(config-if)#
MLS0(config-if)#
MLS0(config-if)#int vlan1
MLS0(config-if)#no shut
MLS0(config-if)#ip address 172.16.255.254 255.255.255.0
MLS0(config-if)#ip nat inside
MLS0(config-if)#exit
MLS0(config)#
MLS0(config)#
MLS0(config)#
MLS0(config)#access-list 99 perm 172.16.0.0 0.0.255.255
MLS0(config)#
MLS0(config)#
MLS0(config)#
MLS0(config)#ip nat source list 99 interface fastEthernet 0/1 overload
MLS0(config)#
MLS0(config)#
MLS0(config)#ip routing
MLS0(config)#
MLS0(config)#
MLS0(config)#ip classless
MLS0(config)#
MLS0(config)#exit
MLS0(config)#^Z
!(ctrl-z)
*Mar  1 00:45:16.827: %SYS-5-CONFIG_I: Configured from console by console
MLS0#wr mem

Настраиваем MLS31:

ESW1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
ESW1(config)#hostname MLS31
MLS31(config)#int fa 0/0
MLS31(config-if)#no shut
MLS31(config-if)#ip address 172.16.31.1 255.255.255.0
MLS31(config-if)#
MLS31(config-if)#
MLS31(config-if)#
MLS31(config-if)#int fa 0/1
MLS31(config-if)#no shut
MLS31(config-if)#ip address dhcp
MLS31(config-if)#ip nat outside
MLS31(config-if)#
MLS31(config-if)#
MLS31(config-if)#
MLS31(config-if)#int vlan1
MLS31(config-if)#no shut
MLS31(config-if)#ip address 10.31.1.254 255.255.255.0
MLS31(config-if)#ip nat inside
MLS31(config-if)#exit
MLS31(config)#
MLS31(config)#
MLS31(config)#
MLS31(config)#access-list 31 perm 10.31.0.0 0.0.255.255
MLS31(config)#
MLS31(config)#
MLS31(config)#
MLS31(config)#ip nat source list 31 interface fastEthernet 0/1 overload
MLS31(config)#
MLS31(config)#
MLS31(config)#ip routing
MLS31(config)#
MLS31(config)#
MLS31(config)#ip classless
MLS31(config)#
MLS31(config)#exit
MLS31(config)#^Z
!(ctrl-z)
*Mar  1 00:45:16.827: %SYS-5-CONFIG_I: Configured from console by console
MLS31#wr mem


То же самое коротко, без приглашений и вывода (только вводимые команды из привилегированного режима):

conf t
hostname MLS0

int fa 0/0
no shut
ip address 172.16.31.254 255.255.255.0

int fa 0/1
no shut
ip address dhcp
ip nat outside

int vlan1
no shut
ip address 172.16.255.254 255.255.255.0
ip nat inside
exit

access-list 99 perm 172.16.0.0 0.0.255.255

ip nat source list 99 interface fastEthernet 0/1 overload

ip routing

ip classless

exit

wr mem

Разберём по пунктам, что происходит:

conf t

Переходим в режим конфигурации.

hostname MLS0

Изменяем имя устройства.

int fa 0/0
no shut
ip address 172.16.31.254 255.255.255.0

int fa 0/1
no shut
ip address dhcp
ip nat outside

int vlan1
no shut
ip address 172.16.255.254 255.255.255.0
ip nat inside
exit

Настраиваем интерфейсы (включаем, добавляем IP адреса, конфигурируем NAT.

access-list 99 perm 172.16.0.0 0.0.255.255

Список адресов для трансляции NAT.

ip nat source list 99 interface fastEthernet 0/1 overload

Включаем трансляции на интерфейсе с Интернетом.

ip routing

Включаем маршрутизацию.

ip classless

Включаем представление бесклассовой адресации.

exit

wr mem

Выходим из режима конфигурации и сохраняем конфиг.

conf t
hostname MLS31

int fa 0/0
no shut
ip address 172.16.31.1 255.255.255.0

int fa 0/1
no shut
ip address dhcp
ip nat outside

int vlan1
no shut
ip address 10.31.1.254 255.255.255.0
ip nat inside
exit

access-list 31 perm 10.31.0.0 0.0.255.255

ip nat source list 31 interface fastEthernet 0/1 overload

ip routing

ip classless

exit

wr mem

Если всё сделано верно, то между хостами MLS0 и MLS31 появится связность на интерфейсах f0/1 через UDP туннель.
MLS31 пингуется с MLS0:

MLS0#ping 172.16.31.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.31.1, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 76/90/124 ms
MLS0#

И наоборот:

MLS31#ping 172.16.31.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.31.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 48/70/80 ms
MLS31#

Шаг 3. Конфигурируем хосты школы и ЦУСа.

Начнём настройку с PC31-DIR (условная рабочая станция директора школы):
PC31-DIR> ip 10.31.1.1/24 10.31.1.254
Checking for duplicate address...
PC1 : 10.31.1.1 255.255.255.0 gateway 10.31.1.254

PC31-DIR> save
Saving startup configuration to startup.vpc
.  done

PC31-DIR>

Или только команды:

ip 10.31.1.1/24 10.31.1.254

save

Проверяем доступность интерфейса MLS31 командой ping:

PC31-DIR> ping 10.31.1.254
84 bytes from 10.31.1.254 icmp_seq=1 ttl=255 time=39.150 ms
84 bytes from 10.31.1.254 icmp_seq=2 ttl=255 time=16.840 ms
84 bytes from 10.31.1.254 icmp_seq=3 ttl=255 time=16.530 ms

PC31-DIR>

Настраиваем остальные 2 рабочие станции желтой зоны аналогично первой, изменяя последний октет (число после 3й точки) IP адреса.
IP адреса это 32х-разрядные двоичные числа от 0 до 4294967295.
Для удобства запоминания людьми записываются в так называемой decimal dot нотации, которая представляет собой набор из 4х десятичных восьмиразрядных байтов (октетов), разделенных точками.
Октет - восьмиразрядный байт.

Например:
10.31.1.254 это
00001010.00011111.00000001.11111110 или, без точек, 00001010000111110000000111111110,
или, в десятичной нотации (представлении), 169804286.

Работать с нотацией вида 10.31.1.254 значительно удобнее )))

Обязательно проверяем на каждом хосте доступность интерфейса MLS31 командой ping.

Для работы с компьютерным классом донастроим MLS31:

MLS31#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
MLS31(config)#int vl2
MLS31(config-if)#ip nat inside
MLS31(config-if)#ip address 10.31.11.254 255.255.255.0
MLS31(config-if)#no shut
MLS31(config-if)#vlan 2
MLS31(config-vlan)#name v0002-students
MLS31(config-vlan)#exit
MLS31(config)#vtp mode transparent
Setting device to VTP TRANSPARENT mode.
MLS31(config)#vtp version 2
MLS31(config)#no spanning-tree vlan 1
MLS31(config)#no spanning-tree vlan 2
MLS31(config)#int fa1/0
MLS31(config-if)#switchport access vlan 2

Настроим интерфейсы на первом хосте компьютерного класса.
Обязательно проверяем появление связности пингом:

PC3101> ip 10.31.11.1/24 10.31.11.254
Checking for duplicate address...
PC1 : 10.31.11.1 255.255.255.0 gateway 10.31.11.254

PC3101> ping 10.31.11.254
84 bytes from 10.31.11.254 icmp_seq=1 ttl=255 time=16.421 ms
84 bytes from 10.31.11.254 icmp_seq=2 ttl=255 time=16.670 ms

PC3101> ping 10.31.1.254
84 bytes from 10.31.1.254 icmp_seq=1 ttl=255 time=15.936 ms
84 bytes from 10.31.1.254 icmp_seq=2 ttl=255 time=16.801 ms

PC3101> save
Saving startup configuration to startup.vpc
.  done

PC3101>

Аналогично на остальных, изменив последний октет IP адреса.

Настроим интерфейсы на первом хосте ЦУСа.
Обязательно проверяем появление связности пингом:

PC1-NOC> ip 172.16.255.11/24 172.16.255.254
Checking for duplicate address...
PC1 : 172.16.255.11 255.255.255.0 gateway 172.16.255.254

PC1-NOC> ping 172.16.255.254
84 bytes from 172.16.255.254 icmp_seq=1 ttl=255 time=16.226 ms
84 bytes from 172.16.255.254 icmp_seq=2 ttl=255 time=15.801 ms

PC1-NOC> ping 172.16.31.254
84 bytes from 172.16.31.254 icmp_seq=1 ttl=255 time=16.525 ms
84 bytes from 172.16.31.254 icmp_seq=2 ttl=255 time=16.755 ms

PC1-NOC> save
Saving startup configuration to startup.vpc
.  done

PC1-NOC>

Настроим интерфейсы на втором хосте ЦУСа.
Обязательно проверяем появление связности пингом:

PC2-NOC> ip 172.16.255.11/24
Checking for duplicate address...
172.16.255.11 is being used by MAC 00:50:79:66:68:0b
Address not changed
PC2-NOC> ip 172.16.255.12/24
Checking for duplicate address...
PC1 : 172.16.255.12 255.255.255.0

PC2-NOC> ping 172.16.255.254
84 bytes from 172.16.255.254 icmp_seq=1 ttl=255 time=15.374 ms
84 bytes from 172.16.255.254 icmp_seq=2 ttl=255 time=16.874 ms

PC2-NOC> ping 172.16.31.254
No gateway found

PC2-NOC> ip 172.16.255.12/24 172.16.31.254
not same subnet

PC2-NOC> ip 172.16.255.12/24 172.16.255.254
Checking for duplicate address...
PC1 : 172.16.255.12 255.255.255.0 gateway 172.16.255.254

PC2-NOC> ping 172.16.255.254
84 bytes from 172.16.255.254 icmp_seq=1 ttl=255 time=15.361 ms
84 bytes from 172.16.255.254 icmp_seq=2 ttl=255 time=31.005 ms

PC2-NOC> ping 172.16.31.254
84 bytes from 172.16.31.254 icmp_seq=1 ttl=255 time=14.779 ms
84 bytes from 172.16.31.254 icmp_seq=2 ttl=255 time=15.369 ms

PC2-NOC> save
Saving startup configuration to startup.vpc
.  done

PC2-NOC>

Обратите внимание, что первый раз при настройке интерфейса PC2-NOC в аргументах был указан только IP адрес и маска, но не указан шлюз.
Поэтому хосту был доступен только адрес 172.16.255.254 на интерфейсе Vlan1 MLS0, а 172.16.31.254 на интерфейсе FastEthernet0/0 недоступен.
После изменения настройки PC2-NOC и добавления шлюза по умолчанию оба адреса MLS0 стали отзываться.

PC2-NOC> ping 172.16.31.1
172.16.31.1 icmp_seq=1 timeout
172.16.31.1 icmp_seq=2 timeout
172.16.31.1 icmp_seq=3 timeout
172.16.31.1 icmp_seq=4 timeout
172.16.31.1 icmp_seq=5 timeout

PC2-NOC>

При этом интерфейс MLS31 в той же подсети всё также недоступен. Здесь дело в том, что в таблице маршрутизации MLS31 нет маршрута правильно ведущего к 172.16.255.12 (адресу, с которого отправляется пинг).
Добавим маршрут вручную:

MLS31#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route
       
       Gateway of last resort is not set

     172.16.0.0/24 is subnetted, 1 subnets
C       172.16.31.0 is directly connected, FastEthernet0/0
     10.0.0.0/24 is subnetted, 2 subnets
C       10.31.1.0 is directly connected, Vlan1
C       10.31.11.0 is directly connected, Vlan2
MLS31#
MLS31#
MLS31#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
MLS31(config)#ip route 172.16.0.0 255.240.0.0 172.16.31.254
MLS31(config)#^Z
MLS31#
*Mar  1 15:07:18.252: %SYS-5-CONFIG_I: Configured from console by console
MLS31#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     172.16.0.0/24 is subnetted, 1 subnets
C       172.16.31.0 is directly connected, FastEthernet0/0
     10.0.0.0/24 is subnetted, 2 subnets
C       10.31.1.0 is directly connected, Vlan1
C       10.31.11.0 is directly connected, Vlan2
S    172.16.0.0/12 [1/0] via 172.16.31.254
MLS31#

Маршрут добавлен, пробуем:

PC2-NOC> ping 172.16.31.1
84 bytes from 172.16.31.1 icmp_seq=1 ttl=254 time=67.807 ms
84 bytes from 172.16.31.1 icmp_seq=2 ttl=254 time=59.712 ms
84 bytes from 172.16.31.1 icmp_seq=3 ttl=254 time=47.586 ms
84 bytes from 172.16.31.1 icmp_seq=4 ttl=254 time=31.985 ms
84 bytes from 172.16.31.1 icmp_seq=5 ttl=254 time=55.692 ms

PC2-NOC>
Ура!

Как теперь со связностью нашего компьютерного класса и ЦУСа?

PC3101> ping 10.31.1.1
10.31.1.1 icmp_seq=1 timeout
84 bytes from 10.31.1.1 icmp_seq=2 ttl=63 time=39.068 ms
84 bytes from 10.31.1.1 icmp_seq=3 ttl=63 time=31.631 ms
84 bytes from 10.31.1.1 icmp_seq=4 ttl=63 time=40.544 ms
84 bytes from 10.31.1.1 icmp_seq=5 ttl=63 time=30.450 ms

PC3101> ping 172.16.255.12
172.16.255.12 icmp_seq=1 timeout
172.16.255.12 icmp_seq=2 timeout
172.16.255.12 icmp_seq=3 timeout
172.16.255.12 icmp_seq=4 timeout
172.16.255.12 icmp_seq=5 timeout

PC3101>

Очевидно, пока не очень хорошо, проблема похожая, нет маршрутов к сетям школы на MLS0.
Добавим:

MLS0#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     172.16.0.0/24 is subnetted, 2 subnets
C       172.16.255.0 is directly connected, Vlan1
C       172.16.31.0 is directly connected, FastEthernet0/0
MLS0#
MLS0#
MLS0#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
MLS0(config)#ip route 10.31.0.0 255.255.0.0 172.16.31.1
MLS0(config)#^Z
MLS0#
*Mar  1 10:08:00.437: %SYS-5-CONFIG_I: Configured from console by console
MLS0#
MLS0#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     172.16.0.0/24 is subnetted, 2 subnets
C       172.16.255.0 is directly connected, Vlan1
C       172.16.31.0 is directly connected, FastEthernet0/0
     10.0.0.0/16 is subnetted, 1 subnets
S       10.31.0.0 [1/0] via 172.16.31.1
MLS0#
PC3101> ping 172.16.255.12
172.16.255.12 icmp_seq=1 timeout
172.16.255.12 icmp_seq=2 timeout
84 bytes from 172.16.255.12 icmp_seq=3 ttl=62 time=63.699 ms
84 bytes from 172.16.255.12 icmp_seq=4 ttl=62 time=69.549 ms
84 bytes from 172.16.255.12 icmp_seq=5 ttl=62 time=71.103 ms

PC3101>

Отлично, все отовсюду доступно! Теперь сделаем наоборот и ограничим в нашей сети хосты соответственно политикам безопасности.


Шаг 4. Настройка фаерволла, косметические изменения.

Донастраиваем MLS31:

class-map type inspect match-all cl-icmp-udp
 match protocol icmp
 match protocol udp
class-map type inspect match-all cl-nolimit
 match access-group 101
class-map type inspect match-all cl-limit
 match access-group 102
!
access-list 101 permit ip any any
access-list 102 remark shkolnyjportal.rf
access-list 102 permit ip any host 5.188.137.32
access-list 102 remark kalugacod.ru
access-list 102 permit ip any host 90.156.201.84
access-list 102 permit ip any host 90.156.201.85
access-list 102 permit ip any host 90.156.201.89
access-list 102 permit ip any host 90.156.201.111
access-list 102 remark anidub.pro
access-list 102 permit ip any host 172.67.196.176
access-list 102 permit ip any host 104.21.52.73
!
policy-map type inspect pm-icmp-udp
 class type inspect cl-icmp-udp
  inspect
 class class-default
policy-map type inspect pm-nolimit
 class type inspect cl-nolimit
  inspect
 class class-default
policy-map type inspect pm-limit
 class type inspect cl-limit
  inspect
 class class-default
!
zone security zs-mgmt
zone security zs-students
zone security zs-teachers
zone security zs-internet
zone-pair security zp-mgmt-teachers source zs-mgmt destination zs-teachers
 service-policy type inspect pm-nolimit
zone-pair security zp-mgmt-students source zs-mgmt destination zs-students
 service-policy type inspect pm-nolimit
zone-pair security zp-teachers-students source zs-teachers destination zs-students
 service-policy type inspect pm-nolimit
zone-pair security zp-teachers-internet source zs-teachers destination zs-internet
 service-policy type inspect pm-nolimit
zone-pair security zp-students-internet source zs-students destination zs-internet
 service-policy type inspect pm-limit
zone-pair security zp-students-self source zs-students destination self
 service-policy type inspect pm-icmp-udp
zone-pair security zp-teachers-self source zs-teachers destination self
 service-policy type inspect pm-icmp-udp
!
!
!
!
interface FastEthernet0/0
 description noc
 zone-member security zs-mgmt
!
interface FastEthernet0/1
 description internet
 zone-member security zs-internet
!
interface Vlan1
 description teachers
 zone-member security zs-teachers
!
interface Vlan2
 description students
 zone-member security zs-students
!
line vty 0 4
 password DEPPnapo^b

Разберём, что для чего.

class-map type inspect match-all cl-icmp-udp
match protocol icmp
match protocol udp
class-map type inspect match-all cl-nolimit
match access-group 101
class-map type inspect match-all cl-limit
match access-group 102

Это классификаторы трафика.

access-list 101 permit ip any any
access-list 102 remark shkolnyjportal.rf
access-list 102 permit ip any host 5.188.137.32
access-list 102 remark kalugacod.ru
access-list 102 permit ip any host 90.156.201.84
access-list 102 permit ip any host 90.156.201.85
access-list 102 permit ip any host 90.156.201.89
access-list 102 permit ip any host 90.156.201.111
access-list 102 remark anidub.pro
access-list 102 permit ip any host 172.67.196.176
access-list 102 permit ip any host 104.21.52.73

Это списки доступа, нужны для классификации.

policy-map type inspect pm-icmp-udp
class type inspect cl-icmp-udp
inspect
class class-default
policy-map type inspect pm-nolimit
class type inspect cl-nolimit
inspect
class class-default
policy-map type inspect pm-limit
class type inspect cl-limit
inspect
class class-default

Это политики, используют классификаторы и что-то делают, inspect в первом шаге проверяет совпадение с классификатором и пропускает,
class-default во втором шаге всё по умолчанию запрещает.

zone security zs-mgmt
zone security zs-students
zone security zs-teachers
zone security zs-internet

Это декларация зон.

zone-pair security zp-mgmt-teachers source zs-mgmt destination zs-teachers
service-policy type inspect pm-nolimit
zone-pair security zp-mgmt-students source zs-mgmt destination zs-students
service-policy type inspect pm-nolimit
zone-pair security zp-teachers-students source zs-teachers destination zs-students
service-policy type inspect pm-nolimit
zone-pair security zp-teachers-internet source zs-teachers destination zs-internet
service-policy type inspect pm-nolimit
zone-pair security zp-students-internet source zs-students destination zs-internet
service-policy type inspect pm-limit
zone-pair security zp-students-self source zs-students destination self
service-policy type inspect pm-icmp-udp
zone-pair security zp-teachers-self source zs-teachers destination self
service-policy type inspect pm-icmp-udp

Это политики пропуска трафика из зоны в зону.

interface FastEthernet0/0
description noc
zone-member security zs-mgmt
!
interface FastEthernet0/1
description internet
zone-member security zs-internet
!
interface Vlan1
description teachers
zone-member security zs-teachers
!
interface Vlan2
description students
zone-member security zs-students

А тут добавление интерфейсов в зоны.

Пропуск трафика из зоны в зону по умолчанию запрещён, а внутри зоны - разрешён. self зона это сам маршрутизатор, она есть по умолчанию и в ней по умолчанию всё разрешено, поэтому наоборот надо запрещать лишнее.

Чуть донастроим MLS0:

interface FastEthernet0/0
 description school31
 no keepalive
!
interface FastEthernet0/1
 description internet
 no keepalive
!
interface Vlan1
 description noc
!
line vty 0 4
 password DEPPnapo^b
!
no spanning-tree vlan 1
vtp mode transparent
vtp version 2
!
no cdp run