Серверная Админа | Компьютерные сети
27.1K subscribers
1.13K photos
6 videos
7 files
1.19K links
Я действующий сетевой инженер, расскажу вам о сетях в доступной форме.

Реклама - @bashmak_media
Мы на бирже: https://telega.in/c/school_network

РКН: https://vk.cc/cHYqt5
Download Telegram
👋 Привет, сетевой друг!

Сегодня разберём протокол EAPS, который делает из кольцевой сети сверхбыструю и надёжную

🟣Зачем он: в промышленной или операторской сети кольцо часто используется для резервирования, но стандартное STP медленное. EAPS (Ethernet Automatic Protection Switching) умеет восстанавливаться за миллисекунды, минимизируя потерю трафика.

🟣Как работает: EAPS строит кольцо и назначает один порт контролирующим (manager), остальные - транзитные. Если на любом сегменте происходит разрыв, контролирующий порт мгновенно закрывает один из транзитных портов на другом конце, чтобы трафик перенаправился по кольцу в обратную сторону.

🟣Сходимость: всего 50 мс для полного восстановления на кольце с десятками коммутаторов - почти моментально по сравнению со STP. Трафик продолжает идти без потерь, что критично для VoIP, SCADA и промышленных датчиков.

🟣Фишки: поддержка нескольких колец на одном коммутаторе, интеграция с QoS и VLAN, мониторинг состояния в реальном времени, защита от «двойного разрыва» и автоматическая диагностика.

🟣Безопасность: только авторизованные коммутаторы могут участвовать в EAPS-кольце, а управляющие кадры подписаны для предотвращения подделки.

Серверная Админа | #EAPS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍142😱1👾1
👋 Привет, сетевой друг!

Сегодня расскажу о том, как устроен MAC-адрес

🟣Что это вообще такое: MAC-адрес (Media Access Control) - это 48-битный уникальный идентификатор сетевого интерфейса. Он используется на втором уровне модели OSI для доставки Ethernet-кадров именно в локальной сети. Без MAC-адреса пакеты просто не дойдут до получателя в одной подсети.

🟣Как он устроен: MAC-адрес состоит из 6 байт и делится на две части по 3 байта. Первые три - OUI (Organizationally Unique Identifier), код производителя, который назначает IEEE. Последние три - уникальный номер конкретного устройства, который выдаёт сам производитель.

🟣Особенности первого байта: В нём зашиты два важных бита. Второй бит справа (U/L) определяет: 0 - глобально уникальный адрес (заводской), 1 - локально администрируемый. Первый бит справа (I/G): 0 - unicast (индивидуальный), 1 - multicast (групповой). Это помогает быстро понять тип адреса и даже производителя по OUI.

Серверная Админа | #MAC
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍12🔥4
Сегментация LAN: почему она почти никогда работает

В статье рассказывают, почему сегментация локальной сети почти всегда остаётся на бумаге. Вроде бы есть VLAN’ы, есть правила на firewall, всё выглядит изолированным. Но на практике исключений становится всё больше, старые системы требуют доступа отовсюду, а сотрудники обходят ограничения, потому что иначе работа встаёт. Без постоянного контроля, регулярного аудита и реальной дисциплины даже идеально настроенная сегментация быстро превращается в формальность, которая защищает только на схеме.​​​​​​​​​​​​​​​​

Серверная Админа | #Статья
👍16🤣6😁2🤡2🤔1
👋 Привет, сетевой друг!

Сегодня поговорим об инструменте
wsock-trace

🟣Что это: wsock-trace - это tracing-библиотека для Winsock. Она встраивается между приложением и ws2_32.dll и логирует все сетевые вызовы: socket(), connect(), send(), recv(), select(), AcceptEx() и т.д. По сути, это strace, но для Windows-сокетов.

🟣Чем реально полезен: вы видите не просто факт сетевого вызова, а кто именно его вызвал - файл, строку кода, имя функции, смещение в бинаре. Плюс точные таймстемпы, параметры вызовов и коды ошибок Winsock. Отлично заходит, когда приложение «что-то делает с сетью», но Wireshark не даёт ответа почему.

🟣Как работает: приложение линкуется не с ws2_32.lib, а с wsock_trace.lib. DLL перехватывает вызовы Winsock, логирует вход/выход функций и через PDB-символы восстанавливает стек вызовов. В итоге видно, какая строка кода инициировала сетевую активность и с каким результатом.

🟣Фишки в реальной жизни: цветной вывод, миллисекундные таймстемпы через QueryPerformanceCounter, трейс Microsoft-специфичных функций (ConnectEx, AcceptEx), GeoIP/ASN информация по IP, детект попаданий в Spamhaus DROP-листы, логирование событий Windows Filtering Platform и даже искусственное замедление send/recv для тестов гонок и таймингов.

🟣Быстрый старт: Собирается под MSVC / clang-cl:

cd src
nmake -f makefile.vc6


Дальше линкуете приложение с нужной библиотекой:

wsock_trace-x64.lib   // для x64
wsock_trace-x86.lib // для x86


И запускаете бинарь как обычно, все Winsock-вызовы сразу начинают логироваться.

Серверная Админа | #Инструмент
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94👾1
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Привет, сетевой друг!

Сегодня разберём ещё 5 полезных фишек для Cisco IOS, которые реально экономят время и нервы.

🟣Условная отладка (Conditional Debugging): Вместо того чтобы заливать консоль логами, включайте debug только для конкретного трафика или интерфейса. Экономит CPU и нервы.

debug condition interface Gi1/0/5 debug condition mac 0011.2233.4455 debug ip packet detail no debug all (не забудьте выключить)


🟣Object Tracking + IP SLA для надёжного failover: Настраивайте мониторинг достижимости и автоматически меняйте маршрут или интерфейс при падении.

ip sla 1 icmp-echo 8.8.8.8 source-interface Gi0/0 frequency 5 track 1 ip sla 1 reachability ip route 0.0.0.0 0.0.0.0 10.0.0.1 track 1 ip route 0.0.0.0 0.0.0.0 10.0.0.2 10


🟣Embedded Packet Capture (EPC): Захватывайте пакеты прямо на устройстве без внешнего SPAN - удобно на роутерах, где нет свободных портов.

monitor capture MYCAP interface Gi1/0/1 both match any monitor capture MYCAP start monitor capture MYCAP stop show monitor capture MYCAP buffer brief export: copy monitor capture MYCAP tftp://10.0.0.100/capture.pcap


🟣EEM-скрипты для автоматизации реакции: Пусть устройство само реагирует на события - от перезагрузки порта при ошибках до отправки уведомлений.

event manager applet CLEAR_ERR event syslog pattern “INTERFACE.*UPDOWN.*down” action 1.0 cli command “enable” action 2.0 cli command “conf t” action 3.0 cli command “interface $_syslog_msg” action 4.0 cli command “shutdown” action 5.0 cli command “no shutdown”


🟣NetFlow + Flexible - NetFlow для детального анализа трафика: Стандартный NetFlow уже устарел - используйте Flexible для кастомных ключей и коллекторов.

flow record MYRECORD match ipv4 source address match ipv4 destination address match transport tcp destination-port collect counter bytes long flow exporter MYEXP destination 10.0.0.100 flow monitor MYMON exporter MYEXP record MYRECORD interface Gi1/0/1 ip flow monitor MYMON input


Серверная Админа | #Cisco
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🥴84
👋 Привет, сетевой друг!

Сегодня разберём, в чём разница между Segment Routing и MPLS.

🟣MPLS - проверенная классика. Работает на основе меток (label stacking): ingress-роутер ставит стек меток по заранее рассчитанному LSP (Label Switched Path). Интермедиатные LSR просто свопают верхнюю метку и форвардят по таблице LFIB. Контрольная плоскость - LDP/RSVP-TE. RSVP-TE даёт явные пути, резервирование bandwidth и FRR.

Примеры команд:

show mpls ldp neighbor
show mpls traffic-eng tunnels
interface Gi0/1
mpls ip
mpls traffic-eng tunnels


🟣Segment Routing - современная эволюция, упрощает всё до минимума. Источник (ingress) сам кодирует весь путь в пакете как список сегментов (Segment List) в SR-MPLS это стек меток, в SRv6 - IPv6 Extension Header. Core stateless: промежуточные роутеры просто следуют инструкциям в пакете, без per-flow состояния.

Примеры:

show segment-routing mpls
show isis segment-routing
segment-routing mpls
router isis 1
segment-routing mpls
segment-routing traffic-eng policy LOW-DELAY
color 10 endpoint 10.255.255.255
candidate-paths
preference 100
explicit segment-list PATH1
index 10 mpls label 16010


🟣Короче говоря, MPLS - мощный, но тяжёлый инструмент с состоянием везде и сложным сигналингом. SR - лёгкий, масштабируемый, stateless core, полный контроль на headend, проще автоматизация и миграция. Сейчас многие провайдеры и крупные DC переходят на SR-MPLS/SRv6, оставляя MPLS для легаси или сложных сценариев.

Серверная Админа | #SR #MPLS
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥4👾21
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Привет, сетевой друг!

Сегодня расскажу про 5 команд в Linux, которые могут превратить твой сервер в кирпич.

🟣:(){ :|:& };: Классическая fork-bomb на уровне shell. Процессы начинают порождать сами себя, быстро заканчиваются PID и системные лимиты. Сервер перестаёт отвечать, новые подключения невозможны, лечение обычно одно - жёсткая перезагрузка.

🟣dd if=/dev/random of=/dev/sda: Пишет поток случайных данных напрямую на диск. Данные уничтожаются полностью, а параллельно система получает экстремальную нагрузку на I/O, из-за чего может «зависнуть» ещё до завершения команды.

🟣mount /dev/sda1 /var: Монтирование поверх системного каталога скрывает его содержимое. Для /var это означает мгновенные сбои логов, пакетного менеджера и сервисов, которые ожидают увидеть свои файлы, но получают пустую директорию.

🟣iptables -F: Очищает все правила фильтрации. На удалённом сервере это часто либо потеря SSH-доступа, либо внезапное открытие всех портов наружу - в зависимости от того, как была построена политика.

🟣echo b > /proc/sysrq-trigger: Немедленная перезагрузка ядра без синхронизации файловых систем. Инструмент аварийный, но при ошибочном применении почти гарантирует повреждение данных.

Серверная Админа | #network
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26😱105
Сам себе VoLTE. Запускаем сотовую сеть 4G LTE с поддержкой звонков и SMS

Автор берёт обычные звонки и SMS и показывает, что за ними стоит вполне понятная инженерная система, с которой можно разобраться самому. Это история про то, как из базовой 4G-сети с интернетом дорасти до полноценного LTE с VoLTE: голосом, сообщениями и всей логикой переключений, как у настоящих операторов. По ходу дела становится понятно, что современные звонки это вообще не “голосовой канал” в старом смысле, а IP-сервис с IMS, SIP и контейнерами. И всё это можно собрать у себя дома из SDR-железки, Docker и открытого софта.

Серверная Админа | #Статья
1👏26🔥5👍41👾1
👋 Привет, сетевой друг!

Сегодня продолжим обсуждать инструмент
wsock-trace. Разберем, как использовать инструмент на деле.

🟣Подключаем библиотеку правильно: Вместо стандартной ws2_32.lib приложение нужно линковать с wsock-trace:

wsock_trace-x64.lib   // для x64
wsock_trace-x86.lib // для x86


Сборка выполняется из каталога src:

nmake -f makefile.vc6


Критично, чтобы бинарь собирался с debug-символами:

cl /Zi /Zo source.c wsock_trace-x64.lib
link /debug


Без PDB стек вызовов и строки кода восстановлены не будут.

🟣Смотрим инициализацию сетевого стека: Первое, что видно в трейсе - реальный момент старта Winsock:

WSAStartup(MAKEWORD(2,2), &wsa);


В выводе сразу видно, где именно в коде произошёл вызов, и не инициализируется ли стек несколько раз разными библиотеками.

🟣Анализируем создание и настройку сокетов. Создание сокета:

socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);


Перевод в неблокирующий режим:

ioctlsocket(sock, FIONBIO, &mode);


Установка опций:

setsockopt(sock, SOL_SOCKET, SO_LINGER, &linger, sizeof(linger));
setsockopt(sock, IPPROTO_IP, IP_TTL, &ttl, sizeof(ttl));


wsock-trace сразу показывает неверные аргументы, которые в обычных логах не видны.

🟣Диагностика зависших connect и select. Установка соединения:

connect(sock, (struct sockaddr*)&addr, sizeof(addr));


Работа с ожиданием событий:

select(nfds, &readfds, &writefds, NULL, &timeout);
FD_ISSET(sock, &readfds);


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

🟣Передача данных и тайминги. Отправка и приём:

send(sock, buf, len, 0);
recv(sock, buf, len, 0);
recvfrom(sock, buf, len, 0, &from, &fromlen);


Каждый вызов сопровождается точным таймстемпом через QueryPerformanceCounter, количеством байт и направлением трафика. Это позволяет увидеть, где именно появляются задержки.

При необходимости можно искусственно замедлить сеть через конфиг:

recv_delay = 50
send_delay = 20


Серверная Админа | #Инструмент
Please open Telegram to view this post
VIEW IN TELEGRAM
👏10
От отключения хостером до полной стабильности
Как CURATOR защитил 3DNews и ServerNews от DDoS и ускорил доставку контента


Атака почти 3000 Мбит/с — и хостер 3DNews «падает» меньше чем за полчаса, просто отключив сеть.
Для медиа это катастрофа: простой, потеря трафика и удар по репутации.

Команда CURATOR подключилась в самый критичный момент и быстро вернула сайт к жизни. Подробнее о том, как это было сделано - в карточках.

Этот и другие реальные кейсы, а также экспертная информация в области кибербезопасности — в канале CURATOR.
4🤡2🤣21😁1
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Привет, сетевой друг!

Расскажу еще о 3 способах прокачать защиту Mikrotik.

🟣Контроль аномалий через connection-limit + address-list (тихий брут и паразитные клиенты): Не весь вред выглядит как флуд. Часто это «тихий» перебор соединений - VPN, SSH, API, SIP. Ограничиваем число одновременных сессий и сразу складываем источник в список.

/ip firewall filter
add chain=input protocol=tcp dst-port=22,8291 \
connection-limit=3,32 \
action=add-src-to-address-list \
address-list=conn_abusers address-list-timeout=1h \
comment="Too many parallel connections"

add chain=input src-address-list=conn_abusers action=drop \
comment="Drop connection abusers"


🟣Изоляция сервисов через VRF + firewall (management plane protection): Даже если сервисы защищены паролями, лучше вообще не показывать их миру. Выносим управление в отдельный VRF и физически изолируем plane управления от пользовательского трафика.

/ip vrf
add name=mgmt_vrf interfaces=ether1-mgmt

/ip firewall filter
add chain=input in-interface=ether1-mgmt action=accept comment="Mgmt only"
add chain=input action=drop comment="Drop all other input"


В итоге Winbox, SSH, API существуют в отдельной логической реальности. С WAN до них просто нет маршрута.

🟣L7-профили не для блокировки, а для триггеров: Layer7 часто ругают за нагрузку, но его можно использовать точечно, как детектор, а не фильтр. Например, ловим подозрочные HTTP-сигнатуры и реагируем адрес-листом.

/ip firewall layer7-protocol
add name=bad_http regexp="(sqlmap|nikto|acunetix)"

ip firewall filter
add chain=forward layer7-protocol=bad_http \
action=add-src-to-address-list \
address-list=l7_suspects address-list-timeout=1d \
comment="Detect scanners via L7"

add chain=forward src-address-list=l7_suspects action=drop \
comment="Drop L7 scanners"


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

🟣И ловите бонус: контроль самой защиты. Любая защита должна быть наблюдаемой. Минимум - логирование триггеров, а максимум - отдельный syslog.

/system logging
add topics=firewall action=memory
add topics=firewall action=remote


Серверная Админа | #Mikrotik
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3