networkadm | Unsorted

Telegram-канал networkadm - Network Admin

12610

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

Subscribe to a channel

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&utm_medium=paid&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

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

Network Admin

VLAN через Wi-Fi: возможно ли и стоит ли

Использование VLAN поверх Wi-Fi кажется логичным — если на кабеле работает, почему бы не на радиоканале? 


Но в реальности всё сложнее: не все драйверы, прошивки и точки доступа это поддерживают, а настройки могут вести к нестабильной работе сети.

Теория

802.1Q (VLAN tagging) был изначально разработан для Ethernet. В беспроводных сетях он не предусмотрен напрямую: Wi-Fi кадры не содержат поля VLAN. Вместо этого используется одна из двух схем:
Multiple SSID + VLAN mapping — каждую VLAN привязываем к отдельному SSID. Это работает стабильно, широко поддерживается и является лучшей практикой.
802.1Q tagging на клиенте — клиент формирует трафик с VLAN-тегами сам, как на Ethernet. Это редко нужно и нестабильно.

На стороне точки доступа

Большинство бизнес-уровня точек (UniFi, MikroTik, Aruba, Cisco) умеют:
• Создавать несколько SSID (до 4–8)
• Назначать каждому SSID VLAN ID
• Прокидывать теги на uplink-порт

Это транк-сценарий, и он хорошо работает с коммутаторами.

На стороне клиента

Работа с VLAN на клиенте через Wi-Fi — почти всегда ненадёжна.
Linux: можно создать VLAN-интерфейс поверх wlan0 — ip link add link wlan0 name wlan0.10 type vlan id 10, но это не работает с большинством драйверов, особенно iwlwifi.
Windows/macOS: официально не поддерживают VLAN поверх Wi-Fi вообще.
Android/iOS: не поддерживают.

Причина — аппаратная и программная реализация Wi-Fi стеков не рассчитана на VLAN’ы.

Альтернатива

Если нужно VLAN-поддержка на уровне клиента:
• Используй Ethernet-адаптер через USB или док-станцию.
• Если обязательно Wi-Fi — настрой VLAN на точке доступа, а клиент пусть подключается по SSID (VLAN mapping).

WPA2 и VLAN

В целом, WPA2 нормально работает с VLAN-ами через SSID mapping — каждый SSID получает своё шифрование, отдельную сессию и ключи. Главное — не пытаться тянуть теги внутри радиотрафика вручную.

N.A. ℹ️ Help

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

Network Admin

🚀 Станьте C++ разработчиком и откройте для себя новые возможности в IT.

Актуальное обучение от OTUS — это ваш старт в масштабную разработку на современном подмножестве C++!

👨‍💻 На курсе вы освоите все ключевые аспекты разработки на C++от основ синтаксиса до идиом и паттернов языка, продвинутой многопоточности и работы с базами данных Мы подготовим вас для работы с высоконагруженными приложениями, IoT-устройствами и сложными проектами.

⚡️ Изучите C++ с нуля и пройдите два этапа обучения: от Junior до Middle Developer. Реальные кейсы, лучшие практики и советы экспертов помогут вам освоить язык и уверенно претендовать на востребованные позиции.

❗️ Запись на курс закрывается! Оставьте заявку и получите скидку на обучение по промокоду CPPspec_6: https://otus.pw/aqGL/

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

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

Network Admin

❓Стек сетевых протоколов кажется лабиринтом, а при первой проблеме вы теряетесь в утилитах?

👉 На открытом вебинаре «Стек сетевых протоколов и с чем его едят. На примере TCP/IP.» 2 июля в 20:00 МСК мы разберём:

- Рассмотрим основы стека сетевых протоколов.
- Узнаем, как реализуется стек сетевых протоколов.
- На практике поработаем с сетевыми утилитами на хосте.
В результате вебинара:
- Сможете разобраться, как именно работает стек сетевых протоколов
- Сможете на практике использовать сетевые утилиты на хосте для отладки сетей.

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

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

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

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

Network Admin

Настройка DHCP Snooping и Dynamic ARP Inspection на Cisco

DHCP Snooping и Dynamic ARP Inspection (DAI) — это функции безопасности, которые защищают вашу сеть от атак, таких как подмена DHCP-сервера и Man-in-The-Middle атаки.

Кратко о том, что используем:

DHCP Snooping защищает от подмены DHCP-сервера, разрешая только доверенным портам передавать DHCP-ответы.
DAI предотвращает атаки, где злоумышленник подделывает ARP-запросы и может перенаправлять трафик через своё устройство.

Настройка DHCP Snooping и DAI:

1️⃣Настройка интерфейсов с ограничением скорости пакетов: Устанавливаем лимиты пакетов для недоверенных интерфейсов:

AccSwitch#conf t
AccSwitch(config)#int ra gi1/0/1-46
AccSwitch(config-if-range)#ip dhcp snooping limit rate 15
AccSwitch(config-if-range)#ip arp inspection limit rate 100


2️⃣ Настройка доверенных интерфейсов:
Указываем интерфейсы, которые будут доверенными, например, порты, подключенные к маршрутизатору или DHCP серверу:

AccSwitch(config)#int ra gi1/0/47-48
AccSwitch(config-if-range)#ip dhcp snooping trust
AccSwitch(config-if-range)#ip arp inspection trust


3️⃣ Включаем DHCP Snooping для VLAN:
Включаем функцию DHCP Snooping и задаем VLAN для мониторинга:

AccSwitch(config)#ip dhcp snooping
AccSwitch(config)#ip dhcp snooping vlan 200
AccSwitch(config)#no ip dhcp snooping information option


4️⃣ Настройка ARP Access List для статических IP:
Для устройств с статическими IP необходимо создать ARP списки доступа:

AccSwitch(config)# arp access-list DAI
AccSwitch(config-arp-nacl)# permit ip host 192.168.200.25 mac host 0017.6111.a309


5️⃣ Настройка Source Guard для привязки устройства к порту:
Чтобы гарантировать, что только определённое устройство может работать на конкретном порту:

AccSwitch(config)#ip source binding 0017.6111.a309 vlan 200 192.168.200.14 interface Gi1/0/5


6️⃣ Проверка исходных запросов на недоверенных интерфейсах: Включаем проверку источника на портах с недоверенными устройствами:

AccSwitch(config)#ip verify source


7️⃣ Включение ARP Inspection после заполнения таблицы: После того как таблица DHCP Snooping будет заполнена (приблизительно через 1-2 дня), включаем ARP Inspection:

AccSwitch(config)#ip arp inspection vlan 200


N.A. ℹ️ Help

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

Network Admin

Используем ipset для управления большими списками IP

В Linux iptables — стандарт для фильтрации трафика. Но когда нужно работать с очень большими списками IP (например, блокировать тысячи адресов), простое добавление правил в iptables становится неэффективным: таблицы растут, производительность падает, администрирование усложняется.

Решение — ipset: это специальный механизм ядра Linux для хранения наборов IP-адресов, сетей, портов и прочих объектов. iptables может ссылаться на ipset, и проверка происходит на уровне ядра очень быстро.

Создаём ipset для хранения IP-адресов

ipset create blacklist hash:ip hashsize 4096


• blacklist — имя набора.
• hash:ip — тип набора (хэш-таблица для IP).
• hashsize — размер хэш-таблицы (лучше сделать больше, если много IP).

Добавляем IP в набор

ipset add blacklist 203.0.113.10
ipset add blacklist 198.51.100.0/24


Можно добавлять как отдельные IP, так и сети.

Интегрируем ipset с iptables

Добавляем правило, которое блокирует весь трафик с IP из набора blacklist:

iptables -I INPUT -m set --match-set blacklist src -j DROP


Проверяем содержимое набора

ipset list blacklist


Выведет все IP, которые в наборе.

5. Удаляем IP из набора


ipset del blacklist 203.0.113.10


Изменения происходят без необходимости трогать iptables.

6. Сохраняем и восстанавливаем наборы ipset


Для сохранения:

ipset save > /etc/ipset.conf


Для восстановления (например, при загрузке системы):

ipset restore < /etc/ipset.conf


Расширенные возможности
Типы наборов:
 hash:net, hash:ip,port, bitmap:ip, list:set (вложенные наборы) и др.
Использование с nftables:
 ipset можно использовать и там
Динамическое обновление списков:
 можно писать скрипты, которые регулярно подтягивают списки IP из внешних источников и обновляют ipset.
Списки с TTL:
 можно создавать наборы с временем жизни IP.

Пример: блокировка спам-ботов из внешнего списка

Получаем список IP из внешнего файла:

wget -O spamlist.txt https://example.com/spam-ips.txt


Очистим старый набор и создадим новый:

ipset destroy blacklist
ipset create blacklist hash:ip hashsize 4096


Загружаем IP из файла:

for ip in $(cat spamlist.txt); do
ipset add blacklist $ip
done


Правило в iptables (если ещё не добавлено):

iptables -I INPUT -m set --match-set blacklist src -j DROP


N.A. ℹ️ Help

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

Network Admin

Что происходит при ping 127.0.0.1: путь ICMP-пакета в loopback

ping 127.0.0.1 кажется банальной вещью, но под капотом — полноценный сетевой стек. Вот что происходит по шагам:

Сначала утилита ping создает RAW-сокет и формирует ICMP Echo Request. Пакет получает IP-адрес источника 127.0.0.1 и тот же адрес в качестве получателя.


Пакет проходит через iptables/netfilter и может быть отброшен или модифицирован (например, логгирован или помечен). Если политика DROP — ICMP даже на localhost не дойдет.

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

Приемный стек получает ICMP Echo Request и отправляет в ответ Echo Reply — снова через loopback.

Утилита ping ловит Echo Reply и выводит строку с временем RTT, даже если интерфейс lo отключен — это чисто внутренняя маршрутизация.


Как можно сломать

Отключен интерфейс lo: ifconfig lo down — ping не будет работать, хотя кажется, что это локальный вызов.

ICMP фильтруется iptables -A INPUT -p icmp -j DROP — даже пинг 127.0.0.1 будет теряться.

Сломана маршрутизация: удалена запись 127.0.0.0/8 dev lo — пакеты просто не найдут путь.


Полезные команды для диагностики

ip route get 127.0.0.1 — какая таблица маршрутов применяется
iptables -L -v -n — проверка, не режется ли ICMP
tcpdump -i lo icmp — убедиться, что пакеты доходят
ss -npi — посмотреть, что происходит с сокетом

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

Использование BPF/XDP для фильтрации и обработки пакетов на уровне ядра

eBPF (Extended Berkeley Packet Filter) — мощный механизм в Linux, позволяющий запускать пользовательский код прямо в ядре.

XDP (eXpress Data Path) — это технология на базе eBPF, которая даёт возможность перехватывать и обрабатывать сетевые пакеты максимально рано — ещё на этапе драйвера сетевой карты, обеспечивая минимальную задержку.

Что даёт eBPF/XDP?
Фильтрация и блокировка пакетов с высокой производительностью, без перехода в пространство пользователя
Возможность создавать сложные алгоритмы обработки пакетов (например, DDoS mitigation, load balancing)
Сбор статистики и мониторинг сетевого трафика без значительной нагрузки

1️⃣ Проверяем поддержку ядром:

uname -r  
grep CONFIG_BPF /boot/config-$(uname -r)


Нужны опции CONFIG_BPF=y и CONFIG_XDP_SOCKETS=y (в идеале).

2️⃣ Устанавливаем инструменты:

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


3️⃣ Пишем простой eBPF-программу на C для XDP (например, фильтрация пакетов по IP):

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

SEC("xdp")
int xdp_prog_simple(struct xdp_md *ctx) {
// Логика фильтрации, например, блокируем пакеты с определённым IP
// Возвращаем XDP_DROP или XDP_PASS
return XDP_PASS;
}

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


4️⃣ Компилируем и загружаем программу с помощью ip или утилит из пакета bpftool.

Пример запуска и проверки:

sudo ip link set dev eth0 xdp obj xdp_prog_simple.o sec xdp  
sudo bpftool net show


N.A. ℹ️ Help

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

Network Admin

Диагностика нестабильного BGP: flap dampening, дебаг и симуляция через ExaBGP

BGP-сессия держится, но маршруты “прыгают” — то есть появляются, исчезают, снова появляются. Такое называют route flapping.

Причины:
– нестабильный апстрим
– неправильная redistrib
– ошибки конфигурации
– нестабильный маршрут через динамику IGP под BGP

1️⃣Проверяем статус соседства

vtysh -c "show ip bgp summary"


— Счётчики “PfxRcd” и “Up/Down” подсказывают: есть ли frequent resets.

2️⃣ Flap dampening: отключено по умолчанию, но может помочь

Dampening — это механизм подавления “шумных” маршрутов.

Пример в FRRouting:

router bgp 65001
bgp dampening 15 750 2000 30


Здесь:
• полное подавление на 30 мин
• маршрут считается флапающим при 750 penalty
• decay каждые 15 сек до 2000

3️⃣ Подробный дебаг

debug bgp updates
debug bgp neighbor-events


— Можно увидеть, кто отсылает withdraws и какие маршруты именно флапают.

Не забудьте отключать:

undebug all


4️⃣ Симуляция поведения с ExaBGP

Если хотите локально проверить, как сосед реагирует на флап — используйте ExaBGP:

announce route 192.0.2.1/32 next-hop 10.0.0.1
withdraw route 192.0.2.1/32 next-hop 10.0.0.1


Через cron или loop можно повторять с паузами и отслеживать реакцию BGP-пира.

5️⃣ Где искать root cause
• Нестабильный маршрут в IGP? → traceroute и ping с мониторингом
• Проблема на пограничном оборудовании? → SNMP, show interfaces, dmesg
• Баги в прошивке или переполнения RIB? → show bgp memory, show bgp с фильтрами

N.A. ℹ️ Help

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

Network Admin

Split-horizon DNS: одна зона, разные ответы

Пример: api.example.com
• во внутренней сети → 10.0.0.10
• извне через интернет → 195.13.24.52

Применяется:
— в DMZ и корпоративных VPN
— в Kubernetes, когда нужен ingress снаружи и кластерный IP внутри
— в локальных тестовых сетях, чтобы не гонять трафик наружу

Вариант 1: dnsmasq с разными адресами для одной зоны

# /etc/dnsmasq.conf
interface=eth0
local=/example.com/
address=/api.example.com/10.0.0.10

interface=eth1
address=/api.example.com/195.13.24.52


eth0 — внутренняя сеть, eth1 — внешняя

Вариант 2: bind9 с view

# /etc/bind/named.conf

acl "internal" {
10.0.0.0/8;
192.168.0.0/16;
};

view "internal" {
match-clients { internal; };
zone "example.com" {
type master;
file "/etc/bind/zones/internal.zone";
};
};

view "external" {
match-clients { any; };
zone "example.com" {
type master;
file "/etc/bind/zones/external.zone";
};
};


Создаём два файла зоны с разными A-записями для одного имени.

Проверяем

dig @127.0.0.1 api.example.com


Тестируем с разных IP, смотрим, какой ответ вернётся.

N.A. ℹ️ Help

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

Network Admin

Минимальное PXE-развёртывание Linux без Ansible и Kickstart

Когда нужно развернуть десятки машин в изолированной сети, но без тяжёлых систем — можно обойтись одним HTTP-сервером и iPXE.

Что потребуется:

– DHCP-сервер с опцией загрузки iPXE
– HTTP-сервер (nginx или простой python3 -m http.server)
– initrd, kernel и preseed.cfg

iPXE: запуск через BIOS/UEFI

DHCP-сервер (например, dnsmasq) должен выдавать клиентам undionly.kpxe или ipxe.efi в зависимости от режима загрузки.

# Пример для dnsmasq
dhcp-boot=undionly.kpxe
enable-tftp
tftp-root=/srv/tftp


HTTP-меню iPXE

Создаём boot.ipxe:

#!ipxe
kernel http://192.168.0.1/boot/vmlinuz
initrd http://192.168.0.1/boot/initrd.gz
imgargs vmlinuz auto=true priority=critical preseed/url=http://192.168.0.1/preseed.cfg
boot


Preseed

Создаём preseed.cfg, чтобы всё происходило без ввода руками:

d-i debian-installer/locale string en_US
d-i netcfg/get_hostname string host-auto
d-i partman-auto/method string lvm
d-i passwd/root-password password toor
d-i passwd/root-password-again password toor
d-i pkgsel/include string openssh-server


Можно тонко настроить — от разделов до запуска postinst-скриптов.

Структура HTTP-сервера

/var/www/html/
├── boot/
│ ├── vmlinuz
│ └── initrd.gz
├── preseed.cfg
└── boot.ipxe


N.A. ℹ️ Help

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

Network Admin

🖥 Станьте профессионалом в администрировании Windows с OTUS!

Хотите уверенно управлять инфраструктурой на базе Windows, автоматизировать рутинные задачи и повышать безопасность?

🔥Курс «Администратор Windows» поможет системным администраторам освоить на профессиональном уровне работу с Windows Server, Active Directory, PowerShell и многим другим.

Что вас ждёт:

▪️Глубокое понимание архитектуры Windows и Active Directory, включая настройку DNS, DHCP и групповых политик.

▪️Освоение PowerShell для автоматизации задач и управления инфраструктурой.

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

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

❗️Не пропустите:

В группу обучения набирается ограниченное количество мест. Оставьте заявку прямо сейчас и успейте занять место в группе по спеццене. Предварительно ознакомьтесь с программой курса.

👉Оставить заявку https://otus.pw/DHfb/

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

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

Network Admin

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

Вы узнаете:
— Как устроена типичная траектория освоения Linux для администратора
— Какие навыки нужно освоить в первую очередь, а что может подождать
— Где и как практиковаться, чтобы получить реальные навыки
— Какие инструменты, подходы и привычки помогают быстрее разобраться в системе

В результате вебинара вы:
— Сможете составить личный план изучения Linux
— Поймёте, на что обращать внимание в первую очередь и как не утонуть в деталях
— Научитесь выбирать подходящие инструменты и ресурсы для практики
— Получите советы, как сохранять мотивацию и отслеживать прогресс.

Этот урок проходит в преддверии старта курса «Administrator Linux. Basic». На курсе вас ждет: плавное погружение в Bash, настройка Nginx/Apache, Docker, MySQL, системы мониторинга Grafana и Prometheus.

👉 Успейте занять своё место: https://otus.pw/fErT/

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

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

Network Admin

🔄 Обновления Windows: что должен знать администратор?

🔥 23 июня в 20:00 мск приглашаем на бесплатный вебинар «Обновления Windows: что должен знать администратор?»


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

Что вас ждёт:


– как устроен механизм обновлений в Windows 10/11 и Server,
– какие средства Windows можно использовать для настройки обновлений,
– как тестировать и откладывать обновления в корпоративной среде,
– какие риски возникают после обновлений и как их минимизировать.

📌 Убедитесь, что обновления работают на пользу инфраструктуре, а не наоборот.

👉 Регистрируйтесь по ссылке: https://otus.pw/uiyy/

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

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

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