gram news
Network Admin channel avatar

Network Admin

@networkadm

Обучающий канал по сетевому и системному администрированию. Сотрудничество: @dad_admin Биржа: https://telega.in/c/networkadm РКН: https://bit.ly/4ioc61C

ProjectsRUProgramming

12,400subscribers

Open the Channel

Latest posts

  • Network Admin

    22 Sept, 10:05

    Loop Guard vs Root Guard: в чем разницаОба механизма относятся к STP, но защищают от совершенно разных аварий.Loop Guard нужен, когда порт перестал получать BPDU, хотя раньше получал их.Например, между двумя коммутаторами есть STP-линк:SW1 ───────── SW2 BPDU →SW2 должен получать BPDU и держать порт в blocking/discarding. Если BPDU внезапно перестали доходить из-за односторонней проблемы линка, SW2 может решить, что путь свободен, и перевести порт в forwarding.Получается L2-петля. Loop Guard обнаруживает потерю ожидаемых BPDU и не дает порту перейти в forwarding:BPDU пропали ↓ Loop Guard ↓
    Image from a post by Network AdminImage from a post by Network Admin
  • Network Admin

    21 Sept, 09:33

    MAB: когда MAC заменяет 802.1X802.1X предполагает, что устройство умеет пройти аутентификацию через EAP.Но что делать с устройством вроде принтера, IP-телефона или камеры, где полноценного 802.1X может не быть?Для этого используют MAB - MAC Authentication Bypass.Схема выглядит примерно так:Устройство │ │ MAC ↓ Access Switch │ │ RADIUS ↓ AAA
    Image from a post by Network AdminImage from a post by Network Admin
  • Network Admin

    18 Sept, 09:04

    RIB vs FIB divergence в high-end роутерахВ routing table (RIB) маршрут отображается корректно: next-hop есть, метрики нормальные, протокол сходится.Но data-plane не использует этот маршрут - пакеты не уходят, и кажется, что сеть «работает частично».Причины чаще всего связаны с ограничениями ASIC, рекурсивным разрешением next-hop или проблемами с adjacency.Для диагностики сначала проверяем, как маршрут запрограммирован в FIB/CEF:show ip cef <prefix> detailЕсли next-hop не разрешается через adjacency, пакеты не будут пересылаться:show adjacency detail show ip arp <next-hop>На high-end платформах полезно проверить hardware table и возможные дропы:show platform hardware qfp active feature cef drop
    Image from a post by Network AdminImage from a post by Network Admin
  • Network Admin

    17 Sept, 09:02

    gNMI vs SNMP pollingПредставим сеть из сотни коммутаторов. Нужно следить за загрузкой интерфейсов.Классический вариант - SNMP polling:NMS ──→ switch "дай counters"NMS ──→ switch "дай counters"NMS ──→ switch "дай counters"Сервер сам регулярно опрашивает устройства.Например, раз в 60 секунд.Проблема появляется, когда нужны более частые данные.
    Image from a post by Network AdminImage from a post by Network Admin
  • Network Admin

    16 Sept, 09:00

    SRv6 uSID: зачем нужны короткие SIDВ обычном SRv6 маршрут можно описать последовательностью Segment ID:R1 → R5 → R8 → R12Каждый SID занимает IPv6-адрес, поэтому длинный путь быстро раздувает SRH.Например:SID 1 SID 2 SID 3 SID 4 SID 5 ...Чем больше сегментов, тем больше служебных данных приходится тащить вместе с пакетом. uSID (micro-SID) решает эту проблему другим способом.
    Image from a post by Network AdminImage from a post by Network Admin
    1,02031Open in Telegram
  • Network Admin

    15 Sept, 11:53

    TI-LFA: fast reroute без SPFОбычный IGP при отказе линка должен сначала понять, что топология изменилась, затем пересчитать SPF и установить новый маршрут.Это занимает время. TI-LFA работает иначе: резервный путь вычисляется заранее.Допустим, основной путь:R1 ── R2 ── R4 │ X │ R3 ── R4R1 знает, что если линк R2-R4 пропадёт, трафик можно отправить через R3.При отказе R2 не ждёт полноценного SPF для восстановления forwarding. Он использует заранее рассчитанный backup path. В SR-сетях этот путь можно выразить через Segment List:
    Image from a post by Network AdminImage from a post by Network Admin
    1,06021Open in Telegram
  • Network Admin

    14 Sept, 13:28

    show spanning-tree: почему STP блокирует портВ Cisco-подобных коммутаторах команда: show spanning-tree показывает не просто «какой порт заблокирован». Она позволяет понять, почему именно этот порт проиграл выбор пути.Например:VLAN 10 Root ID Priority 24586 Address 0011.2233.4455Interface Role Sts Cost Gi1/0/1 Root FWD 4 Gi1/0/2 Altn BLK 4На первый взгляд кажется: Gi1/0/2 - резервный линк, всё нормально.Но STP выбирает не «основной и резервный кабель». Каждый switch сравнивает BPDU и стоимость пути до Root Bridge.
    Image from a post by Network AdminImage from a post by Network Admin
  • Network Admin

    11 Sept, 09:10

    RD и RT - почему это не одно и то жеВ MPLS L3VPN есть две сущности, которые часто смешивают:RD (Route Distinguisher) и RT (Route Target).Обе выглядят как что-то вроде:65000:100Но делают они совершенно разные вещи. Представим двух клиентов:Customer A 10.10.10.0/24Customer B 10.10.10.0/24Для обычного BGP это один и тот же IPv4-префикс.
    Image from a post by Network AdminImage from a post by Network Admin
    1,56072Open in Telegram
  • Network Admin

    10 Sept, 09:05

    bpftool prog profile: кто съедает CPU внутри BPFBPF-программы могут работать в сетевом пути тысячи и миллионы раз в секунду.Поэтому проблема иногда выглядит странно:CPU → 100% приложение → почти не грузит network traffic → высокийСмотреть только на процессы в top здесь недостаточно.У bpftool есть режим профилирования конкретной BPF-программы:bpftool prog showНаходим нужную программу и получаем её ID:123: xdp name firewall
    Image from a post by Network AdminImage from a post by Network Admin
    1,47032Open in Telegram
  • Network Admin

    9 Sept, 09:05

    ip neigh flush: команда, которая может мгновенно изменить поведение сетиИногда сервер продолжает отправлять трафик на старый MAC-адрес, хотя ARP уже должен был обновиться.Вместо перезапуска интерфейса можно заставить Linux заново разрешить соседей:ip neigh flush dev eth0После этого:ip neigh show dev eth0может показать:10.10.10.1 INCOMPLETEЯдро ещё не знает MAC шлюза и отправит ARP-запрос:Who has 10.10.10.1?
    Image from a post by Network AdminImage from a post by Network Admin
    1,41042Open in Telegram
  • Network Admin

    8 Sept, 09:45

    Как Linux выбирает, через какой интерфейс отправить пакетНа сервере два интерфейса:eth0 → 10.0.1.10/24 eth1 → 10.0.2.10/24И оба имеют доступ к внешней сети.Когда приложение обращается к:8.8.8.8Linux не выбирает интерфейс по принципу «первый доступный».Сначала он делает routing lookup:ip route get 8.8.8.8Например:
    Image from a post by Network AdminImage from a post by Network Admin
  • Network Admin

    7 Sept, 09:05

    Что происходит с DHCP lease, когда сервер получает тот же IP после перезагрузкиDHCP - это не просто «сервер выдал IP и забыл».Когда клиент получает адрес, например:192.168.1.50он получает ещё и lease time:lease: 8 hoursПри обычной работе клиент не ждёт окончания lease. Он пытается продлить его заранее.Упрощённо:0% ───────── 50% ───────── 87.5% ───── 100% │ │ renew rebind expire
    Image from a post by Network AdminImage from a post by Network Admin
    1,64042Open in Telegram
  • Network Admin

    4 Sept, 09:35

    Почему нельзя смешивать management и user traffic «потом разделим»Пока всё спокойно, смешанный трафик кажется нормальным решением.Как только сеть ловит перегрузку или шторм, management-трафик оказывается в той же очереди, что и пользовательский.В момент инцидента устройство может быть доступно по IP, но управлять им невозможно.Самый простой вариант - отдельный management VLAN.Пример на Cisco:vlan 99 name MANAGEMENTinterface Vlan99 ip address 10.99.0.10 255.255.255.0 no shutdownAccess-порты для управления:
    Image from a post by Network AdminImage from a post by Network Admin
  • Network Admin

    3 Sept, 09:35

    5 команд для поиска проблем с ARP после замены сервераЗаменили сервер, оставили тот же IP, интерфейс поднялся, gateway пингуется - но часть устройств всё ещё пытается отправлять трафик на старый MAC. Проверяем по порядку.1️⃣Смотрим текущий neighbor stateip neigh showНапример:10.0.0.1 dev eth0 lladdr aa:bb:cc:dd:ee:ff STALEВажно не только наличие MAC, но и состояние записи: REACHABLE, STALE, DELAY, PROBE, FAILED.2️⃣Проверяем ARP непосредственно до gatewayarping -I eth0 10.0.0.1Если ответы приходят с неожиданного MAC, проблема уже не в маршрутизации.
    Image from a post by Network AdminImage from a post by Network Admin
  • Network Admin

    2 Sept, 09:25

    Почему BGP может выбрать более длинный путьВ BGP легко представить выбор маршрута как простое правило: меньше AS в пути - лучше.Но AS-path length - только один из атрибутов, которые участвуют в best-path selection.Например, маршрутизатор получил:10.10.10.0/24peer A: AS_PATH 64501 64502 peer B: AS_PATH 64503 64504 64505На первый взгляд BGP должен выбрать A. Но если у маршрута от B выше LOCAL_PREF, он может стать предпочтительным ещё до того, как длина AS_PATH вообще сыграет роль.Условно:A → LOCAL_PREF 100 → AS_PATH 2
    Image from a post by Network AdminImage from a post by Network Admin
  • Network Admin

    1 Sept, 09:15

    Как локальный трафик может вообще не попадать на физический интерфейсЕсли приложение обращается к IP, который Linux считает своим локальным адресом, пакет не отправляется на физический интерфейс.Например, на сервере:eth0 → 10.0.0.10/24Приложение выполняет:curl http://10.0.0.10:8080Интуитивно кажется, что будет:application ↓ eth0 ↓ switch ↓
    Image from a post by Network AdminImage from a post by Network Admin
  • Network Admin

    31 Aug, 14:47

    📂Gratuitous ARP меняет ARP-кэш без единого ARP-запросаОбычно ARP работает так:Host A → Who has 10.0.0.10? Host B → 10.0.0.10 is aa:bb:cc:dd:ee:ffНо устройство может само отправить ARP-пакет, не дожидаясь никакого запроса.Это и есть Gratuitous ARP. Например, виртуальный IP переезжает:до:10.0.0.10 → aa:aa:aa:aa:aa:aaпосле:10.0.0.10 → bb:bb:bb:bb:bb:bb
    Image from a post by Network AdminImage from a post by Network Admin
    1,77041Open in Telegram
  • Network Admin

    28 Aug, 09:32

    Большой RX ring не всегда делает сеть быстрееУ сетевой карты есть очереди, куда складываются входящие пакеты, пока драйвер не успел их обработать.При burst-трафике большой ring действительно может помочь пережить кратковременный всплеск:NIC → RX ring → driver → kernelНо бесконечной очереди не бывает.Если CPU стабильно обрабатывает, например, 500 тыс. пакетов/с, а приходит 700 тыс.:500k → 700k → 900k → ...ring постепенно заполняется, после чего начинаются drops.Увеличение ring позволяет накопить больше пакетов:ethtool -g eth0 ethtool -G eth0 rx 4096
    Image from a post by Network AdminImage from a post by Network Admin
  • Network Admin

    27 Aug, 09:31

    Сетевой пакет может потеряться ещё внутри NICВ tcpdump нет пакета - легко сделать вывод, что он не пришёл на сервер. Но между физическим портом и tcpdump находится сама сетевой карта.У NIC есть собственные RX ring buffers. Драйвер забирает из них дескрипторы и передаёт полученные данные ядру.При перегрузке очередь может не успеть обработать входящие пакеты:NIC ↓ RX ring ↓ driver ↓ kernel ↓ tcpdumpЕсли проблема возникает на уровне NIC/driver, пакет может исчезнуть до того, как станет виден обычному packet capture.
    Image from a post by Network AdminImage from a post by Network Admin
    2,28052Open in Telegram
  • Network Admin

    26 Aug, 11:10

    📂 Linux bridge учит MAC-адреса почти как обычный коммутаторКогда Linux работает как bridge, он не просто механически пересылает Ethernet-кадры между интерфейсами.У него есть собственная forwarding database - FDB.Когда кадр приходит на bridge, ядро смотрит на его source MAC и запоминает, откуда он пришёл:aa:bb:cc:dd:ee:01 → eth0 aa:bb:cc:dd:ee:02 → eth1Посмотреть таблицу можно:bridge fdb showПосле этого кадр для aa:bb:cc:dd:ee:02 уже не нужно отправлять на все порты - bridge знает, что destination находится за eth1.Если destination MAC неизвестен, кадр будет flood’иться по подходящим портам. После получения ответа bridge снова обновит FDB.У записей есть timeout, поэтому старый MAC постепенно исчезает:
    Image from a post by Network AdminImage from a post by Network Admin