У меня есть следующая тестовая сеть:
Архитектура:
edge_a: 192.168.e.1 [edge vlan] (edge switch, no acl) [admin vlan] 192.168.m.1/24
core: 192.168.m.2/24 [admin vlan] (core router, yes acl) [admin vlan]
edge_b: 192.168.m.3/24 [admin vlan] (edge switch, no acl) [edge2 vlan] 192.168.e2.1
Топология:
edge_a <--[admin vlan ]--> core <--[admin vlan]--> edge_b
Граничные коммутаторы не поддерживают списки управления доступом, а только небольшую часть функций IP-маршрутизации (HP Procurve 2600 или 2800).
Ядро поддерживает ACL (Procurve 5308xl).
Старая архитектура: все VLAN возвращались к основному маршрутизатору, который был «шлюзом по умолчанию» для каждой из них.
Я пытаюсь переместить «шлюз по умолчанию» для каждого vlan на соответствующие граничные коммутаторы.
Однако граничные коммутаторы будут успешно маршрутизировать между напрямую подключенными vlan, такими как Admin vlan. Узлы не работают в этой сети.
Чтобы заблокировать доступ к admin vlan, я применяю ACL к интерфейсу "admin vlan OUT" ядра. Теория состоит в том, что ответы на источник, не являющийся администратором, не будут иметь обратного маршрута, и поэтому всегда будут проходить через ядро; следовательно, фильтрация ответа TCP.
Это не работает, однако эхо-запрос ICMP завершается успешно и приводит к следующей таблице маршрутизации на пограничном коммутаторе:
remote edge switch# sh ip route
IP Route Entries
Destination Gateway VLAN Type Sub-Type Metric Dist.
------------------ --------------- ---- --------- ---------- ---------- -----
0.0.0.0/0 192.168.m.2 101 static 0 250
192.168.m.0/24 Admin_Vlan 101 connected 0 0
192.168.e.226/32 192.168.m.1 101 icmp 0 255
Я подозревал, что это могло быть связано с IRDP, однако в этом примере этот протокол отключен на всех трех коммутаторах.
Откуда идет этот "ICMP-маршрут"?
Эта архитектура - лучшее решение, которое я знаю, и эта штука с ICMP действительно ломает мою работу.