Network Admin
Обучающий канал по сетевому и системному администрированию. Сотрудничество: @dad_admin Биржа: https://telega.in/c/networkadm РКН: https://bit.ly/4ioc61C
Ko'proq ko'rsatish📈 Telegram kanali Network Admin analitikasi
Network Admin (@networkadm) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 12 465 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 10 170-o'rinni va Rossiya mintaqasida 53 104-o'rinni egallagan.
📊 Auditoriya ko‘rsatkichlari va dinamika
невідомо sanasidan buyon loyiha tez o‘sib, 12 465 obunachiga ega bo‘ldi.
05 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -33 ga, so‘nggi 24 soatda esa 1 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.
- Tasdiqlash holati: Tasdiqlanmagan
- Jalb etish (ER): Auditoriya o‘rtacha 16.93% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 8.18% ini tashkil etuvchi reaksiyalarni to‘playdi.
- Post qamrovi: Har bir post o‘rtacha 2 110 marta ko‘riladi; birinchi sutkada odatda 1 020 ta ko‘rish yig‘iladi.
- Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 14 ta reaksiya keladi.
- Tematik yo‘nalishlar: Kontent vlan, arp, интерфейс, ping, dhcp kabi asosiy mavzularga jamlangan.
📝 Tavsif va kontent siyosati
Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Обучающий канал по сетевому и системному администрированию.
Сотрудничество: @dad_admin
Биржа: https://telega.in/c/networkadm
РКН: https://bit.ly/4ioc61C”
Yuqori yangilanish chastotasi (oxirgi ma’lumot 06 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.
read() работает так: ядро копирует данные из page cache в буфер в user space.Два адресных пространства, одна лишняя копия на каждый вызов. При больших файлах это накапливается. mmap отображает файл прямо в виртуальное адресное пространство процесса. Никакой копии, процесс читает данные напрямую из page cache через указатель. Первое обращение к странице вызывает page fault, ядро подгружает её с диска, дальше доступ как к обычной памяти.
На больших файлах с последовательным чтением разница заметна: меньше syscall-ов, меньше копирований, меньше переключений контекста.Именно поэтому базы данных, поисковые движки и компиляторы используют mmap для работы с большими структурами данных. Когда mmap медленнее При случайном доступе к очень большому файлу mmap генерирует много мелких page fault-ов. Каждый fault это обращение к ядру, TLB miss, возможно диск. read() с большим буфером читает последовательно и prefetch работает лучше.
На NUMA-системах mmap может давать неожиданные результаты: страницы аллоцируются на одном узле, процесс работает на другом, латентность растёт.⏺При записи mmap требует явного msync() чтобы гарантировать сброс на диск. Легко забыть, данные теряются при падении процесса. Смотрим page fault-ы конкретного процесса:
/usr/bin/time -v ./myprogram 2>&1 | grep "Page faults"
perf stat -e page-faults ./myprogram
N.A.# /etc/systemd/network/vlan10.netdev
[NetDev]
Name=eth0.10
Kind=vlan
[VLAN]
Id=10
# /etc/systemd/network/vlan10.network
[Match]
Name=eth0.10
[Network]
Address=192.168.10.1/24
Gateway=192.168.10.254
VLAN 20 аналогично, меняем Id и адреса.
Привязываем физический интерфейс
Физический интерфейс должен знать что он trunk и какие VLAN на нём живут:
# /etc/systemd/network/eth0.network
[Match]
Name=eth0
[Network]
VLAN=eth0.10
VLAN=eth0.20
Применяем:
systemctl restart systemd-networkd
Проверка
ip -d link show eth0.10
ip addr show eth0.10
networkctl status eth0.10
networkctl status покажет состояние интерфейса, привязанные адреса и есть ли carrier.
N.A.sysctl net.ipv4.conf.all.accept_redirects
sysctl net.ipv4.conf.all.send_redirects
1 означает включено. Отключаем:
sysctl -w net.ipv4.conf.all.accept_redirects=0
sysctl -w net.ipv4.conf.all.send_redirects=0
echo "net.ipv4.conf.all.accept_redirects=0" >> /etc/sysctl.conf
echo "net.ipv4.conf.all.send_redirects=0" >> /etc/sysctl.conf
На Cisco роутер по умолчанию отправляет redirects. Отключаем на интерфейсе:
interface Gi0/0 no ip redirects⏺Отдельная история с secure_redirects: Linux по умолчанию принимает redirects только от шлюзов из своей таблицы маршрутизации. Это частичная защита, но не полная: если атакующий находится на том же сегменте что и шлюз, ограничение не помогает.
sysctl net.ipv4.conf.all.secure_redirects
N.A.wg genkey | tee /etc/wireguard/server_private.key | wg pubkey > /etc/wireguard/server_public.key
Конфиг сервера /etc/wireguard/wg0.conf:
[Interface] PrivateKey = <server_private_key> Address = 10.0.0.1/24 ListenPort = 51820 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE [Peer] PublicKey = <client_public_key> AllowedIPs = 10.0.0.2/32Включаем форвардинг и поднимаем интерфейс:
sysctl -w net.ipv4.ip_forward=1
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
wg-quick up wg0
systemctl enable wg-quick@wg0
Клиент
wg genkey | tee /etc/wireguard/client_private.key | wg pubkey > /etc/wireguard/client_public.key
Конфиг клиента:
[Interface] PrivateKey = <client_private_key> Address = 10.0.0.2/24 DNS = 1.1.1.1 [Peer] PublicKey = <server_public_key> Endpoint = <server_ip>:51820 AllowedIPs = 0.0.0.0/0 PersistentKeepalive = 25
wg-quick up wg0Проверка
wg show
ping 10.0.0.1
curl ifconfig.me
wg show покажет активные peer-ы, последнее рукопожатие и переданный трафик. Если handshake давно не было, туннель не установлен.
N.A.Или часть хопов показывает латентность выше чем финальный хост. Выглядит как проблема, но чаще всего это просто нормальная работа интернета.⏺IP-маршрутизация не гарантирует симметрию. Пакет от тебя до хоста и пакет обратно идут независимо, каждый по своей таблице маршрутизации на каждом хопе. BGP на разных AS выбирает пути по своим политикам, и нет никакого механизма который бы согласовывал прямой и обратный путь. Латентность растёт а потом падает к финальному хопу, это тоже не аномалия. Промежуточные роутеры отвечают на TTL exceeded с низким приоритетом, часто через менее оптимальный интерфейс. Финальный хост отвечает нормально. Цифры на хопах показывают не задержку пути а задержку до конкретного роутера с его стороны. Смотрим путь в обе стороны:
traceroute 8.8.8.8
mtr --report 8.8.8.8
mtr показывает потери и латентность в реальном времени по каждому хопу, намного информативнее одного traceroute.
Когда асимметрия это реальная проблема: stateful firewall или NAT на пути видит только половину сессии. Пакеты в одну сторону проходят, в другую дропаются потому что состояние соединения не было установлено через этот узел.
mtr --report --report-cycles 20 <IP>
Если конкретный хоп показывает стабильные потери только в одну сторону, вот где проблема.
N.A.Если area 0 разваливается на части, OSPF не пересчитывает маршруты в обход, он просто перестаёт видеть часть сети.Два роутера в area 0 потеряли связь между собой. Каждый считает что его кусок backbone и есть вся сеть. Area которые висят за каждым из них становятся недостижимы с другой стороны. Никаких fallback, никакого альтернативного пути если он не был настроен заранее. Смотрим что происходит с соседями и LSA:
show ip ospf neighbor show ip ospf database show ip ospf database summaryЕсли в базе данных пропали LSA от роутеров на другой стороне разрыва, связность потеряна. Маршруты до их сетей исчезнут из таблицы маршрутизации.
show ip route ospfВременное решение пока чинится физика: virtual-link через транзитную area. Натягиваем логический туннель между двумя ABR через area которая ещё жива:
router ospf 1 area 1 virtual-link <router-id соседнего ABR>На обоих ABR с обеих сторон разрыва. Virtual-link восстанавливает связность area 0 поверх transit area. N.A.
➖Вспомним теорию — зачем вообще нужен MPLS и почему его называют «L2.5» ➖L2VPN Martini mode ➖L2VPN Kompella mode🎙 Спикер: Алексей Листаров — инженер с многолетним опытом работы в крупном операторе связи. Сертифицированный преподаватель нашего авторизованного учебного центра Академии Eltex. 🔗 Регистрация Готовьте свои вопросы по конфигурации, будем разбираться вместе! #eltex #eltexcm #webinar #вебинар #esr #mpls #kompella #martini #mode @eltexcm #реклама О рекламодателе
show vlan brief show interfaces trunkЕсли VLANы не созданы или транк не поднят, вот оно. STP выбрал новый коммутатор Root Bridge потому что у него меньший MAC или приоритет не был выставлен. Топология пересчиталась, часть портов ушла в blocking. Хосты за этими портами недоступны.
show spanning-tree show spanning-tree detail | include rootСмотрим кто стал Root и почему. Если новый коммутатор, выставляем приоритет обратно на нужное железо:
spanning-tree vlan 1 priority 4096Старый коммутатор работал с negotiated duplex или speed, новый договорился иначе. Часть портов поднялась в half-duplex, отсюда коллизии и потери.
show interfaces Gi0/1 | include duplexЕсли видим half-duplex там где не должно быть, фиксим явно:
interface Gi0/1 duplex full speed 1000N.A.
Оба держат один виртуальный IP, оба отвечают на ARP-запросы своим MAC.Клиенты в этот момент делятся на два лагеря в зависимости от того чей ARP-ответ пришёл последним. Половина трафика идёт через один роутер, половина через другой. Если маршруты на них разные, часть сессий рвётся, часть работает. Отлаживать это неприятно потому что проблема плавающая и воспроизводится через раз. Смотрим состояние HSRP и кто сейчас Active:
show standby brief show standbyЕсли оба показывают Active, split-brain в действии. Проверяем доступность между роутерами:
ping <IP соседнего роутера> source <интерфейс HSRP>Чаще всего причина не в роутерах а в коммутаторе между ними: упал транк, слетел VLAN, сработал STP. Hello-пакеты не проходят, оба уходят в Active.
show interfaces trunk show spanning-tree vlan <ID>N.A.
Подключил кто-то в офисе домашний роутер к корпоративной сети, или подняли новый DHCP и старый не выключили. Оба слышат broadcast, оба отвечают.Клиент берёт первый пришедший offer. Не правильный, а именно первый. Если левый сервер ответил быстрее, клиент получает адрес из чужого пула, чужой шлюз, чужой DNS. Настроен, но в сеть не ходит или ходит куда не надо. Хуже когда пулы пересекаются: два клиента получают одинаковый IP и оба теряют связь. Без каких-либо ошибок на их стороне. Смотрим кто вообще отвечает на DHCP в сегменте:
sudo tcpdump -i eth0 port 67 or port 68 -n
nmap --script broadcast-dhcp-discover
Если в выводе несколько Server Identifier, проблема подтверждена.
Лечится DHCP Snooping на коммутаторе: офферы разрешены только с доверенных портов, со всех остальных дропаются:
ip dhcp snooping ip dhcp snooping vlan 10 interface Gi0/1 ip dhcp snooping trust interface range Gi0/2 - 24 no ip dhcp snooping trustN.A.
# Проверка доступности линка между хостами через CFM Continuity Check
eth-oam-ccm -i eth0 -m 1 -t 10
Где -i — интерфейс, -m — Maintenance Association ID, -t — интервал в секундах.
Для интеграции с FRRouting можно настроить уведомления о недоступности линка и динамически изменять маршруты.
Например, при падении линка BGP-сессия будет разорвана и маршруты уйдут на резервный путь.
Дополнительно можно использовать Loopback и Link Trace для диагностики проблем:
# Loopback запрос к соседнему устройству
eth-oam-lb -i eth0 -m 1
# Trace путь до узла через L2
eth-oam-lt -i eth0 -m 1 -d <MAC-адрес-соседа>
N.A.Крупнейшие точки обмена: DE-CIX во Франкфурте, AMS-IX в Амстердаме, MSK-IX в Москве. Через DE-CIX проходит больше 10 Тбит/с в пике.Как устроено внутри Физически IX это один большой коммутатор (или несколько связанных), к которому все участники подключают свои роутеры. Эта общая среда называется IXP fabric. Каждый участник получает порт и IP-адрес в общей подсети IX. Дальше всё через BGP. Каждый участник поднимает BGP-сессии с теми с кем хочет обмениваться трафиком, анонсирует свои префиксы и получает чужие. Никакой автоматики, только явные пиринговые договорённости. Route Server Чтобы не поднимать сотни BGP-сессий с каждым участником отдельно, большинство IX предоставляют Route Server. Подключаешься к одному RS, получаешь маршруты от всех участников кто тоже подключён к RS. Можно фильтровать что принимать и что анонсировать.
router bgp 65001 neighbor 193.178.185.1 remote-as 65000 neighbor 193.178.185.1 description MSK-IX Route ServerКак трафик идёт внутри Пакет от пользователя провайдера А до сервера в сети провайдера Б: роутер А смотрит BGP-таблицу, видит что префикс Б получен через IX, отправляет пакет напрямую на роутер Б через IXP fabric. Транзитный провайдер не участвует, задержка меньше, стоимость ниже. N.A.
Отправитель получает сообщение, уменьшает размер сегмента и пробует снова. Это называется Path MTU Discovery и работает хорошо в теории.На практике многие сети и файерволы блокируют ICMP полностью. Сообщение Fragmentation Needed не доходит, отправитель продолжает слать большие пакеты, они дропаются без каких-либо уведомлений. Симптом характерный: мелкие запросы проходят нормально, крупные зависают или обрываются. Проверяем реальный Path MTU до хоста и тестируем конкретный размер пакета:
tracepath 8.8.8.8
ping -M do -s 1400 8.8.8.8
Если ping с -M do (don’t fragment) падает на определённом размере, MTU на пути именно там.
Как фиксить
Выставляем MTU вручную на туннельном интерфейсе:
ip link set dev tun0 mtu 1420
Для PPPoE на Cisco MSS clamp ограничивает размер TCP-сегментов на уровне роутера, не давая клиентам использовать значения выше допустимого:
interface Dialer0 ip tcp adjust-mss 1452N.A.
Благодаря этому коммутатор находит совпадение для любого пакета за одну операцию, независимо от размера таблицы. Именно поэтому железо форвардит трафик на линейной скорости.Почему TCAM дорогой и ограниченный TCAM потребляет в 5-10 раз больше энергии и площади чристалла чем обычная SRAM. Поэтому его мало: на типичном enterprise-коммутаторе несколько десятков тысяч записей, и они делятся между маршрутами, ACL, QoS и MAC-таблицей. Посмотреть сколько TCAM осталось на Cisco:
show platform tcam utilization show sdm preferКак ACL влияют на TCAM Каждая строка ACL это одна или несколько записей в TCAM. Правило с диапазоном портов разбивается на несколько записей потому что TCAM не умеет в диапазоны нативно. Правило permit tcp any any gt 1024 может развернуться в десятки записей. На больших ACL это незаметно, но на коммутаторах с маленьким TCAM таблица заканчивается и новые правила просто не применяются.
show ip access-lists show platform hardware capacityЧто делать при нехватке Меняем SDM profile чтобы перераспределить TCAM между функциями. Например отдать больше под ACL за счёт MAC-таблицы:
sdm prefer acl reloadN.A.
Иногда немного, иногда достаточно чтобы сломать крупные передачи.Туннели Любой туннель оборачивает оригинальный пакет в новый и добавляет свои заголовки. GRE забирает 24 байта, IPsec в tunnel mode от 50 до 70 байт в зависимости от алгоритмов шифрования, WireGuard 60 байт, VXLAN 50 байт. Если на пути несколько туннелей, байты суммируются. Итоговый MTU внутри может оказаться 1400 и ниже, при этом интерфейс снаружи честно показывает 1500. PPPoE
PPPoE используют большинство провайдеров на последней миле. Протокол добавляет 8 байт заголовка к каждому фрейму, реальный MTU на интерфейсе становится 1492.Если роутер не учитывает это и анонсирует клиентам MSS под 1500, крупные TCP-сегменты начинают фрагментироваться или молча дропаться на пути. Делаем вторую часть с более подробным разбором на практике? N.A.
show mac address-table show mac address-table aging-timeЧто происходит при переполнении CAM хранится в аппаратной памяти фиксированного размера. Когда таблица полна, новые записи не добавляются и любой фрейм с неизвестным MAC уходит флудом. Коммутатор деградирует до хаба. На этом построена атака MAC flooding: генерируются фреймы с тысячами случайных source MAC, таблица забивается, и весь трафик начинает идти на порт атакующего тоже. Защита Port Security ограничивает количество MAC на порту:
interface Gi0/1 switchport port-security switchport port-security maximum 2 switchport port-security violation restrict show port-security interface Gi0/1N.A.
192.168.1.50?” отвечает сам хост с этим IP. Proxy ARP меняет это поведение: роутер перехватывает запрос и отвечает своим MAC-адресом, как будто этот IP находится на нём. Хост отправляет трафик на роутер, роутер форвардит дальше.
Изначально это придумали для соединения подсетей без настройки маршрутов на конечных устройствах. Актуально было в эпоху когда маски подсетей на хостах не совпадали с реальной топологией.Где это реально используется сейчас В облаках и гипервизорах Proxy ARP используется постоянно. Когда виртуальная машина получает IP из одной подсети, а физически находится на хосте в другой, гипервизор отвечает на ARP-запросы за неё. VMware, KVM с определёнными сетевыми конфигурациями, AWS при определённых настройках VPC, всё это Proxy ARP под капотом. Когда это ломает сеть Если Proxy ARP включён на роутере по умолчанию (на Cisco он включён), а в сети несколько роутеров, начинается хаос. Несколько устройств отвечают на один ARP-запрос разными MAC-адресами, трафик уходит не туда, сессии рвутся. Вторая проблема: хосты кешируют ARP-ответы. Если роутер ответил за чужой IP, хост будет слать трафик через него даже когда прямой маршрут появился. Проверяем на Cisco:
show ip interface Gi0/0 | include proxyОтключаем если не нужен:
interface Gi0/0 no ip proxy-arpНа Linux:
cat /proc/sys/net/ipv4/conf/eth0/proxy_arp
echo 0 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
N.A.
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
