Привет, незнакомец!

Похоже, вы здесь новенький. Чтобы принять участие, нажмите одну из кнопок ниже!

ACL, switchport or not switchport?

Доброго времени суток! Возник один такой глупый вопрос.

Допустим, имеется классическая звезда: много маленьких коммутаторов доступа кидают много вланов в транках в сторону большого коммутатора агрегации, там они (вланы) терминируются на SVI, и радостно маршрутизируются дальше в закат...

Над этим всем висит вот такой злобный ACL, который фильтрует неугодные пакеты:
ip access-list extended ACL-BLOCK
permit udp any host 255.255.255.255 eq bootpc
deny ip any 192.168.0.0 0.0.0.255.255
permit icmp any any
permit tcp any any
permit udp any any
permit gre any any
deny ip any any
Исторически сложилось так, что подобные ACL висят на физических транках комутатора агрегации (т.е. на свитчпорт) в сторону аксесс-свитчей. В моем понимании, логичнее было бы повешать такую конструкцию на SVI-интерфейсы (да и вообще фильтровать L2 только на L2, а L3 только на L3 ), но пока не нахожу конкретной аргументации для переноса.

Немного поэксперементировал с IOU - заметил что образы L2 имеют сво-во крашиться когда вешаешь такие acl на switchport (независимо от включенного cef), зато отлично работают с таким acl на SVI (с оключенным cef). (Использовал i86bi-linux-l2-adventerprisek9-15.1a.bin) И тут закрались в голову мысли, что вероятнее всего, коммутаторы по-разному работают с TCAM в зависимости от интерфейса (или выделяется разный объем, в зависимости от интерфейса, или вобще...). И не значит ли это, что мой подход предпочтительнее с точки зрения железа и производительности?

А еще, это значит, что я почти ничего не знаю про то, как там внутри железок чувствуют себя пакеты и это удручает. =(

В общем, подскажите пожалуйста, чем чревата фильтрация L3 на switchport, стоит ли так делать, и что насчет этого можно почитать\посмотреть\послушать\покурить итд.

P.S. Догадываюсь, что это зависит от самой железки, её характеристик и прочее. Но может есть какая-нить общая теория и\или best-practice?

Тэги темы:

Комментарии

  • отредактировано апреля 2016
    Привет. Во первых, твой ACL не правильно написан( в маске 5 октетов). Во вторых L3 acl, а именно такой он, который ты написал, нельзя вешать на L2 порт, так как он просто не знает понятия ip(поправьте, если не прав). И собственно, если бы L3 acl висел на no switchport порту(то есть L3), то чревато это только тем, что по ошибке можно зафильтровать важные протоколы, например HSRP, DHCP и прочие. И еще... Если я правильно понимаю, и этот лист висит на inbound трафик, то зачем ты фильтруешь сеть класса C как destination? Если у юзеров такая сеть, то фильтруй как source, "deny ip 192.168.0.0 0.0.255.255 any".
  • Anumrak написал:

    L3 acl, а именно такой он, который ты написал, нельзя вешать на L2 порт, так как он просто не знает понятия ip(поправьте, если не прав).

    Можно вешать, сильно зависит от коробки на которой это сделано. Чаще конечно на in вешают, но к примеру на 45 каталисте есть и на out.
    По существу вопроса можно сказать, что трафик внутри одного L2 домена не пойдет на SVI, поскольку имеет место не роутинг, а свичинг. Значит L3 ACL на SVI не сработает (конечно мы говорим о случае, если трафик действительно L2, а не к примеру между разными secondary подсетями внутри одного влана).
    То есть use cases таких ACL придумать можно, но имхо вешать ACL на L2 порт - bad design и надо отрезать за это пальцы :D
  • Доброго!
    Anumrak написал:

    Во первых, твой ACL не правильно написан( в маске 5 октетов)

    Эм. ACL - переписывал ручками по памяти) где-то ошибся видимо. Пардон =(
    Anumrak написал:

    Во вторых L3 acl, а именно такой он, который ты написал, нельзя вешать на L2 порт, так как он просто не знает понятия ip(поправьте, если не прав).

    вот этот вопрос покоя и не дает ) Мне интересно поведение железки на низком уровне при таком раскладе - тем более, про эксперимент с IOU я написал.
    Anumrak написал:

    И еще... Если я правильно понимаю, и этот лист висит на inbound трафик, то зачем ты фильтруешь сеть класса C как destination? Если у юзеров такая сеть, то фильтруй как source, "deny ip 192.168.0.0 0.0.255.255 any".

    Да просто блочит лишний трафик в сеть 192.168.0.0/16, вроде норм, у меня всякие сети на акссесе ;) DHCP наоборот разрешается
  • отредактировано апреля 2016
    Если L2 порт позволит повесить на себя L3 лист, то такой порт будет игнорировать весь L3 трафик: он просто не будет расковыривать кадр до третьего уровня, я так думаю.
    На счет 192й сети: у тебя таки outbound лист? То есть от свитча в порты?
  • отредактировано апреля 2016
    он просто не будет расковыривать кадр до третьего уровня, я так думаю.
    Вполне себе расковыривает .)

    ACL как раз in, почему он должен быть out?
    По этой записи deny ip any 192.168.0.0 0.0.0.255.255 фильтруется любой ip-трафик с этого интерфейса, направленный в MGMT сеть (192.168.0.0/16) - то, что она серая и класса С - ну, исторически так сложилось .)

    На самом деле было просто интересно как работает с TCAM коммутатор в данном случае. Ну или вообще как он работает. ) Помещает ли весь пакет туда целиком или только заголовки. Если заголовки, то какие, только L2, только L3 или L2+L3, а может еще L4 ), Как накладывает ACL, в зависимости от типа интерфейса или нет... В общем, такого рода информация.

    Понятно, что все это железозависимо, но думалось, что есть какие-то общие понятия.
  • Соглашусь с v0lk
    Это всё конечно Platform-dependent, но как правило на коммутаторе распределения используются RACL (Routed ACL навешанные на SVI). Что те, что другие прошиваются в TCAM, т.е. wire-speed будет, только TCAM ресурсы не бесконечны, поэтому смотрите как будет оптимальнее. Ну на некоторых коммутаторах PACL можно только на вход порта повесить, так же у них есть и дополнительные ограничения.
    А что на IOU вообще как-то работает это уже хорошо, это не показатель, нужно отталкиваться от конкретной платформы.
  • отредактировано апреля 2016
    gray_yozhik написал:

    он просто не будет расковыривать кадр до третьего уровня, я так думаю.
    Вполне себе расковыривает .)

    ACL как раз in, почему он должен быть out?
    По этой записи deny ip any 192.168.0.0 0.0.0.255.255 фильтруется любой ip-трафик с этого интерфейса, направленный в MGMT сеть (192.168.0.0/16) - то, что она серая и класса С - ну, исторически так сложилось .)

    На самом деле было просто интересно как работает с TCAM коммутатор в данном случае. Ну или вообще как он работает. ) Помещает ли весь пакет туда целиком или только заголовки. Если заголовки, то какие, только L2, только L3 или L2+L3, а может еще L4 ), Как накладывает ACL, в зависимости от типа интерфейса или нет... В общем, такого рода информация.

    Понятно, что все это железозависимо, но думалось, что есть какие-то общие понятия.
    Думал 192-ая это юзеры как раз, а не управление :| Сорри)
    Вот нашел инфу о PACL, интересно) Порт будет ковырять L2/3/4 трафик с правилом acl на in. https://learningnetwork.cisco.com/thread/54754
  • отредактировано апреля 2016
    Как накладывает ACL, в зависимости от типа интерфейса или нет...
    Если PACL настроен в режиме Prefer port mode, то он заменяет собой все acl касательно этого source кадра или IP и трафик фильтруется только этим acl.
    Если PACL настроен в режиме Merge mode, то трафик будет фильтроваться объединенными acl от нижнего уровня к верхнему по модели OSI, то есть PACL<VACL<RACL.
    Вроде так :)
  • Ну вот сколько неизвестных для меня понятий образовалось: P\V\R ACL ,Prefer port mode .... есть над чем подумать и куда погуглить, ) всем спасибо!

    От себя добавлю, пока искал инфу как внутри девайса летят пакеты, нашел на антициско интересную презентацию с красивыми картинками:

    http://www.anticisco.ru.postman.ru/pubs/ISR_OOO.pdf

    Немного не по теме, но заставляет задуматься.
  • От себя добавлю, пока искал инфу как внутри девайса летят пакеты, нашел на антициско интересную презентацию с красивыми картинками:

    http://www.anticisco.ru.postman.ru/pubs/ISR_OOO.pdf
    Интересно! :) Сохранил себе)
Войдите или Зарегистрируйтесь чтобы комментировать.