Про nexthop в Juniper с полным погружением и путешествием по
RIB, FIB и другим таблицам разных протоколов маршрутизации и MPLS.IoSonoUnRouter
Exploring how Junos builds next-hops
“To reach 100.64.10.0/24, next-hop is 192.168.13.2 via interface ge-0/0/1.200”. We are used to say things like that almost everyday. The concept of next-hop is trivial and extremely cle…
👍4
Зачищаю остатки в
И это типичная ситуация в больших проектах, когда изменения принимаются ситуативно. К такому приходишь почти всегда, даже тогда когда первоначально есть идеально проработанный план, а исполнителем и архитектором является всего один человек. Вопрос только в степени.
Это не решается автоматизацией, автоматизация поможет держать в одинаковом состоянии 1000 устройств, но это можно сделать и вручную, если изменения происходят не так часто. Это не решается и централизованным управлением a'la Cisco ISE или SD-Access, наличием source of truth. Как только груз накопившегося переваливает за возможность одному человеку охватить это за приемлемое время, изменения будут вноситься по факту, чтобы заработало здесь и сейчас без анализа всего предыдущего.
Чем больше людей вовлечено в этот процесс, тем система быстрее придёт к этому состоянию, потому что это не вопрос архитектуры и возможности вносить изменения, даже если всё это заложено изначально, то почти невозможно донести это понимание до каждого кто что-то меняет. С одним человеком степень этого будет меньше, но тут вопрос времени и частоты изменений тоже важен. Через год даже сам автор системы с трудом вспомнит заложенную в неё концепцию, не потратив на это достаточное время, но это надо захотеть сделать и потратить.
Добавим сюда фактор наименьшего необходимого в ИБ, когда каждому даётся ровно минимум требуемых для работы прав и линейный исполнитель может вообще не видеть конфигурацию целиком. Ведущий специалист не видеть то что делается в соседней команде и команды в целом не знать замыслов архитектуры, оставаясь только в рамках своих обязанностей. В этом случае мы буквально своими руками убиваем возможность не повторятся.
Рано или поздно, всё скатывается к мгновенным изменениям здесь и сейчас, чтобы работало, без оглядки на фундамент. Можно было бы вспомнить про Waterfall и Аgile и мир основанный на правилах "чистого кода" без запаха. Но не забываем, что даже в этом мире, нужен регулярный рефакторинг, включённый в эту концепцию. Но как и регулярный аудит, он мало помогает, фактически каждый раз приходится осознавать, считай проектировать, систему заново, что тоже в итоге приходит к ситуативным исправлениям.
Выход, заморозить систему и наслаждаться красотой построенного ничего не меняя, так мы сейчас смотрим на код первого Doom. Представьте, что все последующие версии были бы изменениями, а не новыми системами. Ещё можно жёстко ограничить вариативность, т.е. не давать внести изменения если что-то похожее уже было раньше, реализуемо, но тут у нас качество основанное на форме контроля, мы запрещаем себе помимо прочего делать улучшения вне заданных рамках, фактически заморозив систему.
Можно исключить человека, совсем, в некоторой степени это в том числе и разные графические интерфейсы того же SD-Access, когда накидываются высокоуровневые условия, реализуемые потом конфигурациями устройств, но тут уже мы имеем ситуативность в этих высокоуровневых правилах. Шаг который все хотят думать что заработает, как минимум, на него переключились маркетологи это ИИ, который сменил собой предыдущую маркетинговую штуку - автоматизацию. Делегируем и больше не смотрим что получается, своего рода страусиный подход, но вполне рабочий, думать о системе как о чёрном ящике с ИИ командной строкой. Признание того что все предыдущие методы не возымели успех.
ACL и наткнулся на такие правила:130 permit tcp 192.0.2.0 0.0.0.255 host 198.51.100.10 eq 80
140 permit tcp 192.0.2.0 0.0.0.255 host 198.51.100.10 eq 443
....
290 permit tcp 192.0.2.0 0.0.0.255 198.51.100.0 0.0.0.31
....
410 permit tcp host 192.0.2.15 host 198.51.100.10 eq 443
...
470 permit object-group WEB_SERVICES 192.0.2.0 0.0.0.255 198.51.100.0 0.0.0.31
И это типичная ситуация в больших проектах, когда изменения принимаются ситуативно. К такому приходишь почти всегда, даже тогда когда первоначально есть идеально проработанный план, а исполнителем и архитектором является всего один человек. Вопрос только в степени.
Это не решается автоматизацией, автоматизация поможет держать в одинаковом состоянии 1000 устройств, но это можно сделать и вручную, если изменения происходят не так часто. Это не решается и централизованным управлением a'la Cisco ISE или SD-Access, наличием source of truth. Как только груз накопившегося переваливает за возможность одному человеку охватить это за приемлемое время, изменения будут вноситься по факту, чтобы заработало здесь и сейчас без анализа всего предыдущего.
Чем больше людей вовлечено в этот процесс, тем система быстрее придёт к этому состоянию, потому что это не вопрос архитектуры и возможности вносить изменения, даже если всё это заложено изначально, то почти невозможно донести это понимание до каждого кто что-то меняет. С одним человеком степень этого будет меньше, но тут вопрос времени и частоты изменений тоже важен. Через год даже сам автор системы с трудом вспомнит заложенную в неё концепцию, не потратив на это достаточное время, но это надо захотеть сделать и потратить.
Добавим сюда фактор наименьшего необходимого в ИБ, когда каждому даётся ровно минимум требуемых для работы прав и линейный исполнитель может вообще не видеть конфигурацию целиком. Ведущий специалист не видеть то что делается в соседней команде и команды в целом не знать замыслов архитектуры, оставаясь только в рамках своих обязанностей. В этом случае мы буквально своими руками убиваем возможность не повторятся.
Рано или поздно, всё скатывается к мгновенным изменениям здесь и сейчас, чтобы работало, без оглядки на фундамент. Можно было бы вспомнить про Waterfall и Аgile и мир основанный на правилах "чистого кода" без запаха. Но не забываем, что даже в этом мире, нужен регулярный рефакторинг, включённый в эту концепцию. Но как и регулярный аудит, он мало помогает, фактически каждый раз приходится осознавать, считай проектировать, систему заново, что тоже в итоге приходит к ситуативным исправлениям.
Выход, заморозить систему и наслаждаться красотой построенного ничего не меняя, так мы сейчас смотрим на код первого Doom. Представьте, что все последующие версии были бы изменениями, а не новыми системами. Ещё можно жёстко ограничить вариативность, т.е. не давать внести изменения если что-то похожее уже было раньше, реализуемо, но тут у нас качество основанное на форме контроля, мы запрещаем себе помимо прочего делать улучшения вне заданных рамках, фактически заморозив систему.
Можно исключить человека, совсем, в некоторой степени это в том числе и разные графические интерфейсы того же SD-Access, когда накидываются высокоуровневые условия, реализуемые потом конфигурациями устройств, но тут уже мы имеем ситуативность в этих высокоуровневых правилах. Шаг который все хотят думать что заработает, как минимум, на него переключились маркетологи это ИИ, который сменил собой предыдущую маркетинговую штуку - автоматизацию. Делегируем и больше не смотрим что получается, своего рода страусиный подход, но вполне рабочий, думать о системе как о чёрном ящике с ИИ командной строкой. Признание того что все предыдущие методы не возымели успех.
👍4
Впрочем также можно поступать и без ИИ, не обращать на строчки приведённые в самом начале никакого внимания. Так работает эволюция в природе, каждое новое изменение делается не обращая внимание на то что уже было. Главное работает и даже не плохо, реальность слева больше похожа на хаос, чем на порядок справа.
👍6
Cloudflare накинули новый функционал на свои сервисы, но интересно другое
"Secure the session by MD5 authentication to prevent misconfigurations." - таковы реалии BGP в которых мы живём 30 лет не сильно что-то поменяв. Большинство и MD5 не используют для своих пирингов, что впрочем не сильно сказывается на чём-то.Cloudflare Docs
BGP over GRE and IPsec tunnels · Changelog
Configure BGP peering over IPsec and GRE tunnels for dynamic routing
Пример настройки VXLAN/EVPN в корпоративной среде. Когда технология получается, то зачем ограничивать себя рамками и условностями, что это только для ДЦ или только для провайдеров. Провайдеры в этом смысле вообще всеядные, вбирают в себя всё что можно вобрать, конечно обладая рядом специфических технологий. Главное, чтобы дёшево масштабировалось на тысячи и тысячи устройств и
VXLAN в этом плане, внезапно, интереснее чем MPLS, как минимум в рамках города, о чём мы говорили на Patchcord connect в прошлом году.The Forwarding Table
Discontiguous Deployments Of Vxlan
Discontiguous Deployments of Vxlan over an IGP using Catalyst IOS-XE
👍6
Любую информацию можно использовать, чтобы узнать чуть больше про вас и вашу сеть, не забываем про это. Геолокация по BGP комьюнити, работает с точностью 70км, если вообще такая информация кодируется в комьюнити. В публикации, чуть подробнее.
APNIC Blog
Towards understanding city-level routing using BGP location communities | APNIC Blog
Guest Post: An inference method that exploits the spatial correlation between a network prefix’s origin, and the location of the router that attaches a location community.
👍2
Увлекательные истории из не такого далекого прошлого, про Commodore AmigaOS и IBM OS/2, когда каждый был в силах написать свой собственный язык программирования и операционную систему. А то что всё это похоже, так идеи общие, летают в воздухе, повод пересмотреть "Пираты силиконовой долины".
👍2