networkadm | Unsorted

Telegram-канал networkadm - Network Admin

12610

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

Subscribe to a channel

Network Admin

Прозрачный MITM с redir и iptables

Перехватываем и анализируем трафик IoT-устройств


После настройки прозрачного перенаправления HTTP-трафика через redir, можно посмотреть, куда и что отправляет устройство без вашего ведома.

👤Смотрим, кто и с кем говорит

Простой способ — использовать tcpdump или ngrep:

tcpdump -i any port 8080 -A


Или:

ngrep -d any -W byline '' tcp port 8080


📁Альтернатива: использовать mitmproxy в режиме transparent

Если вы готовы заморочиться и перехватывать HTTPS, используйте mitmproxy в transparent-режиме:

mitmproxy --mode transparent --showhost --listen-port 8080


Нужно добавить CA-сертификат mitmproxy в доверенные на устройстве, иначе HTTPS не будет работать. С IoT это чаще всего невозможно — так что срабатывает только на HTTP.

Кейсы использования

Проверка, что отправляет «умный» чайник на китайские сервера
Анализ трафика детских игрушек, пылесосов и камер
Мониторинг активности телевизора в ночное время

N.A. ℹ️ Help

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

Network Admin

Прозрачный MITM с redir и iptables: изучаем HTTP-трафик без прокси

Настройка перехвата в локальной сети


Обычно для перехвата HTTP/S-трафика нужно настроить прокси на клиентском устройстве.

Но что делать, если это «умная колонка» или телевизор без доступа к настройкам? Ответ — прозрачный MITM.

Мы будем перехватывать трафик устройств в своей сети без изменения их конфигурации.

Что понадобится

Linux-машина с двумя сетевыми интерфейсами (или одной с iptables)
Устройство в локальной сети (через Wi-Fi или кабель)
Утилита redir или mitmproxy (в режимах прозрачного прокси)

Схема

1️⃣Устройство делает HTTP-запрос через шлюз (например, Wi-Fi роутер)
2️⃣ Мы подменяем маршрут: весь трафик с 80 порта уходит на Linux-машину
3️⃣ iptables делает DNAT и отправляет его в redir
4️⃣ redir перенаправляет на локальный сокет (где можем логировать, анализировать и т.д.)

Настройка iptables и redir

# Перенаправляем весь трафик на порт 80 на нашу машину (192.168.1.100)
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:8080

# Разрешаем маршрутизацию
echo 1 > /proc/sys/net/ipv4/ip_forward

# Запускаем redir
redir --lport=8080 --laddr=192.168.1.100 --cport=80 --caddr=0.0.0.0


Теперь весь HTTP-трафик будет проходить через вашу машину.

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

N.A. ℹ️ Help

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

Network Admin

Anycast своими руками: отказоустойчивость через BGP

Anycast — это способ раздавать один и тот же IP-адрес с разных точек мира, чтобы трафик шёл к ближайшему узлу.

Используется повсюду: от DNS-серверов Google и Cloudflare до балансировки API.

Например: у тебя есть два VPS — в Германии и Сингапуре. Оба отдают сайт с одного IP. Пользователь из Европы попадёт на немецкий хост, из Азии — на сингапурский.

Anycast реализуется на уровне маршрутизации (BGP).

Несколько серверов объявляют один и тот же IP-адрес, а провайдеры маршрутизируют клиента к ближайшему узлу по числу hop’ов или времени отклика.


Минимальный стек для Anycast

VPS с поддержкой BGP (например, у Vultr BGP, Path, Fraxle, [HostHatch], [Netcup BGP LIR))
ASN (можно арендовать или получить свой)
Bird2 или FRRouting для работы с BGP
GRE-туннели или IPIP между VPS (чтобы “соединить” их в одну точку приёма трафика)
Health-checkи: чтобы при падении одной ноды трафик не шёл туда

Разворачиваем простейшую Anycast-сеть

1️⃣Собираем сеть GRE-туннелей между нодами

# На DE VPS:
ip tunnel add gre-sg mode gre remote SG_PUBLIC_IP local DE_PUBLIC_IP ttl 255
ip addr add 10.10.10.1/30 dev gre-sg
ip link set gre-sg up

# На SG VPS:
ip tunnel add gre-de mode gre remote DE_PUBLIC_IP local SG_PUBLIC_IP ttl 255
ip addr add 10.10.10.2/30 dev gre-de
ip link set gre-de up


Это как бы “соединяет” две точки — внутри ты можешь передавать Anycast-трафик.

2️⃣Настраиваем BGP в Bird2 (пример)

# bird.conf (на VPS DE)
router id 1.1.1.1;
protocol bgp myuplink {
local as 64512;
neighbor 192.0.2.1 as 12345;
import all;
export where net = 203.0.113.1/32;
}
protocol static {
route 203.0.113.1/32 via "gre-sg";
}


Теперь ты анонсируешь один и тот же IP с двух точек.

Healthchecks и отказоустойчивость

Добавь мониторинг: если nginx умер или ping перестал идти — убирай маршрут.

Пример: скрипт, который мониторит порт 80, и если он падает — отключает анонс в Bird:

if ! nc -z 127.0.0.1 80; then
birdc "disable protocol static"
fi


Можно завернуть это в systemd timer или cron.

N.A. ℹ️ Help

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

Network Admin

ZeroTier как шлюз в локальную сеть: доступ к домашним устройствам из любой точки

В первой части мы объединили три устройства в виртуальную L2-сеть. 


Теперь сделаем следующее: подключим к ZeroTier всю локальную домашнюю сеть, чтобы с ноутбука можно было попасть, например, к принтеру, NAS или управлять «умным домом».

Сценарий
У тебя дома стоит ПК (или Raspberry Pi) с ZeroTier.
Там же — локальная сеть 192.168.0.0/24.
Ноутбук и VPS — участники ZeroTier, находятся где угодно.
Хочешь с ноутбука подключаться, например, к 192.168.0.10 (локальный NAS).

Что нужно сделать:
1️⃣Включаем маршрутизацию на домашнем ПК

echo 1 > /proc/sys/net/ipv4/ip_forward


Либо добавляем net.ipv4.ip_forward=1 в /etc/sysctl.conf и применяем:

sysctl -p


2️⃣Настраиваем ZeroTier как шлюз в локалку

На сайте my.zerotier.com:
• Открываем вкладку нужной сети.
• В разделе Managed Routes добавляем:

192.168.0.0/24 via 192.168.192.10


(где 192.168.192.10 — ZeroTier-адрес домашнего ПК)

3️⃣Настраиваем iptables для SNAT

Чтобы пакеты с ноутбука корректно возвращались от локальных устройств:

iptables -t nat -A POSTROUTING -s 192.168.192.0/24 -o eth0 -j MASQUERADE


(где eth0 — интерфейс, ведущий в локальную сеть)

4️⃣Готово!

Теперь с ноутбука можно сделать:

ping 192.168.0.10
ssh user@192.168.0.10


— и ты окажешься в домашней сети, даже если дома CG-NAT, а у тебя в руках только Wi-Fi в отеле.

Безопасность

Добавь iptables-правила, чтобы ZeroTier-доступ был только с нужных устройств. Например:

iptables -A FORWARD -i zt+ -s 192.168.192.101 -d 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -i zt+ -j DROP


N.A. ℹ️ Help

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

Network Admin

SR-IOV: прямой доступ к сетевой карте из виртуальной машины для максимальной скорости

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

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

Преимущества SR-IOV
Значительно снижает задержки (latency)
Увеличивает пропускную способность сети для виртуалок
Снижает нагрузку на CPU хоста
Улучшает масштабируемость виртуальной инфраструктуры

Ограничения и подводные камни
- Не все сетевые карты поддерживают SR-IOV — нужна проверка совместимости.
- Требуется поддержка со стороны гипервизора (KVM, VMware, Hyper-V поддерживают).
- VF ограничены в функциональности: например, не все функции NIC доступны через VF.
- Настройка требует аккуратности — например, VF нужно «пробросить» в виртуальную машину через IOMMU (VFIO).
- Возможны сложности с миграцией VM, если используется SR-IOV.

Практика: включение и настройка SR-IOV на Linux KVM

1️⃣Проверяем поддержку SR-IOV на NIC

lspci | grep -i eth


Ищем нужный адаптер, например 03:00.0 Ethernet controller

2️⃣ Включаем SR-IOV в драйвере и создаём виртуальные функции

echo 4 > /sys/bus/pci/devices/0000:03:00.0/sriov_numvfs


Здесь 4 — количество виртуальных функций.

3️⃣ Проверяем появление VF

ip link show


VF появятся как новые интерфейсы, обычно с префиксом типа eth0vf0 или ens...

4️⃣Привязываем VF к виртуальной машине

Используем VFIO для безопасного проброса PCI устройств:

modprobe vfio-pci
virsh nodedev-detach pci_0000_03_10_0


Добавляем VF в конфигурацию VM как PCI passthrough.

5️⃣Настраиваем сеть внутри VM

VF видится как обычный сетевой интерфейс, который можно настраивать через ip, systemd-networkd или NetworkManager.

N.A. ℹ️ Help

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

Network Admin

Linux Bonding и Teaming: как правильно объединить сетевые интерфейсы

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

В Linux для этого есть два основных механизма: bonding и team.


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

Bonding — классика с мощной поддержкой в ядре

Bonding — давно известный и надёжный способ агрегировать сетевые интерфейсы. Работает на уровне ядра Linux.

Основные режимы bonding:

mode=0 (balance-rr, round-robin) — циклическая отправка пакетов по всем интерфейсам. Максимальная пропускная способность, но не всегда совместимо с коммутаторами.
mode=1 (active-backup) — только один интерфейс активен, остальные — резервные. Надёжно, но скорость — как у одного интерфейса.
mode=2 (balance-xor) — выбор интерфейса по хешу адресов, обеспечивает балансировку и отказоустойчивость.
mode=4 (802.3ad, LACP) — динамическое агрегация с поддержкой LACP. Требует поддержки на коммутаторе.
mode=5 (balance-tlb) — адаптивная балансировка передачи, приём на одном интерфейсе.
mode=6 (balance-alb) — адаптивная балансировка приёма и передачи.

Пример настройки bonding с LACP (mode 4)

modprobe bonding

ip link add bond0 type bond
ip link set eth0 down
ip link set eth1 down
ip link set eth0 master bond0
ip link set eth1 master bond0

ip link set bond0 type bond mode 802.3ad lacp_rate fast
ip link set bond0 up
ip link set eth0 up
ip link set eth1 up

ip addr add 192.168.1.10/24 dev bond0
ip route add default via 192.168.1.1


Team — современный инструмент с гибкой логикой

Team — более новый механизм, который реализуется в userspace с поддержкой разных драйверов для агрегации. Используется systemd-networkd и NetworkManager.

Пример настройки team с активным резервированием (activebackup):

teamd -t team0 -d

cat > /etc/teamd/team0.conf <<EOF
{
"runner": {
"name": "activebackup"
},
"link_watch": {
"name": "ethtool"
}
}
EOF

ip link set eth0 down
ip link set eth1 down
ip link set eth0 master team0
ip link set eth1 master team0
ip link set team0 up
ip link set eth0 up
ip link set eth1 up

ip addr add 192.168.1.20/24 dev team0
ip route add default via 192.168.1.1


Диагностика и полезные команды
Для bonding:

cat /proc/net/bonding/bond0
ip link show bond0
dmesg | grep bonding


Для team:

teamdctl team0 state
teamdctl team0 config dump
ip link show team0


Если интересно, могу помочь с примерами для конкретных дистрибутивов или интеграцией с systemd-networkd.

N.A. ℹ️ Help

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

Network Admin

Real-Time Transport Protocol (RTP): практика и диагностика качества потоков

Теперь, когда мы разобрали теорию RTP и основные проблемы, давай посмотрим, как на практике работать с RTP в Linux и VoIP-системах.

Захват и анализ RTP-трафика

Для начала полезно уметь захватывать и анализировать RTP-пакеты.
Используй tcpdump для записи трафика UDP в диапазоне портов RTP (например, 10000–20000):

sudo tcpdump -i eth0 udp portrange 10000-20000 -w rtp_capture.pcap


Затем открой файл в Wireshark и применяй фильтр rtp для выделения RTP-пакетов.
В Wireshark посмотри Statistics → RTP → Show All Streams — здесь можно увидеть данные о jitter, потерях пакетов, задержках.

Настройка QoS для RTP-трафика на Linux

Чтобы минимизировать jitter и packet loss, важно выделить RTP-трафик с приоритетом. Маркируем RTP-пакеты DSCP классом EF (Expedited Forwarding):

iptables -t mangle -A OUTPUT -p udp --dport 10000:20000 -j DSCP --set-dscp-class EF
iptables -t mangle -A INPUT -p udp --sport 10000:20000 -j DSCP --set-dscp-class EF


Создаем приоритетную очередь с tc:

tc qdisc add dev eth0 root handle 1: htb default 12
tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 80mbit ceil 100mbit prio 0
tc class add dev eth0 parent 1:1 classid 1:12 htb rate 20mbit ceil 100mbit prio 1
tc filter add dev eth0 parent 1: protocol ip prio 1 handle 46 fw flowid 1:11


Так RTP-трафик с DSCP 46 получает высший приоритет, снижая задержки.

Работа с RTP в Asterisk
• В конфиге /etc/asterisk/rtp.conf задай диапазон портов:

[general]
rtpstart=10000
rtpend=20000


• Убедись, что фаервол пропускает этот диапазон UDP-портов.
• В CLI Asterisk можно включить отладку RTP:

rtp set debug on


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

Jitter buffer и сглаживание потока

Чтобы компенсировать jitter, в Asterisk и других системах используют jitter buffer — буфер, который временно хранит пакеты, выравнивая задержки.

В SIP-конфиге можно задать параметры:

[jitterbuffer]
enabled=yes
autofix=yes
maxjitterbuffer=200


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

Мониторинг RTCP

RTCP — протокол контроля качества RTP. Используй rtpdump и rtpstat из пакета rtptools для анализа RTCP-отчетов:

rtpdump -F rtp,rtcp -f rtp_capture.pcap


Это даст статистику по потере пакетов, задержкам и jitter.

N.A. ℹ️ Help

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

Network Admin

Real-Time Transport Protocol (RTP): особенности передачи аудио и видео по IP

RTP — ключевой протокол для потоковой передачи аудио и видео в реальном времени через IP-сети.

RTP обеспечивает транспортировку мультимедиа-пакетов с отметками времени (timestamp) и порядковыми номерами (sequence number). 


Это помогает получателю правильно упорядочить пакеты и синхронизировать поток — критично для воспроизведения аудио и видео.

RTP работает поверх UDP, чтобы избежать задержек, характерных для TCP. Однако это значит, что потеря пакетов и порядок доставки не гарантируются.

Jitter и packet loss — главные проблемы потоков RTP

Jitter — это вариация задержки пакетов. В реальном времени непостоянные задержки приводят к дерганому звуку или видео. Для сглаживания jitter используют буферизацию — небольшой буфер на стороне приёма, который выравнивает разрыв в приёме пакетов.

Packet loss — потеря пакетов. В UDP-потоках потерянные пакеты не восстанавливаются, что приводит к пропаданию звука или артефактам видео. Для минимизации потерь важны надёжные сети и корректная настройка QoS.

Настройка QoS для RTP-трафика

Чтобы обеспечить качественную передачу RTP, важно выделить трафик приоритетом на уровне сети.
RTP-пакеты обычно помечаются DSCP значением EF (Expedited Forwarding, 46) — максимальный приоритет.
Нужно настроить коммутаторы и роутеры так, чтобы этот трафик не задерживался, даже при высокой нагрузке.

Пример в Linux для маркировки пакетов RTP (например, UDP порт 5004):

iptables -t mangle -A OUTPUT -p udp --dport 5004 -j DSCP --set-dscp-class EF


Для приёма можно добавить аналогичное правило на INPUT.

N.A. ℹ️ Help

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

Network Admin

ZeroTier в продакшене: частная сеть поверх интернета

ZeroTier — это способ объединить сервера, ноутбуки и даже роутеры в одну виртуальную L2-сеть. Работает без VPN, пробросов портов и сложной настройки. Отличный вариант, если у тебя:
• домашняя сеть за NAT
• VPS с белым IP
• офис, к которому нужно подключаться

Реальный кейс

Задача: объединить три точки в одну сеть
Домашний ПК за CG-NAT (провайдер не даёт внешний IP)
VPS на Hetzner с белым IP
Ноутбук, который может быть где угодно (в кафе, отеле, с мобильного)

Решение: ставим ZeroTier на все три устройства и подключаем к одной виртуальной сети (через my.zerotier.com).

Все участники получают адреса из одного L2-диапазона (например, 192.168.192.0/24), могут пинговать друг друга, обмениваться файлами и подключаться по SSH без пробросов и туннелей.

Как работает NAT traversal

ZeroTier использует UDP hole punching — оба клиента устанавливают исходящее соединение, координаторы ZT помогают им найти друг друга. 


В большинстве случаев это работает даже за CG-NAT. Если нет — используется релей (немного медленнее).

iptables: фильтрация внутри ZeroTier

Хоть это и приватная сеть, стоит ограничивать доступ между узлами:

# Разрешить только SSH с ноута на VPS
iptables -A INPUT -i zt+ -s 192.168.192.101 -p tcp --dport 22 -j ACCEPT

# Запретить всё остальное от ZeroTier
iptables -A INPUT -i zt+ -j DROP


N.A. ℹ️ Help

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

Network Admin

WireGuard + DDNS + NAT traversal

Удалённый доступ к домашней сети через CG-NAT? Решаем!

Обычно для того, чтобы подключаться к домашней сети извне по VPN, нужен статический «белый» IP. Но если твой провайдер за NAT или даёт динамический IP — всё не так просто. К счастью, всё решаемо.

Разберём, какие есть варианты пробиться сквозь NAT и настроить постоянный доступ к домашней сети снаружи.


Что не работает при CG-NAT

Если у тебя нет внешнего IP — не получится просто открыть порт и ждать подключения. CG-NAT режет все входящие соединения.

Проверить можно, например, на whatismyipaddress.com — если IP в серых диапазонах (100.64.0.0/10 и т.п.) или отличается от внешнего IP роутера, значит у тебя CG-NAT.

Решения:

Использовать входящий VPS как релейный узел (bastion host)
• Берём дешёвый VPS (например, Hetzner, Vultr, Oracle Free Tier)
• Ставим на него WireGuard
• Настраиваем сервер так, чтобы он принимал соединения с обеих сторон и соединял их (site-to-site или peer-to-peer через relay)

На VPS можно сделать однонаправленный туннель с home → VPS, а дальше подключаться из любой точки:

# На домашнем хосте — постоянное подключение к VPS
wg-quick up home-to-vps


Использовать Tailscale / ZeroTier / Netmaker
• Эти сервисы используют STUN, TURN и NAT traversal
• Не требуют внешнего IP вообще
• Прокладывают mesh-сеть между устройствами
• Tailscale — на базе WireGuard, очень удобный для простых сетей

Использовать Dynamic DNS (если нет CG-NAT)
• Регистрируем домен у DynDNS, No-IP, DuckDNS
• Устанавливаем клиент на роутер или ПК, который будет обновлять IP
• На роутере пробрасываем порт (если IP внешний)
• Подключаемся по домену: vpn.mydomain.duckdns.org:51820

Пример конфигурации на VPS

# /etc/wireguard/wg0.conf на VPS
[Interface]
PrivateKey = VPS_PRIVATE_KEY
Address = 10.0.0.1/24
ListenPort = 51820

[Peer]
PublicKey = HOME_PUBLIC_KEY
AllowedIPs = 10.0.0.2/32
PersistentKeepalive = 25


# /etc/wireguard/wg0.conf на домашнем хосте
[Interface]
PrivateKey = HOME_PRIVATE_KEY
Address = 10.0.0.2/24

[Peer]
PublicKey = VPS_PUBLIC_KEY
Endpoint = vps.example.com:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25


N.A. ℹ️ Help

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

Network Admin

👉 Хотите начать карьеру в одной из самых востребованных IT-специальностей — сетевой инженерии?

Курс «Network Engineer. Basic» от OTUS даст вам все практические навыки для уверенного старта. Вы научитесь работать с CLI CISCO IOS, настраивать сети VLAN и маршрутизацию, работать с IPv4/IPv6, обеспечивать безопасность и проектировать сети.

После курса вы сможете претендовать на позицию Junior сетевого инженера в крупнейших технологических и финтех-компаниях. Программу составили опытные практики, а диплом OTUS ценится на рынке труда.

🎁 Пройдите короткое вступительное тестирование и получите запись вебинара "Что выбрать для маршрутизации VLAN: роутер на палочке или коммутатор третьего уровня?”

👉 Пройти тест: https://otus.pw/yidJ/

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

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

Network Admin

Первый открытый Call for Papers на IT Elements 2025 — last call!

10–11 сентября ИТ-сообщество традиционно соберется на большой осенней конференции для тех, кто делает ИТ в России. Готовьтесь к новым трекам, новым спикерам и новой грандиозной площадке!

Если у вас есть сильный кейс, нестандартный опыт или нешаблонное решение — пришло время предложить свой доклад. Главное требование — экспертность и новизна темы.

Рассматриваются доклады по ключевым направлениям:
▪️ИТ-инфраструктура
▪️Сетевые решения
▪️Кибербезопасность
▪️Прикладные решения, AI и ML

Станьте главным элементом IT Elements 2025!

Узнать больше и подать заявку можно до 20 июля.

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

Network Admin

Сравнение технологий NFC и Bluetooth LE

Когда речь идет о маломощной беспроводной связи, NFC и Bluetooth LE часто оказываются в центре внимания.

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


Что такое NFC?

NFC (Near Field Communication) — это технология, работающая на очень коротком расстоянии (всего несколько сантиметров).

Основные характеристики:
Дальность связи: устройства должны находиться почти вплотную, что повышает безопасность.
Энергопотребление: минимальное; пассивные NFC-метки вообще не требуют питания.
Скорость соединения: мгновенная, что идеально для платежей и быстрого обмена информацией.
Безопасность: благодаря ограниченному радиусу и встроенному протоколу безопасности, NFC обеспечивает высокий уровень защиты данных.

Примеры использования NFC:
• Бесконтактные платежи
• Контроль доступа (например, на пропускных пунктах)
• Подключение устройств (например, быстрое сопряжение с техникой в офисе)

Что такое Bluetooth LE?

Bluetooth LE (Low Energy) — это версия стандартного Bluetooth с оптимизацией для низкого энергопотребления и большого радиуса действия.

Основные характеристики:
Дальность связи: работает на расстоянии до нескольких десятков метров.
Энергопотребление: очень низкое, что делает BLE популярным в устройствах на батареях.
Гибкость: может поддерживать соединение с множеством устройств, что полезно для отслеживания активов.
Безопасность: применяет шифрование AES для защиты информации.

Примеры использования Bluetooth LE:
• Отслеживание активов на предприятиях
• Навигация внутри помещений (например, в торговых центрах)
• Целевая реклама с помощью BLE-маяков

NFC vs Bluetooth LE: Сравнительная таблица

Характеристика NFC Bluetooth LE
Радиус действия
• Несколько сантиметров
• До нескольких десятков метров
Энергопотребление
• Минимальное
• Низкое
Скорость соединения
• Мгновенная
• Занимает доли секунды
Безопасность
• Высокая, встроенный протокол
• Высокая, шифрование AES
Основные задачи
• Платежи, контроль доступа,
• Отслеживание, навигация

Какую технологию выбрать?

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

N.A. ℹ️ Help

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

Network Admin

Локальный DNS-кеш и зеркала пакетов: быстрая настройка и практика

Начнём с простого — настройка локального кеширующего DNS-сервера на базе dnsmasq. Он лёгкий и быстро настраивается.

Устанавливаем dnsmasq (пример для Debian/Ubuntu):

sudo apt update
sudo apt install dnsmasq


Настраиваем кеширование в /etc/dnsmasq.conf. Для начала можно оставить стандартные параметры, но важно задать upstream DNS-серверы (например, Google DNS):

server=8.8.8.8
server=8.8.4.4
cache-size=1000


Запускаем и проверяем статус:

sudo systemctl restart dnsmasq
sudo systemctl status dnsmasq


Настраиваем клиентов использовать ваш сервер с dnsmasq как основной DNS (например, указываем IP локального сервера в настройках DHCP).

Пример зеркала apt с apt-cacher-ng:

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

sudo apt install apt-cacher-ng


По умолчанию он слушает порт 3142. Настроим клиентов:

В файле /etc/apt/apt.conf.d/01proxy на клиенте пишем:

Acquire::http::Proxy "http://<IP_сервера>:3142";


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

Зеркало Docker registry:

Для ускорения загрузки образов внутри сети удобно поднять локальный прокси реестр — например, используя registry:2 и docker registry mirror.

Запускаем registry mirror:

docker run -d -p 5000:5000 --restart=always --name registry-mirror \
-e REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io \
registry:2


В настройках Docker-клиента указываем mirror:

{
"registry-mirrors": ["http://<IP_сервера>:5000"]
}


Теперь образы кешируются локально, экономя трафик.

N.A. ℹ️ Help

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

Network Admin

Быстрый DNS внутри сети: зачем нужен локальный кеш и как он помогает

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

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


Распределённое кеширование DNS позволяет уменьшить эти задержки, локализуя ответы на DNS-запросы внутри разных сегментов сети.

Кеширующие DNS-серверы, расположенные ближе к конечным пользователям, сохраняют популярные записи и быстро отвечают на повторные запросы.

Преимущества распределённого DNS-кеша:

• Уменьшение времени отклика при резолвинге имен.
• Снижение нагрузки на внешние каналы связи и первичные DNS-серверы.
• Повышение отказоустойчивости — при проблемах с основным DNS, кеш способен обслуживать запросы.

Для реализации можно использовать dnsmasq или unbound, которые легко конфигурируются и позволяют задавать правила кэширования, ограничивать время жизни записей (TTL) и фильтровать запросы.


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

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

N.A. ℹ️ Help

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

Network Admin

Уже знакомы с Linux, Git и Docker?

Самое время двигаться дальше в DevOps и пройти обучение на курсе-профессии «DevOps Upgrade» от учебного центра Слёрм.

Поток стартовал 30 июня, сейчас идет подготовительный модуль, и еще несколько дней можно присоединиться к учебе 👌

📅 Набор открыт до 28 июля!

Внутри — все необходимые hard skills для позиции DevOps-инженера. В подарок вводные курсы: большой видеокурс по Linux, введение в Ansible и Docker, подготовительный курс по Git.

Длительность курса — 9 месяцев. Начните сейчас, и уже осенью сможете добавить в свое резюме несколько новых инструментов, а к весне будете полностью готовы к новому сезону найма.

Осталось 5 мест ❗️
Занять своё — по ссылке 📌

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

Network Admin

Прокачай свои навыки Kubernetes

Kubernetes — это мощь. Но по-настоящему он раскрывается в руках тех, кто знает, как с ним обращаться.

Хотите уверенно управлять кластерами, настраивать сеть, разруливать инциденты и держать инфраструктуру под контролем? ➡️Тогда вам на курс «Kubernetes Мега» от Слёрма.

На обучении вы: 
👉 Освоите перенос продукта на Kubernetes
👉 Научитесь разворачивать отказоустойчивые кластеры
👉 Ускорите траблшутинг и будете решать инциденты как профи
👉 Повысите стабильность и безопасность инфраструктуры
👉 Настроите автоматическую ротацию сертификатов, автодеплой и защищённое хранение секретов

Это не просто курс. Это путь к 300к/наносек.

Старт — 28 июля, вы как раз успеваете!

Посмотрите программу и забронируйте место ➡️ по ссылке

#реклама
О рекламодателе

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

Network Admin

🎉 Большой розыгрыш от крупнейшего IT-медиа 1337, легендарного паблика Рифмы и Панчи, канала Техно.

Победителей будет много, а для участия нужны лишь пара кликов:

1. Подписаться на Рифмы и Панчи, 1337 и на Техно.

2. Нажать «Участвовать» под этим постом

Что по призам:

1 место - Iphone 16 Pro
2 место - PS5 Slim
3 место - Nintendo Switch 2
4-10 места - 10 000 рублей на карту


Победителей определим 21 июля в 18:00 МСК. Всем удачи!

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

Network Admin

😊ПРИВЕТ, КОЛЛЕГИ!

Знакомьтесь — «В моём VLAN’е тихо!»


Это не просто канал, это мой путь становления сетевым инженером. Здесь я делюсь всем, что узнаю, пробую и тестирую в мире Cisco и сетевых технологий.😍😍

Что вы найдёте в канале?


- Подробные инструкции по настройке оборудования Cisco
- Пошаговые руководства с реальными примерами
- Разбор ошибок и их решений
- Полезные команды и конфигурации
- Опыт работы с реальным оборудованием

Почему стоит подписаться?

- Честный подход. Я открыто делюсь своим опытом.
- Практические знания.
- Доступность. Объясняю сложные вещи простым языком.
- Регулярные обновления. Новые материалы каждую неделю.

Мой путь:

- Собственная лаборатория с реальным оборудованием Cisco
- Активное обучение и практика
- Создание подробных руководств
- Обмен опытом с коллегами

Присоединяйтесь к каналу!

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

👉 Подписывайтесь: @inMyVlan

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

Network Admin

Хочешь освоить профессию DevOps-инженер, но не знаешь с чего начать?

Тебе знакомо это чувство: открываешь вакансию DevOps, а там — десятки технологий, и каждая требует опыта?
Ты пытаешься учить всё подряд, но в итоге тратишь месяцы, а работодатели всё равно говорят: "Не хватает знаний, опыта".

DevOps — это не про зубрежку инструментов, а про системный подход. Нужно понимать, что учить в первую очередь, а с чем можно повременить.

Чтобы не метаться между мануалами и не тратить время впустую, подписывайся на канал Евгения Вдовиченко.
Он вырос из эникея в Senior DevOps Engineer и получил опыт работы в Сбере, МТС, TerraLink и других компаниях, а так же вел курс - профессия DevOps-инженер и успешно обучил 500+ учеников.

Недавно он записал гайд - Как освоить профессию DevOps-инженер с нуля в 2025 году. В котором рассказывает о том, какие технологии и инструменты стоит изучать, а на какие не нужно тратить время и силы.
Гайд доступен в закрепе канала Евгения!

Подписывайтесь, здесь личный опыт как и что изучать для успешного вкатывания в DevOps.
👉 evgeniyvdovichenko

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

Network Admin

Приглашаем на летний ИТ-фестиваль — Сетевое лето
 
24 июля в парке у воды состоится открытая встреча ИТ-экспертов — инженеров, архитекторов, CTO и руководителей, отвечающих за эксплуатацию и развитие ИТ-инфраструктуры.
 
Ключевые темы:
🔷Развитие и стандарты ЦОДов
🔷Внедрение ИИ в ИТ-системы
🔷Сетевые фабрики, 5G, UC
 
Также в программе:
🔸Технические лаборатории и сетевые игры
🔸Научно-популярные лекции
🔸Тематические дискуссии
🔸Неформальное общение
 
Формат: офлайн, open-air
Дата: 24 июля

Регистрация

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

Network Admin

🔒⚙️ Как разделить корпоративную сеть на VLAN и повысить безопасность данных?

Приглашаем на открытый вебинар «VLAN и маршрутизация: почему без них не обойтись в любой компании» 23 июля в 20:00 МСК.

На вебинаре вы узнаете:
- Зачем бизнесу нужно разделение сети на VLAN?
- Как маршрутизация между VLAN помогает контролировать трафик и защищать данные?
- Как настроить Access и Trunk порты на оборудовании Cisco?

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

Урок проходит в преддверии старта курса «Network engineer. Basic».

👉 Регистрация для участия: https://otus.pw/ighr/

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

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

Network Admin

Хочешь ворваться в DevOps и наконец понять, как работают Kubernetes, Docker и CI/CD?

Ребята из Merion Academy (того самого Youtube-канала про IT), создали курс, который помогает не просто смотреть уроки, а реально учиться:

✔️ Грамотно подобранная программа курса.
✔️ Много практики.
✔️ Помогают разобраться с затыками.
✔️ Отдельно помогут с карьерой: как составить резюме, пройти собеседования и найти работу.

Что интересного в программе:
1. Построение CI/CD пайплайнов в GitLabCI и Jenkins
2. Настройка мониторинга с Zabbix, Prometheus и Grafana
3. Понимание DevSecOps, ZTNA, SASE, Defense in Depth
4. Работа с Docker, включая Docker Compose и Multistaging
5. Infrastructure-as-Code: Terraform и Ansible
5. Работа с хранилищем данных Redis

Какие технологии освоишь: Docker, Ansible, Grafana, Kubernetes, Terraform, Zabbix, ELK, Jenkins, Prometheus

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

❇️ Первые 2 урока бесплатные — попробуй и реши, твое ли это.

Подробнее о курсе https://wiki.merionet.ru/merion-academy/courses/devops-inzhener-s-nulya/?utm_source=tg&amp;utm_medium=paid&amp;utm_camapgin=NetworkAdmin

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

Network Admin

Безопасный доступ в админку через Reverse SSH

Когда нет возможности открыть порт или использовать VPN, но нужно попасть в внутреннюю сеть.

Бывает, что сервер стоит где-то в офисе, дома или в дата-центре без внешнего IP, и подключиться к нему нельзя. 


VPN избыточен, порты заблокированы, но доступ в ssh или админку нужен. Тогда помогает приём под названием Reverse SSH Tunnel.

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

Обычно мы подключаемся с клиента на сервер:
ssh user@server.

Но при reverse-подключении — сам сервер устанавливает соединение с внешним хостом (например, VPS), и мы подключаемся к нему “в обратку”.

Пример

Допустим:
• Домашний сервер: home-pc, за NAT
• VPS с белым IP: vps.example.com
• Пользователь на VPS: user

На домашнем сервере запускаем:

ssh -R 2222:localhost:22 user@vps.example.com


Теперь на VPS можно подключиться к home-pc, сделав:

ssh -p 2222 user@localhost


Применения

• Доступ к домашнему серверу или роутеру
• Веб-интерфейсы устройств без проброса портов
• Поддержка клиентов без TeamViewer
• В связке с autossh — надёжный постоянный туннель

N.A. ℹ️ Help

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

Network Admin

Port Security на коммутаторах Cisco: как ограничить доступ по MAC-адресам

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

Для этого и существует механизм Port Security.

Разберёмся, как его настроить и что может пойти не так.

Настройка Port Security

Переходим в режим настройки нужного порта:

Switch(config)# interface FastEthernet0/1


Включаем режим доступа (обязательно):

Switch(config-if)# switchport mode access


Включаем Port Security:

Switch(config-if)# switchport port-security


Ограничиваем количество MAC-адресов:

Switch(config-if)# switchport port-security maximum 1


Указываем поведение при нарушении (лучше restrict или shutdown):

Switch(config-if)# switchport port-security violation restrict


Добавляем статический MAC (опционально):

Switch(config-if)# switchport port-security mac-address 00AA.BBCC.DDEE


N.A. ℹ️ Help

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

Network Admin

DHCP на Cisco: как быстро настроить сервер, клиент и ретрансляцию

Разбираем базовую, но важную задачу: как превратить Cisco-роутер в DHCP-сервер, настроить ретрансляцию и выдать себе адрес по DHCP. Всё на CLI, понятно и по шагам.

Настройка DHCP-сервера на Cisco

1️⃣Исключаем IP-адреса, которые не должны раздаваться (например, шлюз и статические устройства):

Router(config)# ip dhcp excluded-address 192.168.1.1 192.168.1.9
Router(config)# ip dhcp excluded-address 192.168.1.254


2️⃣ Создаем пул DHCP и настраиваем его параметры:

Router(config)# ip dhcp pool POOL-1
Router(dhcp-config)# network 192.168.1.0 255.255.255.0
Router(dhcp-config)# default-router 192.168.1.1
Router(dhcp-config)# dns-server 192.168.1.2
Router(dhcp-config)# domain-name example.local
Router(dhcp-config)# lease 2


3️⃣Проверяем:

Router# show ip dhcp binding
Router# show ip dhcp server statistics


DHCP Relay (ретрансляция)

Когда DHCP-сервер в другой подсети, маршрутизатор не пропустит broadcast-запрос. Поэтому используем ip helper-address:

Router(config)# interface g0/0
Router(config-if)# ip helper-address 192.168.1.1


Теперь он ретранслирует запросы от клиентов (DHCPDISCOVER) как unicast на сервер.

DHCP-клиент на Cisco

Если сам маршрутизатор должен получить IP по DHCP:

Router(config)# interface g0/0
Router(config-if)# ip address dhcp


Полезно, когда роутер получает адрес от провайдера.

N.A. ℹ️ Help

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

Network Admin

Введение в Router-on-a-Stick и настройка коммутатора

Router-on-a-Stick (роутер на палочке) — это схема подключения маршрутизатора и коммутатора с использованием одного физического интерфейса, настроенного как транк с инкапсуляцией 802.1Q.

Такой подход позволяет маршрутизатору выполнять маршрутизацию между VLAN (Inter-VLAN Routing), передавая пакеты между разными сегментами сети. 


Этот метод особенно полезен, если в сети используется коммутатор уровня 2, который сам не способен маршрутизировать трафик.

Пример использования:
В корпоративных сетях Router-on-a-Stick часто применяют в сценариях VoIP, где голосовой и данные трафик изолированы в разных VLAN для повышения производительности и стабильности.

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

1. Создание VLAN
На коммутаторе создаются VLAN для разделения сетей:


Switch# configure terminal
Switch(config)# vlan 2
Switch(config-vlan)# name voice
Switch(config-vlan)# exit


2. Настройка интерфейсов VLAN с IP-адресами
Эти IP-адреса будут использоваться для управления VLAN:


Switch(config)# interface vlan 1
Switch(config-if)# ip address 192.168.10.2 255.255.255.0
Switch(config-if)# exit
Switch(config)# interface vlan 2
Switch(config-if)# ip address 192.168.20.2 255.255.255.0
Switch(config-if)# exit


3. Создание транка на порту GigabitEthernet 0/1
Транк позволяет передавать трафик всех VLAN через один физический интерфейс:


Switch(config)# interface gigabitethernet 0/1
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# switchport mode trunk
Switch(config-if)# spanning-tree portfast trunk


N.A. ℹ️ Help

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

Network Admin

Как организовать mesh-сеть на базе batman-adv и других Linux-протоколов

Mesh-сети — это децентрализованные сети, в которых узлы напрямую связаны друг с другом, создавая устойчивую и самовосстанавливающуюся структуру.

Они востребованы в IoT, удалённых офисах и местах с ограниченной инфраструктурой.

Что такое batman-adv?

batman-adv (Better Approach To Mobile Adhoc Networking — advanced) — это протокол маршрутизации на уровне канального слоя (L2), встроенный в ядро Linux. 


Он позволяет автоматически строить mesh-сеть, в которой пакеты передаются напрямую между узлами, не требуя сложной настройки маршрутизации.

Главные преимущества batman-adv:
Прозрачная для верхних уровней сети — узлы видят mesh как единый логический Ethernet.
Самостоятельное обновление маршрутов при изменениях топологии.
Поддержка множества интерфейсов (Wi-Fi, Ethernet).

Основные шаги по настройке batman-adv

Подготовка интерфейсов

У каждого узла должна быть физическая сеть (обычно Wi-Fi или Ethernet), которую batman-adv обернёт в виртуальный интерфейс mesh.

ip link set wlan0 down
iw dev wlan0 set type adhoc
ip link set wlan0 up
iw dev wlan0 ibss join mesh-network 2412


Здесь создаётся IBSS (adhoc) режим с SSID mesh-network и частотой 2412 МГц.

Подключение batman-adv

modprobe batman-adv
ip link add bat0 type batadv
ip link set wlan0 master bat0
ip link set bat0 up


bat0 — виртуальный интерфейс mesh.

Настройка IP

Теперь назначьте IP адрес на bat0, он будет использоваться для общения внутри mesh.

ip addr add 192.168.50.1/24 dev bat0


Повторить на всех узлах

Каждый узел получает свой уникальный IP в той же подсети.

N.A. ℹ️ Help

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

Network Admin

Летний лагерь по Ansible 📚

Мы научим вас работать с Ansible, чтобы вы смогли настроить автоматизацию, упростить командную работу, масштабировать в одно касание и экономить время.

Это не просто курс, а интерактивный летний лагерь. В нем вас ждет не только освоение Ansible, но и:

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

Доп. бонус к программе: мощный технический воркшоп «Использование ИИ в работе» с экспертом 🎁

Запускаем только один поток обучения в подобном формате. Старт 21 июля.
Успевайте! Все подробности тут ⬅️

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

Network Admin

L3 Anycast на базе Linux: отказоустойчивость и load-balancing без оборудования

Anycast — это метод маршрутизации, при котором один и тот же IP-адрес назначается на несколько узлов, и запросы от клиентов приходят к ближайшему (по маршрутам) экземпляру.

Используется в:
• DNS-серверах (Cloudflare, Google DNS)
• CDN
• отказоустойчивых API и ingress точках

Всё это можно реализовать на обычных Linux-серверах, если есть доступ к BGP или OSPF.

Как это работает
1️⃣Несколько серверов имеют одинаковый IP на loopback-интерфейсе
2️⃣С этого интерфейса идёт ответ — как будто IP “реально” принадлежит узлу
3️⃣Соседнее оборудование (роутеры) определяет ближайший путь до IP
4️⃣При падении узла маршрут до него пропадает — запросы идут к другим

Настройка Anycast с BGP + Linux

Настраиваем loopback-интерфейс:

ip addr add 203.0.113.100/32 dev lo
ip link set dev lo up


(Важный момент: маска /32 — чтобы Linux не пытался маршрутизировать через неё)

Устанавливаем FRR или BIRD (пример с FRR):

sudo apt install frr


Настройка FRR (например, BGP-сессия с провайдером или маршрутизатором):

vtysh

# Пример:
conf t
router bgp 65001
bgp router-id 1.1.1.1
neighbor 10.0.0.1 remote-as 65000
!
address-family ipv4 unicast
network 203.0.113.100/32
exit-address-family
exit


N.A. ℹ️ Help

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