networkadm | Unsorted

Telegram-канал networkadm - Network Admin

12610

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

Subscribe to a channel

Network Admin

🎥 Вебинар по сетям: Основные протоколы сети Интернет

🧠 Что будет на занятии:
- От битов до браузера: что такое сетевой протокол и зачем нужна модель osi/tcp-ip. Простое объяснение сложной концепции.
- Фундамент Интернета: детальный разбор ip, tcp и udp. Узнаем, кто отвечает за адресацию, а кто — за надежность доставки.
- Протоколы прикладного уровня: как работают знакомые всем http, https и dns, когда вы открываете сайт.
- Ответы на ваши вопросы: живая сессия с экспертом, где можно спросить о любых нюансах, связанных с сетевыми технологиями.

💪 В результате :
Систематизируете знания о ключевых протоколах и сможете увереннее разбираться в сетевых вопросах.

🎁 Проходит в преддверии старта курса «Network engineer. Basic». Все участники вебинара получат специальные условия на полное обучение курса.

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

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

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

Network Admin

MPLS vs VXLAN: что выбрать для сети?

Когда сеть растёт, часто встаёт вопрос, как объединить филиалы, виртуальные машины и контейнеры в единый L2/L3 слой без перегрузки маршрутизаторов.

Две популярные технологии — MPLS и VXLAN.

MPLS (Multiprotocol Label Switching) работает на уровне L2.5: пакеты маркируются метками для маршрутизации. Это даёт высокую производительность и низкую задержку. Технология широко используется в провайдерских сетях и больших дата-центрах, но её сложнее настраивать и поддерживать, требуется LDP или RSVP.

VXLAN создаёт overlay-сеть поверх IP (L3), каждый сегмент имеет 24-битный идентификатор VNI. Она легко масштабируется и подходит для виртуальных машин и контейнеров. Можно использовать VXLAN на обычных Linux-серверах или через Open vSwitch. Гибкость выше, но есть небольшие накладные расходы на инкапсуляцию.

Ключевое отличие в том, что MPLS ориентирован на производительность и операторские сети, а VXLAN на гибкость и динамические инфраструктуры.

Пример проверки overlay VXLAN на Linux:

ip link add vxlan10 type vxlan id 10 dev eth0 dstport 4789
ip addr add 10.10.10.1/24 dev vxlan10
ip link set vxlan10 up
ping 10.10.10.2


⚡️В итоге имеем: MPLS отлично подходит для магистралей и больших корпоративных сетей, VXLAN — для облачных дата-центров и виртуальных сред.

N.A. ℹ️ Help

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

Network Admin

HSRP (Hot Standby Router Protocol) для резервирования шлюза

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

HSRP создаёт виртуальный IP-адрес и один «активный» маршрутизатор, а остальные остаются в режиме ожидания.

Если активный падает — резервный автоматически поднимается.

На Cisco настройка выглядит так:

interface GigabitEthernet0/1
ip address 192.168.1.2 255.255.255.0
standby 1 ip 192.168.1.1
standby 1 priority 110
standby 1 preempt


standby 1 ip — виртуальный IP, который клиенты используют как шлюз.
priority — определяет, кто будет активным при старте.
preempt — разрешает более приоритетному роутеру стать активным, если он появится.

Проверка:

show standby brief


Увидите активного и резервного маршрутизатора.

На MikroTik есть аналог — VRRP:

/interface vrrp add interface=ether1 vrid=1 priority=100 \
virtual-address=192.168.1.1


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

N.A. ℹ️ Help

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

Network Admin

Произошла классика: щас по быстрому сделаем, а потом переделаем

N.A. ℹ️ Help

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

Network Admin

Настройка OSPF Passive Interface: оставляем маршруты там, где они нужны

Иногда хочется, чтобы OSPF работал только на нужных сегментах сети, а на остальных интерфейсах «молчал» — не слал hello-пакеты и не анонсировал маршруты.

Passive Interface как раз для этого. Он отключает OSPF на выбранном интерфейсе, но маршруты из этой подсети по-прежнему будут анонсироваться в остальную сеть.

На Cisco это делается просто:

router ospf 1
passive-interface GigabitEthernet0/1


Если нужно, чтобы только один интерфейс был активен, а остальные пассивные:

router ospf 1
passive-interface default
no passive-interface GigabitEthernet0/0


На MikroTik тоже есть аналогичная настройка в OSPF:

/routing ospf interface
set [ find interface="ether1" ] passive=yes


N.A. ℹ️ Help

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

Network Admin

Настройка Simple Queue на MikroTik

Ограничение скорости для конкретного устройства

Предположим, нужно ограничить скорость для IP 192.168.88.50 до 10 Мбит/с входящего и исходящего трафика:

/queue simple add name="Limit-10M" target=192.168.88.50/32 max-limit=10M/10M


• target — конкретный IP или подсеть, для которой применяем лимит.
• max-limit — максимальная скорость входящего/исходящего трафика.

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

Ограничение всей полосы интерфейса

Если нужно ограничить весь трафик через интерфейс ether1 до 100 Мбит/с:

/queue simple add name="Interface-Limit" target=ether1 max-limit=100M/100M


Это надо, например, при подключении к медленному интернет-каналу, чтобы избежать перегрузки.

Ограничение группы устройств

Можно настроить лимит на целую подсеть:

/queue simple add name="Subnet-Limit" target=192.168.88.0/24 max-limit=50M/50M


Все устройства в сети 192.168.88.0/24 будут ограничены до 50 Мбит/с.

Проверка и мониторинг

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

/queue simple print stats


N.A. ℹ️ Help

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

Network Admin

Считаем пакеты с помощью XDP и eBPF

Теперь разберём, как практически посчитать количество входящих пакетов на интерфейсе с помощью XDP.

1️⃣Установка инструментов

На Ubuntu или Debian потребуется установить eBPF-инструменты и библиотеку libbpf:

sudo apt update
sudo apt install clang llvm libbpf-dev linux-headers-$(uname -r) bpftool


2️⃣ Минимальный XDP-пример

Создаём файл xdp_count.c — простейшая программа, которая считает пакеты, приходящие на интерфейс.

#include <linux/bpf.h>
#include <bpf/bpf_helpers.h>

struct {
__uint(type, BPF_MAP_TYPE_PERCPU_ARRAY);
__uint(max_entries, 1);
__type(key, u32);
__type(value, u64);
} pkt_cnt SEC(".maps");

SEC("xdp")
int xdp_counter(struct xdp_md *ctx) {
u32 key = 0;
u64 *value = bpf_map_lookup_elem(&pkt_cnt, &key);
if (value)
__sync_fetch_and_add(value, 1);
return XDP_PASS;
}

char LICENSE[] SEC("license") = "GPL";


Эта программа увеличивает счётчик на 1 при каждом входящем пакете.

3️⃣ Компиляция

clang -O2 -target bpf -c xdp_count.c -o xdp_count.o


4️⃣Загрузка на интерфейс

Подключаем программу к интерфейсу (например, eth0):

sudo ip link set dev eth0 xdp obj xdp_count.o sec xdp


Проверяем статус:

sudo bpftool net


5️⃣ Просмотр счётчиков

Чтобы посмотреть накопленные значения:

sudo bpftool map dump id $(sudo bpftool map show | grep pkt_cnt | awk '{print $1}' | cut -d: -f1)


Каждый CPU имеет свой счётчик (из-за PERCPU_ARRAY), поэтому значения нужно суммировать.

6️⃣Удаление программы

sudo ip link set dev eth0 xdp off


N.A. ℹ️ Help

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

Network Admin

Привязка DHCP к MAC (Static Lease)

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

Иногда важно, чтобы конкретное устройство всегда получало один и тот же IP — например, сервер, принтер или VoIP-телефон. 


Для этого используют Static Lease — статическое назначение адреса по MAC-адресу.

Зачем это нужно:
Гарантия постоянного IP для сервисов, где важна маршрутизация, NAT или firewall.
Упрощение мониторинга сети — легко идентифицировать устройство по IP.
Уменьшение ошибок в настройках DNS, Port Forwarding и VPN.

DHCP-сервер «запоминает» MAC-адрес устройства и всегда выдаёт ему один и тот же IP из пула, независимо от того, какой адрес был свободен в момент запроса.

Практика на MikroTik

1️⃣Просмотр текущих аренды DHCP:

/ip dhcp-server lease print


Вы увидите список всех клиентов с IP, MAC и статусом.

2️⃣ Добавление статической аренды:

/ip dhcp-server lease add mac-address=AA:BB:CC:DD:EE:FF address=192.168.1.50 comment="Printer"


• mac-address — MAC-адрес устройства.
• address — IP, который нужно закрепить.
• comment — для удобства.

3️⃣ Проверка:

/ip dhcp-server lease print where address=192.168.1.50


Если устройство уже подключено — оно получит этот IP сразу. Если нет — при следующем запросе DHCP.

4️⃣ Опционально — резервирование с привязкой к интерфейсу:

/ip dhcp-server lease add mac-address=AA:BB:CC:DD:EE:FF address=192.168.1.50 server=dhcp1


N.A. ℹ️ Help

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

Network Admin

IGMP Snooping для контроля мультикаст-трафика

IGMP (Internet Group Management Protocol) используется для управления членством устройств в мультикаст-группах IPv4.

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


IGMP Snooping позволяет коммутатору «слушать» сообщения IGMP и направлять мультикаст-трафик только на порты, где есть подписчики.

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

Когда устройство хочет получать трафик определённой мультикаст-группы, оно отправляет IGMP Join.

Коммутатор с включённым snooping отслеживает эти сообщения и формирует таблицу портов для каждой группы.

Практика на Linux с bridge и igmpproxy

1️⃣Создаём bridge с несколькими интерфейсами:

sudo ip link add name br0 type bridge
sudo ip link set dev eth1 master br0
sudo ip link set dev eth2 master br0
sudo ip link set br0 up


2️⃣Устанавливаем igmpproxy для управления потоками:

sudo apt install igmpproxy
sudo nano /etc/igmpproxy.conf


Пример конфигурации: eth0 — аплинк (интернет/источник), eth1 и eth2 — локальные сети:

phyint eth0 upstream ratelimit 0 threshold 1
phyint eth1 downstream
phyint eth2 downstream


3️⃣Запускаем:

sudo systemctl restart igmpproxy
sudo systemctl status igmpproxy


После этого мультикаст-трафик будет идти только на порты, где есть подписчики.

N.A. ℹ️ Help

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

Network Admin

Вы знаете, что service mesh — решение, но мысль о внедрении пугает 🤯

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

Мы понимаем эти боли. Поэтому приглашаем на онлайн-интенсив, на котором вы:

✅ Запустите service mesh: от установки Istio до работы с реальными сценариями.

✅ Получите рабочие практики: observability, traffic management, mTLS.

✅ Поймёте, как повысить надёжность и безопасность без переписывания кода.

✅ Научитесь находить и устранять узкие места в микросервисах.

✅ Разберёте типичные ошибки внедрения и подводные камни в реалиях рынка РФ.

Чтобы научиться быстро и безопасно внедрять service mesh, ждем вас тут 👈

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

Network Admin

📘 На Stepik вышел курс — «DevOps-инженер: От основ до продакшена»

Хотите автоматизировать деплой, управлять инфраструктурой как кодом и выстраивать надёжные CI/CD процессы? Этот курс — полный путь DevOps-инженера.

• CI/CD: Jenkins, GitLab CI/CD, GitHub Actions, стратегии развёртывания (Blue-Green, Canary), rollback
• Контейнеризация: Docker (образы, Compose, networking), Podman, оптимизация и безопасность контейнеров
• Kubernetes: архитектура, Pods, Services, Deployments, Helm, RBAC, Service Mesh (Istio/Linkerd)
• Infrastructure as Code: Terraform, Ansible (playbooks, vault), Packer, ArgoCD и Flux для GitOps
• Облака: AWS (EC2, EKS, Lambda), GCP, Azure, Yandex Cloud, cost optimization• Мониторинг: Prometheus, Grafana, ELK Stack, Jaeger, OpenTelemetry, SLI/SLO/SLA
• Безопасность: SAST/DAST, Vault, Zero Trust, Policy as Code, incident response
• Продакшен практики: High Availability, Disaster Recovery, Chaos Engineering, on-call management

🎓 Сертификат — добавьте в резюме или LinkedIn

🚀 Скидка 25%, действует 48 часов

👉 Пройти курс на Stepik

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

Network Admin

Обзор Cisco Identity Services Engine (ISE)

Cisco Identity Services Engine (ISE) — это платформа для управления доступом к сети, аутентификации пользователей и устройств, а также обеспечения политики безопасности на уровне сети.

ISE позволяет реализовать Network Access Control (NAC), управлять VLAN и политиками доступа для разных групп пользователей и устройств.


Первая версия Cisco ISE вышла в 2009 году и с тех пор активно развивается, поддерживая интеграцию с облачными сервисами, 802.1X и BYOD (Bring Your Own Device) сценариями.

Основные протоколы и стандарты

ISE поддерживает широкий спектр протоколов:

SCEP (Simple Certificate Enrollment Protocol) – автоматическое получение сертификатов для устройств.
RADIUS (Remote Authentication Dial-In User Service) – основной протокол для аутентификации и авторизации пользователей.

TACACS+ – для централизованного управления доступом к сетевым устройствам.
802.1X – стандарт порт-уровневой аутентификации для проводных и беспроводных сетей.
SNMP – мониторинг и интеграция с системами управления.

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

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

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


Платформа работает на базе Linux с веб-интерфейсом для администрирования и CLI для глубокой настройки.

Основные интерфейсы ISE

1️⃣ Administration – настройка политик доступа, профилей устройств и интеграции с внешними каталогами (Active Directory, LDAP).
2️⃣ Monitoring – мониторинг аутентификации, подключения устройств и журналирование событий безопасности.
3️⃣ Policy Service Nodes (PSN) – распределённые узлы, обрабатывающие RADIUS-запросы и применяющие политики.
4️⃣ pxGrid – платформа для интеграции с другими системами безопасности и обмена контекстной информацией.
5️⃣ Deployment & Maintenance – управление обновлениями, сертификатами, бэкап и восстановление конфигурации.

Дополнительно можно использовать CLI для проверки состояния системы, диагностики RADIUS-сессий и просмотра логов.

N.A. ℹ️ Help

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

Network Admin

Ограничение скорости пользователей через PCQ на MikroTik

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

Вместо того чтобы вручную создавать отдельные очереди для каждого IP, можно использовать PCQ — Per Connection Queue. 


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

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

PCQ делит канал по IP (или по src/dst), выделяя каждому пользователю определённую скорость. При этом общий лимит подсети соблюдается, а администратору не нужно вручную создавать десятки правил.

Создаём тип очереди для загрузки и отдачи:

/queue type add name=PCQ_download kind=pcq pcq-classifier=dst-address pcq-rate=5M pcq-limit=50
/queue type add name=PCQ_upload kind=pcq pcq-classifier=src-address pcq-rate=2M pcq-limit=50


Привязываем тип к подсети:

/queue simple add name="Office Download" target=192.168.1.0/24 max-limit=10M/10M queue=PCQ_download/PCQ_upload


Проверяем работу очередей и активные подключения:

/queue simple print
/queue simple monitor 0


Теперь каждому устройству в подсети автоматически выделяется до 5 Мбит/с на загрузку и 2 Мбит/с на отдачу, при этом общий лимит на сеть не превышает 10 Мбит/с.

N.A. ℹ️ Help

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

Network Admin

Подсчёт пакетов с XDP на Linux

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

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

В этой части покажем, как написать простую XDP-программу, которая будет подсчитывать UDP-пакеты на определённом интерфейсе.

1️⃣Установка инструментов:

sudo apt install clang llvm libbpfcc-dev linux-headers-$(uname -r) bpftool


2️⃣ Создание минимальной XDP-программы на C (xdp_port_count.c) для подсчёта UDP-пакетов:

#include <linux/bpf.h>
#include <bpf/bpf_helpers.h>

struct bpf_map_def SEC("maps") port_count = {
.type = BPF_MAP_TYPE_HASH,
.key_size = sizeof(__u16),
.value_size = sizeof(__u64),
.max_entries = 1024,
};

SEC("xdp")
int count_udp_ports(struct xdp_md *ctx) {
void *data_end = (void *)(long)ctx->data_end;
void *data = (void *)(long)ctx->data;

struct ethhdr *eth = data;
if ((void*)(eth + 1) > data_end) return XDP_PASS;

if (eth->h_proto != htons(ETH_P_IP)) return XDP_PASS;

struct iphdr *ip = data + sizeof(*eth);
if ((void*)(ip + 1) > data_end) return XDP_PASS;
if (ip->protocol != IPPROTO_UDP) return XDP_PASS;

struct udphdr *udp = (void*)ip + ip->ihl*4;
if ((void*)(udp + 1) > data_end) return XDP_PASS;

__u16 port = udp->dest;
__u64 *value = bpf_map_lookup_elem(&port_count, &port);
__u64 one = 1;
if (value) __sync_fetch_and_add(value, 1);
else bpf_map_update_elem(&port_count, &port, &one, BPF_ANY);

return XDP_PASS;
}

char _license[] SEC("license") = "GPL";


3️⃣ Компиляция и загрузка на интерфейс:

clang -O2 -target bpf -c xdp_port_count.c -o xdp_port_count.o
sudo ip link set dev eth0 xdp obj xdp_port_count.o sec xdp


4️⃣ Проверка статистики:

sudo bpftool map show
sudo bpftool map dump id <id_map>


• <id_map> — ID карты с подсчётом пакетов.
• Вы увидите, сколько пакетов прошло через каждый UDP-порт.

N.A. ℹ️ Help

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

Network Admin

Диагностика QinQ (двойных VLAN) на Linux

QinQ (или VLAN stacking) позволяет вложить клиентский VLAN (C-tag, inner) в провайдерский VLAN (S-tag, outer).

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

Проверка пакетов с двойными тегами

Через tcpdump:

sudo tcpdump -i eth0 -nn -e vlan and vlan


Первый vlan фильтрует внешний тег (S-tag), второй — внутренний (C-tag). В выводе будет видно:

ethertype 802.1Q (0x8100), VLAN 200, p 0, ethertype 802.1Q (0x8100), VLAN 100, p 0, IP 10.10.10.2 > 10.10.10.1


Здесь:
• VLAN 200 — внешний (S-tag),
• VLAN 100 — внутренний (C-tag).

Создание QinQ-интерфейса на Linux

Допустим, нужно поднять интерфейс для VLAN 200 поверх VLAN 100:

# Создаём подинтерфейс для outer VLAN
sudo ip link add link eth0 name eth0.200 type vlan id 200

# Добавляем inner VLAN (QinQ)
sudo ip link add link eth0.200 name eth0.200.100 type vlan id 100

# Настраиваем IP
sudo ip addr add 192.168.100.10/24 dev eth0.200.100
sudo ip link set eth0.200.100 up


Теперь весь трафик с этого интерфейса будет уходить с двумя тегами: 200 (outer) и 100 (inner).

Проверка доступности

ping -I eth0.200.100 192.168.100.1


Если ответ пришёл — QinQ работает по всей цепочке.

N.A. ℹ️ Help

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

Network Admin

Сравнение MPLS и VXLAN на Linux на практике

В чем тут цель вообще: создать тестовую сеть между двумя Linux-хостами и наглядно увидеть, как работают MPLS и VXLAN, чтобы понять плюсы и минусы каждого подхода для L2/L3 инкапсуляции.

1️⃣Настройка VXLAN

На обоих хостах создаём overlay-интерфейс:

# На хосте A
ip link add vxlan10 type vxlan id 10 dev eth0 dstport 4789
ip addr add 10.10.10.1/24 dev vxlan10
ip link set vxlan10 up

# На хосте B
ip link add vxlan10 type vxlan id 10 dev eth0 dstport 4789
ip addr add 10.10.10.2/24 dev vxlan10
ip link set vxlan10 up


Проверяем связь:

ping 10.10.10.2


Для мониторинга инкапсуляции удобно использовать:

tcpdump -i vxlan10


2️⃣Настройка MPLS

Включаем MPLS на интерфейсах и создаём метки:

# На обоих хостах
modprobe mpls_router
echo 1 > /proc/sys/net/mpls/conf/eth0/input

# На хосте A
ip link add name mpls0 type mpls
ip addr add 192.168.100.1/24 dev mpls0
ip link set mpls0 up
mpls label add 100 dev eth0


На хосте B аналогично, меняем IP и метку.

Проверяем MPLS-трассу:

ip -f mpls route
ping 192.168.100.2


MPLS-трафик идёт с метками, а IP-маршрутизация остаётся прозрачной.

N.A. ℹ️ Help

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

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 урока бесплатные — попробуй и реши, твое ли это.
Подробнее о курсе

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

Network Admin

Можно ли такое выпускать в прод?

От создателей: "Это, вообще, правильно? А у других как?”

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

👉Именно для тех, кто увидел себя в этом — есть курс «Kubernetes Мега» от Слёрма. 

После курса:
1️⃣Повысите экспертность в поддержке K8s кластеров
2️⃣Сможете уверенно перевести продукты компании на K8s
3️⃣Сможете претендовать на грейд выше, а зарплату бОООльше

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

Старт – 27 октября

Подробности — по ссылке⬅️

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

Network Admin

OSPF Cost для балансировки нагрузки между несколькими линками

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


OSPF использует метрику Cost, основанную на пропускной способности интерфейса: чем выше пропускная способность — тем ниже Cost, тем предпочтительнее маршрут.

На практике это выглядит так:

На Cisco можно задать Cost вручную:

interface GigabitEthernet0/1
ip ospf cost 10

interface GigabitEthernet0/2
ip ospf cost 20


Теперь OSPF отдаёт предпочтение G0/1, но при его недоступности маршруты автоматически пойдут через G0/2.

На MikroTik интерфейсная настройка похожа:

/routing ospf interface
set [ find interface="ether1" ] cost=10
set [ find interface="ether2" ] cost=20


Проверка:
Cisco: show ip route ospf и show ip ospf neighbor — убедиться, что маршруты и соседи видят обновлённый Cost.
MikroTik: /routing ospf route print — посмотреть активные маршруты и их метрики.

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

N.A. ℹ️ Help

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

Network Admin

Ты сказал, что ты шаришь в этой теме! 🐧
А за Ansible шаришь? 😏

Один пропущенный шаг — и конфигурация ломается. Члены команды выполняют задачи по-своему, документация не помогает. Добавление новых серверов — это боль и часы работы 👎


Как этого избежать? Мы научим вас работать с Ansible с новой версией курса:
⚫️ Полностью обновлённая теория и 11 свежих видеоуроков
⚫️ Новый модуль по созданию кастомных модулей на Python
⚫️ Практические задания на обновлённых стендах
⚫️ Глоссарии и дополнительные материалы для систематизации знаний

💥 Плюс:
⭐️ Итоговая сертификация с комплексным заданием
⭐️ Воркшоп по применению AI-инструментов в автоматизации
⭐️ Разбор реальных кейсов и промпт-инжиниринг для DevOps

📅 Старт: 10 ноября
⚙️ Уровень: от «я вроде в теме» до «автоматизирую всё, что дышит»
🎓 После курса вы сможете уверенно строить инфраструктуру как код, писать роли и модули под себя и не бояться деплоя в пятницу 😁

➡️ Апгрейд своих навыков — по ссылке

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

Network Admin

Ограничиваем скорость на MikroTik

В сетях часто требуется контролировать пропускную способность отдельных устройств или сервисов. Это важно для:

Предотвращения перегрузки сети.
Тестирования сетевых приложений.
Реализации базового QoS без сложных схем.

На MikroTik для этих целей используется система Queue, которая позволяет ограничивать скорость по IP, диапазону адресов или на уровне интерфейса.


Существует два основных типа:
Simple Queue — удобный способ для отдельных IP или подсетей. Позволяет ограничивать входящий и исходящий трафик одновременно.
Queue Tree — более гибкий метод, применяемый для сложной структуры иерархических лимитов, с поддержкой приоритетов.

Принцип работы:
1️⃣Каждое правило Queue отслеживает трафик, который проходит через интерфейс.
2️⃣ Если трафик превышает лимит, он замедляется до установленной скорости.
3️⃣ Можно настроить отдельные лимиты для входящего (download) и исходящего (upload) трафика.

N.A. ℹ️ Help

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

Network Admin

🔥 БЕСПЛАТНЫЙ КУРС ПО СОЗДАНИЮ НЕЙРО-СОТРУДНИКОВ НА GPT И ДРУГИХ LLM 🔥

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

📌 Темы занятий:
1. Введение в мир нейро-сотрудников
2. Как работают LLM и их аналоги
3. Создание базы знаний для нейро-сотрудника (RAG)
4. Тестирование и отладка нейро-сотрудников
5. Интеграция нейро-сотрудников в Production

Вот 5 тем курса - он максимально простой и доступный, общеобразовательный, без какого-либо сложного программирования 📚Прохождение этого курса, скорее всего, займет у вас от 1 до 3 часов

🤖 Присоединяйтесь к нашему бесплатному курсу и разберитесь в этой увлекательной теме с нами!

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

Network Admin

Встречайте AIOps в INFRAX — виртуального инженера, который работает прямо внутри карточки инцидента:

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

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

Что такое INFRAX? Это:

🖥 Мультиметричный мониторинг — CPU, память, диски, трафик, доступность узлов, интерактивные графики и гибкие алерты.

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

🤖 Автоматизация — агенты для Windows/Linux, запуск скриптов по расписанию, планировщик задач, автодетект узлов.

🔐 Удалённые подключения — RDP, SSH, VNC прямо из веба или нативных клиентов, видеозапись сессий для аудита.

📚 База знаний — статьи, категории, контроль публикаций, статистика по популярности.

👥 Управление пользователями — детальная система прав, интеграция с IAM, аудит действий, изоляция данных.

📊 Дашборды — мониторинг, техподдержка, удалённые подключения с realtime-обновлением.

🔥 Infrax — это ситуационный центр вашей ИТ-инфраструктуры. Всё, что нужно для стабильной и безопасной работы сервисов, в одном решении.

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

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

Network Admin

Сегментация L2-сети с Private VLAN

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

Как работает Private VLAN

Private VLAN (PVLAN) — это расширение обычного VLAN, которое позволяет разделять трафик на уровне канального слоя:

Promiscuous port — порт, который может общаться со всеми. Обычно это шлюз или маршрутизатор.
Isolated port — порт, который может общаться только с promiscuous портом, но не с другими isolated портами.
Community port — порты внутри одной группы могут общаться друг с другом и с promiscuous портом, но не с портами другой community.

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

Практикуемся на Linux с bridge и VLAN

Создадим bridge с PVLAN-подобной логикой:

# Создаём главный bridge
ip link add name br0 type bridge
ip link set br0 up

# Создаём VLAN-подсети
ip link add link br0 name br0.10 type vlan id 10
ip link add link br0 name br0.20 type vlan id 20
ip link set br0.10 up
ip link set br0.20 up

# Настраиваем iptables, чтобы isolated VLAN не видел друг друга
iptables -I FORWARD -i br0.10 -o br0.10 -j DROP
iptables -I FORWARD -i br0.20 -o br0.20 -j DROP

# Разрешаем доступ к шлюзу (eth0)
iptables -A FORWARD -i br0.10 -o eth0 -j ACCEPT
iptables -A FORWARD -i br0.20 -o eth0 -j ACCEPT


Теперь устройства внутри VLAN 10 и VLAN 20 изолированы друг от друга, но могут использовать интернет через общий шлюз.

N.A. ℹ️ Help

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

Network Admin

Настройка NTP-синхронизации на MikroTik

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

Даже расхождение в несколько минут может привести к ошибкам аутентификации или сбоям в логах.

NTP (Network Time Protocol) — это протокол синхронизации времени по сети. Он использует иерархию уровней (stratum), где:

Stratum 1 — это серверы, синхронизированные напрямую с атомными часами или GPS.
Stratum 2+ — устройства, которые получают время от вышестоящих серверов.

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

На MikroTik это можно сделать встроенными средствами — пакетом system ntp client.

Настройка NTP Client на MikroTik

/system ntp client set enabled=yes \
primary-ntp=0.pool.ntp.org \
secondary-ntp=1.pool.ntp.org

/system clock print
/system ntp client print


Проверяем статус:

/tool ntp client monitor


Если всё корректно, появится строка synchronized: yes.

Настройка NTP Server (если MikroTik — источник времени)

/system ntp server set enabled=yes broadcast=yes manycast=yes


N.A. ℹ️ Help

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

Network Admin

Настроим DHCP Relay на Cisco

Когда клиенты находятся в разных VLAN, но DHCP-сервер — в одной общей сети, прямые broadcast-запросы до него не доходят.

В этом случае используется DHCP Relay (или IP Helper), который пересылает DHCP-запросы на сервер через маршрутизатор.

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

Клиент отправляет DHCP Discover в виде широковещательного пакета (broadcast) в своей VLAN.


Маршрутизатор (или Layer 3 коммутатор) принимает этот пакет и, если настроен DHCP Relay, пересылает его как unicast на IP-адрес сервера.

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

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

Пример:
• VLAN 10 — сеть клиентов 192.168.10.0/24
• DHCP-сервер — 192.168.100.5 (в другой сети)

# Настраиваем интерфейс VLAN 10
interface vlan 10
ip address 192.168.10.1 255.255.255.0
ip helper-address 192.168.100.5
no shutdown

# Проверяем
show ip interface vlan 10
show ip helper-address


Проверка работы

На клиенте:

ipconfig /renew


На Cisco:

debug ip dhcp server packet
show ip dhcp binding


Если всё работает, маршрутизатор будет транслировать DHCP Discover → Offer → Request → ACK между клиентом и сервером.

N.A. ℹ️ Help

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

Network Admin

OSPF на MikroTik с одной Area

OSPF (Open Shortest Path First) — протокол динамической маршрутизации, который быстро адаптируется к изменениям сети.

Даже в небольшой сети полезно объединять несколько подсетей в одну OSPF-область (Area 0), чтобы маршруты автоматически распространялись между роутерами.

Настройка на MikroTik
Задаём Router ID и включаем OSPF:

/routing ospf instance set default router-id=1.1.1.1


Добавляем сети, которые будут участвовать в OSPF:

/routing ospf network add network=192.168.10.0/24 area=backbone
/routing ospf network add network=192.168.20.0/24 area=backbone


Проверяем соседей OSPF:

/routing ospf neighbor print


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

/ip route print


N.A. ℹ️ Help

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

Network Admin

BGP Route Reflector на Cisco: уменьшение количества iBGP-сессий

В больших автономных системах прямое соединение между всеми iBGP-пирами быстро становится неудобным: количество сессий растёт как n(n-1)/2.

Route Reflector (RR) решает эту проблему — маршрутизатор принимает маршруты от iBGP-пиров и рассылает их другим пирами внутри AS.


RR делит iBGP-пиры на клиентов и неклиентов. Клиенты отправляют свои маршруты RR, а RR отражает их другим клиентам.

Из органичений один RR может стать точкой отказа, нужно использовать cluster-id для предотвращения петель, RR не генерирует маршруты самостоятельно.

Практика

Топология: RR1 как Route Reflector, R1 и R2 — клиенты.

На RR1:

router bgp 65000
neighbor 10.0.12.1 remote-as 65000
neighbor 10.0.12.1 route-reflector-client
neighbor 10.0.12.2 remote-as 65000
neighbor 10.0.12.2 route-reflector-client


На R1 и R2:

router bgp 65000
neighbor 10.0.12.254 remote-as 65000


10.0.12.254 — IP RR1. Настройка route-reflector-client указывает, что пир является клиентом RR.

Проверка:

show ip bgp summary       ! Проверка установленных сессий
show bgp ipv4 unicast ! Смотрим распространённые маршруты
ping <сеть_клиента> ! Проверяем reachability между клиентами


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

N.A. ℹ️ Help

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

Network Admin

Linux XDP и подсчёт пакетов

XDP (eXpress Data Path) — это механизм обработки пакетов на самом низком уровне сетевого драйвера Linux. 


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

Основные преимущества XDP:
Обработка пакетов почти без нагрузки на CPU.
Возможность фильтровать или модифицировать пакеты «на лету».
Подходит для мониторинга, защиты от DDoS, QoS и анализа трафика.

XDP использует eBPF-программы, которые загружаются в ядро. Эти программы работают в защищённой среде, могут обновлять карты (maps) со счётчиками, хранить статистику или даже блокировать трафик.

Например, подсчёт UDP-пакетов на определённом порту для мониторинга VoIP, игровых серверов или тестирования сетевых приложений. 


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

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

N.A. ℹ️ Help

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

Network Admin

Проверка VLAN-тегов в сети

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

порт настроен как access, а мы отправляем трафик с тегами;
тег VLAN не совпадает с конфигурацией на другом конце;
свич отбрасывает кадры из «неразрешённого» VLAN.

Смотрим теги через tcpdump

sudo tcpdump -i eth0 -nn -e vlan


• -e — выводит Ethernet-заголовок;
• vlan — фильтрует кадры с тегами 802.1Q.

Пример:

12:30:45.123456 ethertype 802.1Q (0x8100), VLAN 100, IP 192.168.10.2 > 192.168.10.1: ICMP echo request


Здесь видно, что кадр принадлежит VLAN 100.

Проверка конкретного VLAN

sudo tcpdump -i eth0 vlan 200


Покажет только кадры из VLAN 200. Полезно, чтобы убедиться, что нужный VLAN действительно идёт по линку.

Тест с arping

Можно проверить связность внутри VLAN:

sudo arping -I eth0.100 192.168.100.1


Здесь eth0.100 — подинтерфейс, созданный для VLAN 100. Если ответ есть, значит VLAN на этом пути работает.

Создание VLAN-интерфейса в Linux

sudo ip link add link eth0 name eth0.100 type vlan id 100
sudo ip addr add 192.168.100.10/24 dev eth0.100
sudo ip link set eth0.100 up


Теперь можно тестировать трафик напрямую по этому VLAN.

N.A. ℹ️ Help

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