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

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

РКН: https://vk.cc/cHYqt5
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
👋 Привет, сетевой друг!

Расскажу, в чём разница протокола MPLS с некоторыми другими.

🟣MPLS vs IP-маршрутизация: обычный IP смотрит на заголовок каждого пакета на каждом хопе и принимает решение заново. MPLS навешивает метку на входе в сеть и дальше пакет летит по заранее построенному пути — без повторного анализа заголовков на каждом роутере.

🟣MPLS vs SD-WAN: SD-WAN управляет трафиком программно поверх любых каналов, включая интернет. MPLS даёт гарантированные параметры качества, но требует выделенной инфраструктуры оператора. SD-WAN дешевле, MPLS предсказуемее.

🟣MPLS vs GRE-туннели: GRE просто оборачивает пакет в новый заголовок и тащит через туннель. MPLS строит инженерные пути с учётом нагрузки, приоритетов и резервирования. GRE проще настроить, MPLS даёт больше контроля над трафиком в крупных сетях.

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

Сегодня разберём BGP communities - как с их помощью управлять маршрутами без отдельных политик на каждый префикс.

🟣Community это метка на маршруте в формате AS:значение. Роутер видит метку и применяет заранее прописанную политику - не нужно прописывать каждый префикс отдельно.

🟣Навешиваем community на исходящие маршруты:

route-map SET_COMMUNITY permit 10
set community 65000:100

router bgp 65000
neighbor 10.0.0.1 route-map SET_COMMUNITY out


🟣На принимающей стороне фильтруем по метке:

ip community-list standard PREF100 permit 65000:100

route-map RECV_POLICY permit 10
match community PREF100
set local-preference 200


Маршруты с меткой 65000:100 получают повышенный local-preference и становятся предпочтительными.

🟣Операторы используют well-known communities для управления распространением маршрутов:

# Не анонсировать маршрут дальше
set community no-export

# Не анонсировать клиентам, только пирам
set community no-advertise


🟣Смотрим community на принятых маршрутах:

show ip bgp community 65000:100
show ip bgp neighbors 10.0.0.1 received-routes


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

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

🟣Torch в реальном времени - кто грузит канал прямо сейчас:

/tool torch interface=ether1 src-address=0.0.0.0/0


Показывает топ потоков с IP, протоколом и скоростью. Быстрее чем любой внешний монитор когда нужно найти источник нагрузки за секунды.

🟣Bandwidth test между двумя Mikrotik - измеряем реальную пропускную способность канала, а не теоретическую:

# На одном роутере запускаем сервер
/tool bandwidth-server set enabled=yes

# На втором — тест
/tool bandwidth-test address=10.0.0.1 direction=both duration=10s


Показывает TX и RX отдельно. Полезно после замены оборудования или кабеля - сразу видно где просадка.

🟣SNMP + Grafana для истории: встроенный мониторинг показывает текущее, но не хранит историю. Включаем SNMP и забираем метрики:

/snmp set enabled=yes community=public
/snmp community set name=public addresses=10.0.0.5/32


Дальше Prometheus с SNMP exporter или Zabbix забирают метрики каждые 30 секунд. Через неделю видно паттерны нагрузки, пики и деградацию каналов по времени суток.

Серверная Админа | Бункер Хакера | #Mikrotik
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍122
После включения PBR часть трафика всё равно идёт по обычной таблице маршрутизации. В чем тут причина:
Anonymous Quiz
8%
PBR не поддерживается на платформе
50%
Трафик не попадает под match условие
24%
Route-map применён не на тот интерфейс
18%
Неверный next-hop в route-map
1
Не все поймут…

👨‍💻Серверная Админа | #мем
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣40😁5🌚1🍌1
Какой протокол используется для управления подписками на IPv6 multicast-группы?
Anonymous Quiz
39%
IGMP
25%
MLD
20%
PIM-SM
17%
RSVP
👍131👏1
Крастерский маршрутизатор на FreeBSD из старого компа

В статье - история, как старый компьютер из-под дивана превращают в полноценный домашний роутер на FreeBSD. Всё начинается с простой проблемы: одна загрузка, и интернет ложится на всех устройствах. Автор по ходу разбирается, как вообще устроен маршрутизатор: делит сеть на «внешнюю» и «внутреннюю», поднимает базовые сервисы, настраивает firewall на PF и расставляет приоритеты трафика.

Серверная Админа | Zeroday | #Статья
👍15🍌1
👋 Привет, сетевой друг!

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

🟣Что это: L0P4Map - GUI-обёртка вокруг классических сетевых техник: ARP-скан, nmap, баннер-граббинг. Плюс сверху интерактивная карта сети, где видно, кто с кем связан и какие сервисы торчат наружу.

🟣Как работает: сначала быстрый ARP-скан находит хосты в сети, дальше подтягиваются hostname (DNS, NetBIOS, mDNS), а по выбранным узлам запускается nmap с нужными опциями, и результат сразу визуализируется в виде графа.

🟣Особенности:
• комбинация ARP discovery + полноценный nmap
• интерактивная топология сети с обновлением в реальном времени
• баннер-граббинг (SS , HTTP, SMB и т.д.)
• поиск уязвимостей через nmap-скрипты и CVE-базы
• экспорт сканов и графов
• live-режим с автообновлением

🟣Как запустить:
git clone https://github.com/HaxL0p4/L0p4Map.git
cd L0P4Map
pip install -r requirements.txt
sudo chmod +x L0p4Map.sh
sudo ./L0p4Map.sh


🟣Дальше: выбираем интерфейс → SCAN → смотрим хосты → PORT SCAN для деталей → переходим в graph view

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

Сегодня разберём настройку NetFlow/sFlow для видимости трафика в сети, когда нужно понимать не “что сломалось”, а “что вообще происходит”.

🟣Включаем экспорт NetFlow на роутере:

ip flow-export destination 10.0.0.100 2055
ip flow-export version 9
ip flow-export source GigabitEthernet0/1
ip flow-cache timeout active 1


Смысл здесь в том, что роутер начинает слать агрегированную статистику по потокам на collector.

🟣Для sFlow (на коммутаторах чаще):

sflow enable
sflow collector 10.0.0.100
sflow polling-interval 30
sflow sampling-rate 1000


Sampling-rate определяет, как часто берутся пакеты (важен баланс точность/нагрузка).

🟣Проверяем, что поток реально идёт:

tcpdump -i eth0 port 2055
или для sFlow:
tcpdump -i eth0 port 6343


🟣Смотрим базовые метрики потоков (на collector):
• top talkers (кто грузит сеть)
• top destinations (куда уходит трафик)
• ports distribution (какие сервисы доминируют)
• spikes по времени

🟣Типовая настройка фильтрации (чтобы не утонуть в данных):

match ip protocol tcp
collect counter bytes packets


🟣В общем, NetFlow/sFlow дают не пакеты, а картину поведения сети
можно видеть DDoS
до падения
можно находить “скрытые” бэкапы и утечки трафика
можно строить baseline нормальной нагрузки

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

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

🟣rp_filter (защита от асимметричной маршрутизации):

sysctl -w net.ipv4.conf.all.rp_filter=2
sysctl -w net.ipv4.conf.eth0.rp_filter=2


Помогает отлавливать ситуации, когда входящий и исходящий трафик идут разными путями и ломают stateful логику.

🟣SO_REUSEPORT для балансировки входящих соединений:
Используется в сервисах, чтобы несколько процессов слушали один порт и ядро распределяло подключения.
Пример (концептуально в коде сервиса):

setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &opt, sizeof(opt));


Полезно при высоком RPS на API.

🟣TCP keepalive tuning (чтобы не держать “мертвые” соединения):

sysctl -w net.ipv4.tcp_keepalive_time=600
sysctl -w net.ipv4.tcp_keepalive_intvl=30
sysctl -w net.ipv4.tcp_keepalive_probes=5


Убирает зависшие соединения за NAT и балансировщиками.

🟣Netfilter conntrack hash sizing:

sysctl -w net.netfilter.nf_conntrack_max=262144
cat /proc/sys/net/netfilter/nf_conntrack_count


Если таблица переполняется - начинаются “рандомные” дропы новых соединений без явных ошибок.

🟣ECN (Explicit Congestion Notification):

sysctl -w net.ipv4.tcp_ecn=1


Позволяет сети сигнализировать о перегрузке без потери пакетов - снижает latency под нагрузкой (если путь поддерживает).

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

Сегодня разберу YANG - язык моделирования данных, без которого современная сетевая автоматизация не работает.

🟣Что делает YANG: описывает структуру конфигурации и состояния сетевых устройств. Это как схема базы данных, только для роутеров и свитчей. NETCONF и RESTCONF используют YANG-модели чтобы знать, какие данные можно читать и изменять и в каком формате.

🟣Без YANG каждый вендор придумывает свою структуру данных. С YANG есть стандартные модели - openconfig и ietf, которые одинаково работают на Cisco, Juniper и Huawei. Один скрипт автоматизации для всего зоопарка.

🟣Как выглядит YANG-модель:

module ietf-interfaces {
container interfaces {
list interface {
key "name";
leaf name {
type string;
}
leaf description {
type string;
}
leaf enabled {
type boolean;
default true;
}
}
}
}


🟣Смотрим какие модели поддерживает устройство через NETCONF:

from ncclient import manager

with manager.connect(host="10.0.0.1", port=830,
username="admin", password="pass",
hostkey_verify=False) as m:
caps = m.server_capabilities
for cap in caps:
if "yang" in cap:
print(cap)


🟣Инструменты для работы с моделями: pyang валидирует и конвертирует YANG-файлы, yangsuite от Cisco позволяет визуально исследовать модели и сразу строить NETCONF-запросы.

pyang -f tree ietf-interfaces.yang


Серверная Админа | Zeroday | #Yang
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👾1
QoS настроен, но маркировка DSCP слетает на границе провайдера. Решение:
Anonymous Quiz
47%
Remarking на входящем интерфейсе PE
21%
Перемаркировать на источнике
17%
Увеличить bandwidth
15%
Настроить WRED
👍6😱2
Model Context Protocol (MCP): как ИИ-агенты «разговаривают» с внешним миром

В статье разбирается механика MCP: как через OpenAI-совместимый API модель получает список tools, как она вместо ответа возвращает tool_calls, почему content = null и finish_reason = "tool_calls" - это сигнал выполнить действие. Показано, что LLM не вызывает инструменты напрямую, а делегирует это хосту, который через JSON-RPC общается с MCP-сервером (stdio или HTTP), получает результат и возвращает его в диалог с ролью tool.

Серверная Админа | Zeroday | #Статья
3👍2
👋 Привет, сетевой друг!

Сегодня про Advanced PortChecker - GUI-утилита для проверки портов, которую реально удобно иметь под рукой.

🟣Что это: десктоп-приложение на Tauri, проверяет открыт ли порт на любом хосте. Можно скидывать сразу несколько портов, результаты экспортируются в TXT, CSV или JSON.

🟣Когда пригождается: не хочется каждый раз вспоминать флаги nc или nmap, нужно быстро проверить пару портов и отдать результат в читаемом виде коллеге или в тикет.

🟣Сборка:

git clone https://github.com/CodeDead/Advanced-PortChecker
cd Advanced-PortChecker
yarn tdev # запустить в dev-режиме
yarn tbuild # собрать под свою платформу


Собирается под Windows, Linux и macOS - один и тот же yarn tbuild, разный результат в зависимости от хоста.

🟣Если GUI не нужен, те же задачи в терминале:

nc -zv host 443
nc -zv host 80 443 8080


Но экспорта тут не будет, так что для отчётов Advanced PortChecker удобнее.

Серверная Админа | Zeroday | #Инструмент
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94👾1
📝 JWT: три строки, которые заменяют сессию

🟣Как работает авторизация через JWT: клиент отправляет логин и пароль, сервер проверяет и выдаёт токен. Дальше клиент при каждом запросе кладёт его в заголовок Authorization, сервер проверяет подпись и отдаёт ресурс. Никакой сессии на сервере, никакой базы с токенами.

Authorization: Bearer eyJhbGciOiJIUzI1NiJ9...


🟣Что внутри токена: три части, разделённые точкой, каждая в Base64-URL.

1️⃣Header - тип токена и алгоритм подписи:

{"alg": "HS256", "typ": "JWT"}


2️⃣Payload - claims, данные о пользователе и метаданные:

{"sub": "1234567", "role": "admin", "exp": 1714000000}


3️⃣Signature - подпись, которая гарантирует целостность:

HMACSHA256(base64(header) + "." + base64(payload), secret)


🟣Почему подпись важна: payload читается без ключа, он просто Base64. Но изменить его и сохранить валидную подпись без секретного ключа нельзя. Именно поэтому JWT не шифрует данные, а только подписывает их.

🟣Что важно не забыть: exp - время истечения токена, без него токен живёт вечно. Алгоритм none в header - классическая атака, сервер обязан его отвергать. Чувствительные данные в payload лучше не класть, любой может его прочитать.

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

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

🟣Netwatch с автовосстановлением: встроенный мониторинг хостов, который умеет не просто сигналить, а делать что-то при падении. Например, переключать маршрут или перезапускать туннель:

/tool netwatch
add host=8.8.8.8 interval=10s timeout=2s \
up-script="/ip route set [find comment=backup] disabled=yes" \
down-script="/ip route set [find comment=backup] disabled=no"


Основной канал упал - резервный маршрут включается автоматически. А если поднялся, значит отключается обратно. Без сторонних скриптов и cron.

🟣Fetch для мониторинга внешних ресурсов прямо из роутера: Mikrotik умеет делать HTTP-запросы из скриптов. Удобно для получения динамических списков блокировок или обновления address-list с внешнего сервера:

/tool fetch url="https://example.com/blocklist.txt" dst-path=blocklist.txt

/ip firewall address-list remove [find list=dynamic-block]
:local data [/file get blocklist.txt contents]
:foreach line in=[:toarray $data] do={
/ip firewall address-list add list=dynamic-block address=$line
}


Запускается по расписанию, address-list всегда актуален.

🟣VRRP preemption delay для стабильного переключения: при стандартных настройках мастер восстановился и сразу забрал роль обратно - даже если каналы ещё не подняты. Добавляем задержку:

/interface vrrp
set [find name=vrrp1] preemption-mode=yes preempt-delay=30


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

Серверная Админа | Бункер Хакера | #Mikrotik
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18
📝 Винт Серф: человек, который придумал язык интернета

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

🟣В начале 70-х ARPANET уже существовал, но соединял только несколько университетов и работал по одному протоколу. Проблема была в другом: как заставить разные сети с разным железом и разными протоколами общаться между собой. Никто не знал ответа.

🟣Винт Серф вместе с Бобом Каном сели решать именно эту задачу. В 1974 году они опубликовали статью с описанием TCP, протокола который разбивает данные на пакеты, отправляет их любым маршрутом и собирает обратно на другом конце. Позже TCP разделили на два: TCP отвечал за надёжную доставку, IP за адресацию и маршрутизацию.

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

🟣1 января 1983 года ARPANET официально переключился на TCP/IP. Этот день называют днём рождения интернета. Серфу тогда было 40 лет.

🟣Позже он работал в DARPA, MCI, Google. Продвигал IPv6 когда адреса IPv4 заканчивались. Выступал за открытость сети когда корпорации начали строить закрытые экосистемы.

🟣Каждый раз когда браузер открывает страницу, почта доходит до адресата или видеозвонок не рассыпается, это работает протокол, придуманный им полвека назад в университетском кабинете.

Серверная Админа | Бункер Хакера | #network
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥134👍2
Пора начинать использовать интернет как в конце 90-х

В статье интернет разбирают без привычного фасада - не как TikTok-ленту и рекомендации, а как набор протоколов, где всё ещё можно управлять потоком данных самому. Идея простая: современный веб перегружен алгоритмами, трекингом, AI-слопом, поэтому вместо борьбы с этим шумом проще выйти из него, вернуться к RSS вместо лент, IRC/XMPP вместо «умных» мессенджеров, точечному поиску вместо «гуглить как все», локальному архивированию вместо доверия ссылкам.

Серверная Админа | Zeroday | #Статья
👍28🤡21🤔1👾1
👋 Привет, сетевой друг!

Сегодня про python3-nmap - библиотеку, которая превращает nmap в нормальный Python API.

🟣Что это: обёртка над nmap, где каждая команда становится вызовом функции. Не нужно помнить флаги, парсить текстовый вывод или городить subprocess. Запустил метод - получил JSON с результатами.

🟣Зачем это нужно: nmap мощный, но встраивать его в скрипты неудобно. Парсить вывод хрупко - формат может отличаться в зависимости от версии и флагов. python3-nmap убирает эту боль и возвращает структурированные данные сразу.

🟣Что умеет: сканирование топ-портов, определение версий сервисов, детекция ОС, DNS-брут для поддоменов, техники сканирования (SYN, FIN, UDP, idle), обнаружение хостов через ARP. Каждая техника - отдельный метод, не нужно держать в голове синтаксис.

🟣Установка простая:

pip3 install python3-nmap
apt-get install nmap


nmap должен быть установлен на системе - библиотека вызывает его под капотом.

🟣Важный момент: часть сканов требует root. Определение ОС, SYN-сканирование, сканирование подсетей, всё это нужно запускать через sudo. Без прав получишь ошибку ещё до начала сканирования.

Делаем вторую часть уже о том, как использовать этот тул?

Серверная Админа | Zeroday | #Инструмент
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍3💯1