networkadm | Unsorted

Telegram-канал networkadm - Network Admin

12610

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

Subscribe to a channel

Network Admin

Обзор Cisco Unified Communications Manager (CUCM)

Cisco Unified Communications Manager (CUCM) — это программная АТС для корпоративных IP-сетей, обеспечивающая маршрутизацию вызовов, управление голосовыми и видео-звонками, поддержку голосовой почты, конференц-связи и интеграцию с другими сервисами.

Первая версия CallManager 1.0 вышла в 1997 году.

Основные протоколы CUCM

CUCM поддерживает как собственные, так и открытые протоколы:
SCCP (Skinny Client Control Protocol) – фирменный протокол Cisco для телефонов
SIP (Session Initiation Protocol) – стандартный протокол для VoIP
H.323 – используется для взаимодействия с другими VoIP-сетями
MGCP (Media Gateway Control Protocol) – для управления шлюзами

Как работает CUCM

CUCM управляет сигнализацией вызовов, но сами аудио- и видеопотоки (RTP) передаются напрямую между устройствами.

Это значит, что если CUCM выйдет из строя, разговор продолжится, но функции управления вызовом (удержание, перевод, конференция) будут недоступны.


Система работает на базе Linux (VOS – Voice Operating System) с предустановленной базой данных IBM Informix. Управление осуществляется через веб-интерфейс, который разделён на несколько панелей.

Основные интерфейсы CUCM
1️⃣Cisco Unified CM Administration – основное администрирование: настройка вызовов, маршрутизация, интеграция с другими сервисами.
2️⃣ Cisco Unified Reporting – отчёты о работе системы и журналирование.
3️⃣ Disaster Recovery System (DRS) – резервное копирование (локально или через SFTP).
4️⃣ Cisco Unified Serviceability – мониторинг системы, трассировка, SNMP, отчёты CDR (Call Detail Record).
5️⃣ Cisco Unified OS Administration – контроль нагрузки CPU, дисков, системного времени и сетевых параметров.

Дополнительно доступен CLI (Command Line Interface) для управления через консоль.


N.A. ℹ️ Help

Читать полностью…

Network Admin

P4 и программируемые коммутаторы: кастомная обработка пакетов

P4 (Programming Protocol-independent Packet Processors) — язык для описания поведения сетевых устройств на уровне пакетов.

С его помощью можно создавать кастомные правила маршрутизации, фильтрации, модификации заголовков и многое другое без перепрошивки железа.

В отличие от классических коммутаторов, где поведение фиксировано, P4-коммутаторы позволяют:

• самостоятельно определять, какие заголовки и поля пакетов обрабатывать;
• писать собственные таблицы маршрутизации и фильтров;
• экспериментировать с сетевой логикой в учебных или тестовых сетях.

Эмуляция с bmv2

Чтобы попробовать P4 без физического железа, используют эмулятор BMv2. Он имитирует P4-коммутатор и позволяет загружать ваши программы.

Пример простой программы, которая меняет MAC-адрес назначения для всех входящих пакетов:

header ethernet_t {
bit<48> dstAddr;
bit<48> srcAddr;
bit<16> etherType;
}

parser MyParser(packet_in pkt,
out ethernet_t hdr) {
pkt.extract(hdr);
}

control MyIngress(inout ethernet_t hdr) {
apply {
hdr.dstAddr = 0x00_11_22_33_44_55;
}
}

control MyEgress() { apply { } }

control MyVerifyChecksum() { apply { } }
control MyComputeChecksum() { apply { } }

V1Switch(MyParser(), MyVerifyChecksum(), MyIngress(), MyEgress(), MyComputeChecksum()) main;


Запуск эмулятора
Устанавливаем bmv2 (на Ubuntu):

sudo apt install bmv2


Компилируем P4-программу:

p4c-bm2-ss simple_program.p4 -o simple_program.json


Запускаем эмулятор:

simple_switch --log-console simple_program.json


Проверяем трафик через mininet или подключённые виртуальные интерфейсы.

N.A. ℹ️ Help

Читать полностью…

Network Admin

🚀⚙️ Хотите упростить свою работу в Linux? Научитесь писать скрипты с помощью Bash!

👉 Присоединяйтесь к открытому вебинару 25 августа в 20:00 МСК и разберитесь, как с помощью Bash автоматизировать рутинные задачи в Linux. Мы объясним, как работать с интерпретатором Bash, создавать переменные, использовать условия и циклы.

💪 Этот вебинар поможет быстро освоить базовые навыки Bash и научиться автоматизировать простые операции, что значительно упростит рабочий процесс.

🎁 Запишитесь на вебинар и получите индивидуальное предложение на курс «Administrator Linux. Basic».

👉 Для участия зарегистрируйтесь: https://otus.pw/eYKF/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Network Admin

По мере того, как сети становятся сложнее и масштабнее, организации сталкиваются с растущими трудностями в поддержании точной, динамичной и безопасной сетевой инвентаризации.

Устаревшие системы, гибридные инфраструктуры и развивающиеся угрозы безопасности усложняют решение таких задач.

Готовые решения существуют, и, как всегда, есть различные “но”, вынуждающие либо идти на компромиссы или вложения дополнительных ресурсов, либо же раздувать штат соответствующих специалистов для увеличения охвата текущих задач по сетевой инфраструктуре.

В первой части статьи мы рассказали о нашей идеологии в инструментарии для поддержки и конфигурирования сети.

В этой части мы хотим детальнее рассказать о реализованных нами решениях по поднятым вопросам и размышлениям и поделиться результатами.

Прочитать можно здесь:⬇️

https://dzen.ru/a/aJx4knpIYn5Ct87m

Читать полностью…

Network Admin

VRF-lite: простая изоляция трафика без сложного оборудования

VRF-lite — способ изолировать трафик в одной сети без дорогого оборудования.

По сути, это создание нескольких виртуальных маршрутизаторов на одном устройстве, каждый со своей таблицей маршрутизации.


Зачем это нужно?

Например, чтобы разделить трафик разных отделов, клиентов или сервисов, не покупая дополнительные роутеры или сложные коммутаторы. VRF-lite помогает избежать конфликтов IP и повысить безопасность.

Как работает? На одном маршрутизаторе или сервере создаются VRF-инстансы — каждый со своей таблицей маршрутов.

Интерфейсы привязываются к конкретному VRF, и трафик из одного VRF не пересекается с другими.

Пример в Linux (используя iproute2):

1️⃣Создаем VRF:

ip link add vrf-blue type vrf table 10
ip link set dev vrf-blue up


2️⃣ Привязываем интерфейс к VRF:

ip link set dev eth1 master vrf-blue


3️⃣ Добавляем маршруты в таблицу VRF:

ip route add 192.168.10.0/24 dev eth1 table 10


4️⃣ Аналогично создаем и настраиваем другие VRF.

N.A. ℹ️ Help

Читать полностью…

Network Admin

NAT Hairpinning — что это и зачем нужно?

NAT Hairpinning (или loopback NAT) — это способ доступа к своим локальным сервисам по их внешнему (публичному) IP адресу изнутри локальной сети.

Например, у вас есть сервер в локальной сети с внутренним IP 192.168.1.100, и у него проброшен внешний IP (скажем, 203.0.113.10) через NAT на роутере.


Если вы с другого устройства в той же локальной сети попытаетесь подключиться к 203.0.113.10 (например, к веб-серверу на порту 80), то без настройки hairpinning это, как правило, не сработает — трафик не “заходит обратно” в локальную сеть.

Как это работает?

Роутер смотрит на пакеты, которые пришли с локального интерфейса, направленные на его же внешний IP, и перенаправляет их обратно во внутреннюю сеть, применяя DNAT к локальному IP сервера.

Пример настройки iptables для NAT Hairpinning

Предположим:
Внешний IP роутера: 203.0.113.10
Локальный сервер: 192.168.1.100
Сервис на порту 80 (HTTP)

Выполните такие правила (от имени root):

# Проброс порта с внешнего IP на локальный сервер
iptables -t nat -A PREROUTING -d 203.0.113.10 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:80

# Разрешаем возвратный трафик
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.1.100 -p tcp --dport 80 -j MASQUERADE


Объяснение:
• Правило в PREROUTING меняет адрес назначения с внешнего IP на внутренний.
• Правило в POSTROUTING маскирует исходящий трафик, чтобы сервер видел запросы как от роутера, и мог отправить ответ обратно корректно.

N.A. ℹ️ Help

Читать полностью…

Network Admin

Топ-5 ошибок при настройке EtherChannel (LACP/PAgP)

+ как быстро диагностировать

EtherChannel — мощный инструмент агрегации каналов, но одна мелочь в конфиге может убить весь бандл или снизить производительность.

1️⃣Разные настройки на портах

Разные speed/duplex или MTU ломают агрегацию. Разное VLAN-назначение (trunk/access) приводит к непредсказуемым сбоям.

Пример ошибки:

switchport mode trunk
switchport trunk allowed vlan 10,20


…на одном порту, а на другом 10,30.

2️⃣ Смешивание режимов LACP/PAgP

LACP (active/passive) и PAgP (desirable/auto) несовместимы. Если на одном конце LACP, а на другом PAgP — бандл не поднимется.

3️⃣ Использование “on” без протокола

Режим on игнорирует LACP/PAgP и форсит агрегацию. Если на другом конце LACP — возникнет misconfiguration.

4️⃣ Разные load-balancing алгоритмы

На разных устройствах балансировка (src-mac, src-dst-ip и т.д.) может распределять трафик неравномерно. Результат тут — недозагрузка линков.

5️⃣ Игнорирование диагностики

Многие настраивают, но не проверяют. Результат — «висячие» линков в состоянии standby.

Быстрая диагностика

show etherchannel summary       ! Статус каналов
show running-config interface ! Проверить одинаковость настроек
show lacp neighbor ! Состояние LACP


N.A. ℹ️ Help

Читать полностью…

Network Admin

MACsec в дата-центрах: используем шифрование на уровне канального слоя

В современных дата-центрах требования к безопасности и производительности пересекаются с необходимостью шифрования трафика внутри самой инфраструктуры.

MACsec (IEEE 802.1AE) становится оптимальным решением для защиты Layer 2 трафика без влияния на верхние протоколы и с минимальной задержкой.


Почему MACsec полезен в дата-центрах?

MACsec — это не просто шифрование Ethernet-кадров, это комплексный протокол безопасности, который обеспечивает:
Аутентификацию источника с помощью Integrity Check Value (ICV) на каждом кадре, предотвращая подделку трафика.
Конфиденциальность данных через AES-GCM шифрование на аппаратном уровне, снижая нагрузку CPU и обеспечивая минимальные задержки.
Обеспечение replay protection (защита от повторного воспроизведения кадров) с помощью счетчика пакетов (Packet Number, PN).

Особенности реализации в дата-центрах

1️⃣Масштабируемость и управление ключами:
Применение MACsec в дата-центрах обычно требует централизованного управления ключами через MKA (MACsec Key Agreement) — компонент IEEE 802.1X. Это позволяет динамически обновлять ключи и поддерживать ассоциации безопасности (SA) без ручной настройки.

2️⃣Аппаратное ускорение:
Эффективность MACsec сильно зависит от поддержки в ASIC коммутаторов и сетевых карт. Использование DPDK-подобных стэков или offload’ов существенно снижает накладные расходы.

3️⃣Совместимость с VLAN и QinQ:
MACsec может применяться поверх VLAN или QinQ, что позволяет обеспечить безопасность сегментированных сетей, широко распространённых в DC.

4️⃣Интеграция с VxLAN/NVGRE:
При работе overlay-сетей MACsec шифрует трафик подложки, обеспечивая безопасность межхостового обмена.

Настройка MACsec с MKA в Linux

Linux пока не имеет встроенного полноценного MKA-агента, поэтому чаще используют сторонние реализации (например, wpa_supplicant с experimental MACsec поддержкой) или аппаратные решения.

Пример базового конфигурационного файла для wpa_supplicant с MACsec:

network={
key_mgmt=IEEE8021X
eap=TLS
identity="user@example.com"
ca_cert="ca.pem"
client_cert="client.pem"
private_key="client.key"
macsec_policy=1
}


Для включения MACsec:

ip link add link eth0 macsec0 type macsec
ip link set macsec0 up


Запуск wpa_supplicant с MACsec:

wpa_supplicant -i eth0 -c /etc/wpa_supplicant.conf -D wired


N.A. ℹ️ Help

Читать полностью…

Network Admin

❓ ⚙️ Как ускорить процессы развертывания приложений и упростить управление инфраструктурой?

👉 На открытом уроке 12 августа в 19:00 МСК мы разберём, что такое Docker и как использовать его для эффективной контейнеризации. Вы узнаете, как работать с Docker CLI, управлять контейнерами, а также как применять Docker Hub для хранения и обмена образами.

После урока вы будете уверенно устанавливать Docker, запускать контейнеры и собирать свои первые Dockerfile. Это знание — важный шаг для системных администраторов и DevOps-специалистов, желающих упростить развертывание приложений.

🎁 Посетите вебинар и получите скидку на курс «Administrator Linux. Basic»: https://otus.pw/En9i/

👉 Для участия в вебинаре зарегистрируйтесь

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Network Admin

Канал опытного инженера с многолетним стажем!

За свою карьеру он поработал со многими технологиями и языками программирования:
⚙️ Python
👩‍💻 Linux
👣 Golang
🖥 Docker
🖥 Kubernetes
🖥 Bash

RECURA: программирование, проще чем кажется

Читать полностью…

Network Admin

Deckhouse User Community meetup #2
21 августа | Москва


«Флант» приглашает на второй Deckhouse User Community meetup. Три доклада от практиков:

→ управление узлами кластера на всём их жизненном цикле с командой Deckhouse Core;
→ построение платформы обучения K8s на DKP CE с коллегами из КРОКа;
→ автоматизация архитектурного контроля и подход Architecture as Code с экспертами «ДОМ.РФ Технологии».

Регистрируйтесь, если интересны реальные кейсы работы с Kubernetes-платформами.

Читать полностью…

Network Admin

DevOps Bootcamp: профессиональное сообщество начинающих инженеров

👉 разборы рабочих задач
👉 прокачка hard и soft skills
👉 вебинары и прямые эфиры с топами индустрии
👉 статьи, лекции и ответы на вопросы

Автор канала — Вячеслав Федосеев:

🔹TeamLead DevOps в «Честном знаке»;
🔹автор двух из трех существующих русскоязычных курсов по CI/CD;
🔹ментор курса-профессии «DevOps Upgrade» учебного центра Слёрм;
🔹ведущий проекта «Честные вакансии: DevOps Middle».

Подписывайтесь на канал и станьте частью большого и активного комьюнити 🫂

⭐️ DevOps Bootcamp ⭐️

Читать полностью…

Network Admin

Проблема PMTU в 2025 году: почему VPN и туннели всё ещё ломаются

Path MTU Discovery (PMTU) — это механизм, который помогает определить максимально возможный размер пакета на пути между двумя хостами, чтобы он не фрагментировался.

В идеале всё должно работать прозрачно: хост отправляет пакеты, маршрутизаторы при необходимости возвращают ICMP‑сообщение Fragmentation Needed, и клиент снижает размер пакета.

Но в реальности в 2025 году PMTU по‑прежнему часто ломается — особенно в VPN и туннелях. Причина в так называемом ICMP blackhole: провайдеры и межсетевые экраны продолжают фильтровать ICMP, в том числе нужные для PMTU пакеты.

Что происходит при ICMP blackhole

• Клиент отправляет пакет большего размера, чем позволяет канал.
• Маршрутизатор должен сообщить ICMP Fragmentation Needed.
• Сообщение блокируется и клиент не узнаёт об ограничении.
• В итоге TCP «виснет»: пакеты не доходят, соединение рвётся или работает с жуткими задержками.

Чаще всего это проявляется при VPN, GRE, IPsec, WireGuard или других туннелях: MTU «съедается» заголовками, и без ICMP трафик начинает падать.

Как диагностировать проблему

1️⃣Проверяем MTU на интерфейсе

ip link show


Смотрим MTU на туннельном интерфейсе, обычно <1500.

2️⃣ Пробуем ping с указанием размера

ping -M do -s 1472 8.8.8.8


(1472 байта + 28 заголовков = 1500). Если не проходит — уменьшаем.

3️⃣ Трассировка с MTU‑проверкой

tracepath 8.8.8.8


Покажет, где именно пакет «обрезается».

4️⃣ Смотрим tcpdump

tcpdump -i eth0 icmp


Если Fragmentation Needed не приходит — это ICMP blackhole.

Способы решения
Задать меньший MTU вручную на VPN‑ или туннельном интерфейсе, например:

ip link set dev wg0 mtu 1400


Настроить MSS‑clamp в iptables:

iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
-j TCPMSS --clamp-mss-to-pmtu

N.A. ℹ️ Help

Читать полностью…

Network Admin

🏖 Инструменты и практические советы для ДИТов и инженеров

🟣 VDI против дефицита кадров
— решение проблемы в инженерных компаниях.

🟣 Сколько стоит инфра
— как посчитать совокупную стоимость владения.

🟣 Миграция в облако
— 5 самых частых ошибок.

🟣 Загрузка Linux-системы
— идеальная шпаргалка от с поэтапной схемой.

🟣 Лимиты ресурсов в Kubernetes
как GitLab Runner без лимитов уронил ноду.

🟣 Как не стать мишенью для хакеров в Kubernetes
типичные ошибки в настройке K8s, открывающие двери для атак.

🟣 MinIO урезал UI
— альтернатива OpenMaxIO.

Ещё больше полезного в канале CORTEL

➡️ Подписаться

Реклама ООО "Кортэл"
ИНН: 7816246925

Читать полностью…

Network Admin

С днём сисадмина! 🍺

Предлагаю в очередной раз насладиться классикой :)

localhost › IT-юмор

Читать полностью…

Network Admin

SR-IOV и DPDK: ускоряем сеть виртуальных машин

SR-IOV (Single Root I/O Virtualization) позволяет делить физическую сетевую карту на несколько виртуальных функций (VF), которые напрямую пробрасываются в виртуальные машины.

Это даёт почти нативную производительность и снижает нагрузку на гипервизор.


DPDK (Data Plane Development Kit) — фреймворк для высокопроизводительной обработки пакетов в user-space, который идеально сочетается с SR-IOV: виртуальные функции получают прямой доступ к пакету, обходя ядро Linux и стек TCP/IP.

Проброс VF в KVM
Проверяем поддержку SR-IOV в NIC и включаем VF:

lspci | grep -i eth
echo 4 > /sys/class/net/ens1f0/device/sriov_numvfs


Создаём виртуальную машину с пробросом VF:

virt-install \
--name vm1 \
--memory 4096 \
--vcpus 2 \
--disk size=20 \
--import \
--host-device 0000:81:00.1


Здесь 0000:81:00.1 — это идентификатор VF. VM получает прямой доступ к сети через эту VF.

Тестирование throughput с dpdk-testpmd

Устанавливаем DPDK:

sudo apt install dpdk dpdk-dev dpdk-doc


Запускаем тестовый пэкедж testpmd для генерации и приёма пакетов:

sudo testpmd -l 0-3 -n 4 --socket-mem 1024,1024 \
--file-prefix pg0 -- -i


Проверяем производительность и статистику:

testpmd> start
testpmd> show port stats


DPDK позволяет увидеть количество пакетов в секунду (pps) и байт в секунду, что даёт точное измерение throughput.

NUMA-awareness

Для максимальной производительности важно учитывать расположение CPU и PCIe в NUMA-ноды. Используйте:

lscpu | grep NUMA
numactl --show


DPDK и SR-IOV работают лучше, когда процессоры VM и VF находятся на одной NUMA-нода.

N.A. ℹ️ Help

Читать полностью…

Network Admin

LISP для изоляции IoT-подсетей: тестовая сеть с инкапсуляцией

LISP (Locator/ID Separation Protocol) разделяет идентификаторы устройств (EID, Endpoint ID) и их физическое расположение в сети (RLOC, Routing Locator).

Для IoT это удобно: можно изолировать подсети устройств и одновременно обеспечивать маршрутизацию и масштабируемость.


С помощью LISP можно создавать отдельные под‑сети, легко перемещать устройства между физическими сетями, сохраняя идентификаторы, и контролировать доступ между сегментами.

Для практики можно развернуть тестовую сеть на Linux (VM или физические машины) и симулировать IoT-устройства на Python.

1️⃣Установка LISP-софтвера
На обоих узлах:

sudo apt install openlisp


2️⃣Настройка RLOC и EID
На роутере офиса:

eid_table office
add 10.0.1.0/24

rloc add 192.168.100.1


На роутере склада:

eid_table warehouse
add 10.0.2.0/24

rloc add 192.168.200.1


3️⃣Инкапсуляция и маппинг

lispctl map-register office 192.168.100.1
lispctl map-register warehouse 192.168.200.1


4️⃣Проверка reachability
На клиенте (симуляторе IoT):

ping 10.0.2.5
traceroute 10.0.2.5


Если всё настроено верно, пакеты проходят через LISP-туннель, а устройства остаются в изолированных подсетях.

N.A. ℹ️ Help

Читать полностью…

Network Admin

BFD для быстрого failover: мгновенная детекция отказов в BGP и OSPF

BFD (Bidirectional Forwarding Detection) — протокол, который позволяет обнаруживать недоступность соседних маршрутизаторов за миллисекунды.

Он работает поверх UDP и совместим с основными протоколами маршрутизации, такими как BGP и OSPF. 


В отличие от стандартных таймеров Hello в протоколах, BFD обеспечивает крайне быстрый failover, что критично для высоконагруженных и отказоустойчивых сетей.

Пример интеграции с OSPF на Linux (FRRouting)
1️⃣Включаем BFD в конфигурации FRR:

router ospf
bfd
network 10.0.0.0/24 area 0


2️⃣Настраиваем соседей с BFD:

neighbor 10.0.0.2 bfd


3️⃣Настройки таймеров BFD (для очень быстрого failover):

bfd
interval 50 min_rx 50 multiplier 3


Это означает, что пакеты BFD отправляются каждые 50 мс, а после 3 пропущенных пакетов сосед считается недоступным (~150 мс).

Пример интеграции с BGP

router bgp 65001
neighbor 192.0.2.2 remote-as 65002
neighbor 192.0.2.2 bfd


BFD здесь позволяет моментально «снимать» недоступного соседа с BGP-сессии, что ускоряет failover в глобальных сетях.

N.A. ℹ️ Help

Читать полностью…

Network Admin

Контейнерные сети: обзор CNI Beyond Flannel и Calico

В Kubernetes и других платформах контейнеризации CNI (Container Network Interface) отвечает за организацию сети между контейнерами — назначение IP, маршрутизацию и связь между подами и внешним миром.

Flannel и Calico долгое время были стандартом. Flannel прост в настройке, создаёт оверлей на базе VXLAN, но ограничен в производительности и сетевой политике. 


Calico более функционален, поддерживает сложные политики, BGP и IP-in-IP туннели, подходит для больших кластеров с высокими требованиями к безопасности.

Однако появились альтернативы. Weave Net строит mesh-сеть с шифрованием, отлично подходит для небольших и средних кластеров.

Cilium использует eBPF, что даёт высокую производительность и гибкость, идеален для сложных сетевых политик и мониторинга на низком уровне.

Antrea, основанный на Open vSwitch, хорош для тех, кто хочет продвинутую фильтрацию и интеграцию с сетевым оборудованием.

Выбор зависит от задач.

Для простоты — Flannel или Weave Net. Для безопасности и масштабируемости — Calico или Cilium. Для интеграции с Open vSwitch — Antrea.

N.A. ℹ️ Help

Читать полностью…

Network Admin

L2 Loop Prevention без STP: PortFast и BPDU Guard на Cisco и Linux

Петли на уровне L2 могут серьёзно повредить сети. STP — классика борьбы с ними, но иногда избыточна и замедляет подключение устройств.

Для простых случаев используют PortFast и BPDU Guard.


PortFast — заставляет порт сразу переходить в рабочее состояние, минуя задержки STP. Используется на портах с конечными устройствами (ПК, серверы), чтобы ускорить старт.

BPDU Guard — отключает порт, если он получает BPDU-сообщения, предотвращая петли, если к порту случайно подключён коммутатор.

Настройка на Cisco:

Включаем PortFast и BPDU Guard на порт:

interface Gi1/0/10
spanning-tree portfast
spanning-tree bpduguard enable


Или глобально:

spanning-tree portfast default
spanning-tree portfast bpduguard default


Настройка на Linux:

PortFast как такового нет, но можно отключить задержки STP:

brctl setfd br0 0
brctl setageing br0 0


Для BPDU Guard — фильтрация BPDU с помощью ebtables:

ebtables -A INPUT -p 0x42 -j DROP


N.A. ℹ️ Help

Читать полностью…

Network Admin

Научим находить атаки в трафике до того, как они нанесут ущерб 🕵️‍♂️

Злоумышленники действуют скрытно, используя сложные методы проникновения. Без должных средств защиты они могут оставаться незамеченными до тех пор, пока не становится слишком поздно. Любая атака оставляет след в сети, но не все специалисты знают, как их найти и использовать, — им не хватает практики и знаний.

Уже 25 августа у Positive Education стартует практикум «Анализ сетевого трафика», в который включили максимум практики с фокусом на разборе реальных атак.

⭐️ Его готовили эксперты Positive Technologies. За их плечами — десятки обнаруженных атак, сложные кейсы и работа с трафиком в боевых условиях.

🎓 Вас ждут практические материалы, вобравшие в себя многолетний опыт экспертов, которые можно изучать в удобном темпе, а также обширная практика на облачном стенде: вы будете воспроизводить хакерские атаки и исследовать их при помощи средств защиты, проверяя те на прочность.

👉 Больше подробностей — на странице практикума.

Читать полностью…

Network Admin

Когда ICMP нужен: как его отсутствие ломает MSS и PMTU discovery

Во многих инфраструктурах ICMP считают «ненужным» и отрубaют его на периметре — мол, безопасность, чтобы никто не пинговал.

В результате получаем баги, которые тяжело отлаживать: от медленного SSH до обрыва TLS.


Path MTU Discovery (PMTUD) в TCP/IP полагается на ICMP Type 3 Code 4 (Fragmentation Needed).

Когда по пути есть узел с меньшим MTU, он должен прислать ICMP-ошибку и сообщить, какой размер пакета возможен. Если ICMP блокируется, пакеты просто молча теряются.

Признаки в продакшене:
• SSH или HTTPS зависает сразу после подключения
• TLS соединение срывается без ошибки
• ping до узла работает, но curl или scp — нет
• MTU выше по цепочке (например, GRE или IPsec) не согласуется

Как диагностировать
Проверка MTU:

ip link | grep mtu  
ip route get <dst>
ping -M do -s 1472 <dst> # для MTU 1500 с учетом IP+ICMP


Анализ через tcpdump:

tcpdump -i eth0 icmp or tcp port 443


Если нет ICMP Fragmentation Needed — значит, он кем-то фильтруется.

Проверка firewall’ов:
Убедитесь, что правила (например, в iptables или cloud security group) не блокируют ICMP Type 3.

Как лечить
Пропустить ICMP Type 3 на периметре (или хотя бы Code 4):

iptables -A INPUT -p icmp --icmp-type fragmentation-needed -j ACCEPT


Уменьшить MSS вручную на туннелях или при NAT:

iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
-j TCPMSS --clamp-mss-to-pmtu


Проверить, не отключен ли PMTU discovery в системе:

sysctl net.ipv4.ip_no_pmtu_disc


N.A. ℹ️ Help

Читать полностью…

Network Admin

Динамическая маршрутизация в IoT-сетях: RPL протокол

RPL (Routing Protocol for Low-Power and Lossy Networks) — это протокол маршрутизации, созданный специально для IoT-сетей с ограниченными ресурсами и нестабильным соединением.

Он строит DAG (направленный ациклический граф) для эффективной передачи данных с минимальным энергопотреблением.

RPL активно используется в 6LoWPAN, Zigbee, Thread и других LPWAN-технологиях.

Практические команды для работы с RPL

1️⃣Запуск border-router (корня DAG) в Contiki-NG:

cd contiki-ng/examples/rpl-border-router
make TARGET=cooja


Эмулятор запустит роутер, который станет корнем RPL-дерева.

2️⃣ Просмотр маршрутов и родителей RPL на узлах (в Cooja-консоли):

rpl-print-parent
rpl-print-routes


Показывает текущего родителя и таблицу маршрутов.

3️⃣ Диагностика RPL-пакетов в Wireshark:

icmp6.type == 155


Фильтр для отслеживания ICMPv6 сообщений RPL (DIO, DAO и др.).

N.A. ℹ️ Help

Читать полностью…

Network Admin

MLAG без дорогого железа: LACP и Linux bonding в связке

Часть 2

Настройка bonding на Linux-хосте

Создаём bonding-интерфейс:

sudo modprobe bonding
sudo ip link add bond0 type bond
sudo ip link set bond0 up


Добавляем физические интерфейсы:

sudo ip link set eth0 down
sudo ip link set eth1 down
sudo ip link set eth0 master bond0
sudo ip link set eth1 master bond0
sudo ip link set eth0 up
sudo ip link set eth1 up


Включаем LACP (mode=802.3ad) и настраиваем параметры:

sudo bash -c 'echo 802.3ad > /sys/class/net/bond0/bonding/mode'
sudo bash -c 'echo 100 > /sys/class/net/bond0/bonding/lacp_rate' # быстрый LACP (fast rate)


Назначаем IP на bond0:

sudo ip addr add 192.168.1.10/24 dev bond0
sudo ip link set bond0 up


Настройка коммутатора

На коммутаторах создаём LAG с двумя портами и настраиваем LACP.

Пример для Cisco IOS:

interface Port-channel1
description MLAG to Linux host
switchport mode trunk
!

interface GigabitEthernet1/0/1
channel-group 1 mode active
switchport mode trunk
!

interface GigabitEthernet1/0/2
channel-group 1 mode active
switchport mode trunk
!


И да, если у вас два коммутатора с MLAG (например, Arista или Juniper), они должны быть настроены на работу MLAG и синхронизацию состояния агрегатов.

Ограничения и подводные камни
Linux bonding mode 802.3ad умеет работать только с одним коммутатором, MLAG между коммутаторами — уже задача оборудования и их MLAG протоколов.
Неправильная настройка MLAG или LACP на коммутаторах приведёт к потере пакетов и флуктуирующим состояниям линков.
Балансировка — не всегда равномерная из-за особенностей хеширования.

N.A. ℹ️ Help

Читать полностью…

Network Admin

MLAG без дорогого железа: LACP и Linux bonding в связке

MLAG (Multi-Chassis Link Aggregation Group) — это технология, которая позволяет объединить несколько физических каналов с разных физических устройств (чаще всего коммутаторов) в один логический канал для повышения пропускной способности и отказоустойчивости.

В дата-центрах её обычно делают на дорогом оборудовании Cisco, Juniper, Arista.

Но что если бюджет ограничен, а отказоустойчивость и балансировка нужны? Можно реализовать MLAG на базе Linux с помощью LACP и bonding.

Основные задачи и ограничения
Linux bonding — объединяет несколько интерфейсов в один логический с разными режимами (round-robin, active-backup, LACP).
LACP (802.3ad) — протокол динамической агрегации каналов.
MLAG — предполагает, что к нескольким коммутаторам (или Linux-серверам) подключён один и тот же хост с несколькими каналами, которые агрегируются логически.

На практике Linux bonding с mode=802.3ad умеет работать с одним коммутатором, который поддерживает LACP. 


Для MLAG нужно, чтобы коммутаторы между собой синхронизировали состояние агрегатов и работали как один логический агрегат.

Пример топологии


+--------------------+
| Коммутатор 1 |
+----+------------+--+
| |
+----+ +----+
| |
eth0 (bond0) eth1 (bond0)
| |
+---+---+ +---+---+
| Linux хост (bond0) с двумя NIC |
+------------------------------+


Коммутаторы 1 и 2 объединены MLAG, а Linux хост настроен с bonding mode=802.3ad с двумя интерфейсами.

В следующей части разберем настройку на практике

N.A. ℹ️ Help

Читать полностью…

Network Admin

Протокол BFD - быстрая детекция отказов

BFD — лёгкий протокол для быстрого обнаружения недоступности соседних маршрутизаторов или линков.

Работает поверх UDP и значительно сокращает время реакции сетевого оборудования при сбоях.


Как работает BFD?

Два узла устанавливают BFD-сессию и обмениваются маленькими пакетами «heartbeat» с частотой до нескольких десятков миллисекунд.

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

Интеграция с BGP и OSPF
• В BGP использование BFD сокращает время обнаружения падения соседа с десятков секунд до сотен миллисекунд.
• В OSPF можно включить BFD для всех интерфейсов, чтобы повысить отказоустойчивость.

Пример настройки в FRRouting (FRR)

router bgp 65001
neighbor 192.0.2.2 remote-as 65002
neighbor 192.0.2.2 bfd
!
bfd
interval 50 min_rx 50 multiplier 3


• interval 50 — отправка пакетов каждые 50 мс
• multiplier 3 — считаем сессию упавшей, если три пакета подряд не получены (примерно 150 мс)

Для OSPF:

router ospf
bfd all-interfaces


Проверка статуса

Команда в FRR:

show bfd peers


Показывает состояние BFD сессий и статистику.

N.A. ℹ️ Help

Читать полностью…

Network Admin

Overlay‑сети без Kubernetes: VXLAN для микросервисов и VM вручную

Не всегда для микросервисов нужен Kubernetes или OpenStack. Иногда достаточно пары серверов и лёгкой overlay‑сети, чтобы изолировать сервисы и связать их в едином L2 поверх L3‑инфраструктуры.

Для этого отлично подходит VXLAN (Virtual eXtensible LAN).


Как работает VXLAN

VXLAN инкапсулирует Ethernet‑кадры в UDP‑пакеты (порт 4789).
Это позволяет создать виртуальную L2‑сеть поверх обычной IP‑маршрутизации.

Каждая VXLAN‑сеть идентифицируется VNI (VXLAN Network Identifier) — 24‑битное поле, что даёт до 16 миллионов сегментов.

По сути, у вас появляется свой виртуальный коммутатор, распределённый между хостами.

Настройка вручную

1️⃣На обоих хостах создаём VXLAN‑интерфейс

ip link add vxlan10 type vxlan id 10 \
dev eth0 remote 203.0.113.2 dstport 4789
ip addr add 10.10.10.1/24 dev vxlan10
ip link set vxlan10 up


На втором хосте:

ip link add vxlan10 type vxlan id 10 \
dev eth0 remote 203.0.113.1 dstport 4789
ip addr add 10.10.10.2/24 dev vxlan10
ip link set vxlan10 up


2️⃣Проверяем связность

ping 10.10.10.2 -I vxlan10


Если всё ок — пакеты идут через VXLAN.

3️⃣ Добавляем бридж, если нужно несколько VM

brctl addbr br0
ip link set vxlan10 master br0
ip link set vnet0 master br0


Теперь VM, подключённые к br0, находятся в общей overlay‑сети.

N.A. ℹ️ Help

Читать полностью…

Network Admin

Wi‑Fi 7 на практике: что изменилось и как настраивать (802.11be)

Wi‑Fi 7 (802.11be) — новый стандарт беспроводной связи, который приходит на смену Wi‑Fi 6/6E.

Он обещает до 40 Гбит/с, меньшие задержки и стабильность для потоков AR/VR, видеоконференций и облачного гейминга.

Что нового по сравнению с Wi‑Fi 6?

Ширина каналов до 320 МГц (в Wi‑Fi 6 максимум 160 МГц).
16 потоков MIMO (против 8 в Wi‑Fi 6).
Многоканальная агрегация (MLO) — устройство может использовать одновременно каналы в разных диапазонах (5 ГГц + 6 ГГц).
1024‑QAM → 4096‑QAM — выше скорость на том же спектре.
Задержка < 2 мс в оптимальных условиях.

Настройка на Aruba / Cisco

Aruba (пример через ArubaOS 10):

wlan ssid-profile WIFI7-DEMO
ssid-name "Office-WiFi7"
opmode wpa3-aes
band 5ghz-6ghz
channel-width 320mhz
qos-profile voice


Cisco Catalyst 9800 (пример):

wireless profile policy WIFI7-POLICY
qos wmm
dot11be enable
!
wlan WIFI7 10 WIFI7-DEMO WIFI7-POLICY
security wpa3
band 5ghz 6ghz
channel width 320


Совместимость: устройства без поддержки Wi‑Fi 7 продолжат работать в сетях на базе нового стандарта, но только в режимах Wi‑Fi 6/5. Основные ограничения касаются мульти‑линков (MLO) и диапазона 6 ГГц: первые пока поддерживаются не всеми клиентами, а второй не в каждой стране разрешён регуляторами.

QoS и приоритеты

Для приложений реального времени:

mls qos trust dscp
class-map match-any VOICE
match dscp ef
policy-map WIFI7-QOS
class VOICE
priority percent 30


Такой профиль даст RTP/VoIP максимальный приоритет и снизит джиттер.

N.A. ℹ️ Help

Читать полностью…

Network Admin

Статус-сайт за 10 минут: как следить за аптаймом своих сервисов

Uptime Kuma — простой и красивый инструмент для мониторинга сайтов, серверов и локальных сервисов. Он проверяет доступность, собирает статистику аптайма и отправляет уведомления, если что-то упало.

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

Зачем это нужно?

Сайт перестал открываться - ты узнаешь сразу
VPS внезапно перезагрузился - уведомление уже в почте
Умный дом не отвечает - ты в курсе
Удобная страничка статуса для команды или клиентов

Возможности

Проверка HTTP, ping, TCP-портов, DNS
Частота проверок от 20 секунд
Графики аптайма и задержки
Telegram, email, Discord, Slack и десятки других интеграций
Темы, кастомные домены, доступ по паролю

Установка (через Docker)

Самый быстрый способ — через Docker:

docker run -d \
--name uptime-kuma \
-p 3001:3001 \
-v uptime-kuma:/app/data \
louislam/uptime-kuma


После запуска заходишь на http://localhost:3001 и настраиваешь мониторинг через веб-интерфейс.

Настройка уведомлений

Uptime Kuma умеет отправлять алерты в десятки сервисов. Пример — email:
1️⃣Заводи SMTP-профиль (например, через Gmail или Mailgun)
2️⃣ Добавляешь его в разделе «Уведомления»
3️⃣ Привязываешь к нужному мониторингу

Теперь, если сервер ляжет — тебе придёт письмо через пару секунд.

N.A. ℹ️ Help

Читать полностью…

Network Admin

🎉 С днем системного администратора! 🎉

Сегодня не будет познавательных постов, но будет не менее важное - поздравление! Сегодня - день тех, кто всегда остается за кулисами, но без кого не работает ничего. Это вы начинающие или уже опытные - волшебники командной строки, мастера uptime и защитники серверов от хаоса.

Именно Вы держите на плаву сети, базы данных, почту, бэкапы, мониторинг, безопасность и еще тысячу вещей, о которых никто не догадывается... пока все не сломается, ну или им не покажется, что все сломалось..

Буду короток: пусть в логах будет чисто, аптайм радует глаз, а пользователи не беспокоят в пятницу вечером. А еще - стабильных обновлений, бесшумных серверов и свободного времени для себя.

За вас, сисадмины! С праздником! 🎆

N.A. ℹ️ Help

Читать полностью…
Subscribe to a channel