Сетевик Джонни // Network Admin
رفتن به کانال در Telegram
Я Сетевик Джонни, моя цель в телеграме рассказать все о сетях в доступной форме! Сотрудничество: @stein_media
نمایش بیشتر5 893
مشترکین
-124 ساعت
-27 روز
-430 روز
آرشیو پست ها
🎉 Результаты розыгрыша:
🏆 Победители:
1. Sergey
2. Idi (@kto_v_shkafu)
✔️Проверить результаты
⚡️ YADRO×SPRINT OFFER: оффер для Network Engineer in Test за 3 дня!
Хотите работать в команде, которая создаёт инфраструктуру для дата-центров и обеспечивает надёжность сетевых систем мирового уровня?
Мы в поиске специалистов в команду KORNFELD, которая занимается тестированием коммутаторов различных типов и сетевого оборудования YADRO. Инженеры анализируют поведение систем, актуализируют требования, создают сценарии и подходы к тестированию — от функционального до надёжности и отказоустойчивости, а также помогают совершенствовать архитектуру продуктов и пользовательский опыт.
💡 Как всё проходит:
1️⃣ Оставьте заявку до 30 ноября, пройдите HR-скрининг и технический скрининг.
2️⃣ Пройдите техническое и менеджерское интервью.
3️⃣ Получите оффер всего за 3 дня.
🚀 Основные задачи:
• Анализ продуктовых требований и подготовка use cases.
• Проведение E2E- и failover-тестирования.
• Разработка тест-кейсов и тест-планов для нового и уже существующего функционала.
• Участие в совместных испытаниях и взаимодействие с командами разработки, L3 и сервиса.
🔥 Для нас важны:
• Опыт работы с сетевым оборудованием (Cisco, Huawei, Juniper и др).
• Глубокие знания протоколов, применяемых в ЦОДах (BGP, OSPF, VxLAN, VRRP и др.).
• Навыки тестирования и траблшутинга.
• Внимательность, системность и интерес к сетевым технологиям.
💙 Оставляйте заявку до 30 ноября, присоединяйтесь к инженерному сообществу YADRO и вносите вклад в развитие сетевых технологий будущего!
🥷 Ищем InfoSec специалистов. Удалёнка, релокейт платим много!
Специально для Вас, собираем лучшие вакансии по InfoSec с прямыми контактами в Telegram на канале @it_match_cybersec
Подпишись чтобы не упустить свой шанс получить лучший оффер!
➡️ Посмотреть вакансии
🥷 Кто идёт на Kuber Conf by AOT 4 декабря?
Устраиваю розыгрыш 2 билетов на Kuber Conf by АОТ — первую коммьюнити конференцию по K8s в России, которая пройдет 4 декабря в Москве.
В программе — только хардкор и реальные кейсы от команд Авито,Т-Банка, Vitastor, Beget, VK Cloud, Yandex Cloud, Selectel и других.
🟣 Изменения в Cluster API без пересоздания машин
🟣 Как строили платформу деплоя в Т-Банке
🟣 Практический deep-dive в CNI chaining
🟣 Безопасный Gatekeeper в архитектуре k8s-in-k8s
🟣 Поддержка Kubernetes в Vitastor
🟣 Karpenter-провайдер своими руками — что внутри
📅 20 ноября в 12:00 выберем 2 счастливчиков.
Чтобы участвовать: Вам необходимо подписаться на канал, активировать бот снизу и ждать 20.11. В 12:00 по МСК с помощью бота-рандомайзера будет выбран победитель!
Важно: Это именно коммьюнити-движуха, которую организовали VK Cloud, Флант и Yandex Cloud под эгидой будущей Ассоциации облачно-ориентированных технологий (АОТ). Так что скучно не будет.
Программа и билеты
🥷 Кто идёт на Kuber Conf by AOT 4 декабря?
Устраиваю розыгрыш 2 билетов на Kuber Conf by АОТ — первую коммьюнити конференцию по K8s в России, которая пройдет 4 декабря в Москве.
В программе — только хардкор и реальные кейсы от команд Авито,Т-Банка, Vitastor, Beget, VK Cloud, Yandex Cloud, Selectel и других.
🟣 Изменения в Cluster API без пересоздания машин
🟣 Как строили платформу деплоя в Т-Банке
🟣 Практический deep-dive в CNI chaining
🟣 Безопасный Gatekeeper в архитектуре k8s-in-k8s
🟣 Поддержка Kubernetes в Vitastor
🟣 Karpenter-провайдер своими руками — что внутри
📅 20 ноября в 12:00 выберем 2 счастливчиков.
Чтобы участвовать: Вам необходимо подписаться на канал, активировать бот снизу и ждать 20.11. В 12:00 по МСК с помощью бота-рандомайзера будет выбран победитель!
🥷 Как работает DNS в Linux. Часть 1: порядок реализации запросов и приоритеты
Вот типичный порядок разрешения имени в Linux при использовании glibc и NSS:
1. Приложение вызывает getaddrinfo();
2. getaddrinfo() обращается к системе NSS и следует заданному в nsswitch.conf порядку;
3. Если первым указан модуль files, имя ищется в файле /etc/hosts;
4. Если включён модуль dns, NSS вызывает libnss_dns.so, которая обращается к функциям из libresolv;
5. libresolv формирует DNS-запрос через res_query() и отправляет его с помощью res_send() на указанные в resolv.conf адреса DNS-серверов, затем получает и возвращает IP-адрес.
#DNS #Linux | 😏 @iscode
🥷 Как работает DNS в Linux. Часть 1: обработка resolv.conf и что делает res_query()
Файл /etc/resolv.conf содержит основные настройки клиента DNS, а именно: список серверов, параметры, search-домены. Например:
nameserver 192.168.1.1
search dev.local
options timeout:2 attempts:3
— Glibc и libresolv парсят его вручную при необходимости.
Важные моменты и ограничения:
- опции вроде rotate, ndots, timeout и attempts влияют на поведение запроса;
- опция rotate используется для циклического выбора серверов из списка nameserver, но она не поддерживается в musl;
- search используется для автодополнения, например, если имя db01 не является FQDN, к нему будут по очереди подставляться домены из директивы search.
Важно отметить, что файл resolv.conf может быть динамически изменён DHCP-клиентом, NetworkManager или утилитой resolvconf, что может вызывать путаницу при решении проблем с DNS. Об этом мы поговорим в одной из следующих частей.Касательно
res_query(), это функция из libresolv, вызываемая внутренне в процессе разрешения имени. Она формирует DNS-пакет вручную и отправляет его на указанные в resolv.conf DNS-серверы. Её используют утилиты вроде nslookup, а также некоторые программы, которые обходят getaddrinfo().
Функция отправляет DNS-запросы с помощью res_send() по UDP, а при необходимости, например, при получении ответов, превышающих 512 байт, переключается на TCP.
🕹 Важно: при использовании res_query() вы не получите информацию из /etc/hosts, NSS или других источников. Это DNS-запрос в чистом виде. Поэтому dig или nslookup могут получить один результат, а, например, ping или curl — совсем другой.
1. res_query() считается устаревшей функцией, использовать ее не рекомендуется. Для более удобной и безопасной работы с DNS лучше отдать предпочтение getaddrinfo() или таким библиотекам, как c-ares или libdns.
2. c-ares — легковесная библиотека для асинхронных DNS-запросов, часто используется в высоконагруженных приложениях (например, curl и Node.js)
3. libunbound (из проекта Unbound) — более мощная библиотека с поддержкой DNSSEC и гибкой настройкой запросов.
В следующем посте расскажу о порядке реализации запросов и приоритетов, ожидайте, сегодня продолжение 🪳PT NGFW за стеклом. Этап 9. Секреты модулей безопасности
Всем привет! На связи наше технологическое реалити-шоу, где мы показываем, как на самом деле устроена магия внутри PT NGFW.
🔥 В новом эпизоде мы заглянем в самое СЕРДЦЕ системы — ее модули безопасности.
🗓 19 НОЯБРЯ 2025
⏰ С 14:00 до 15:00 мск
Наш резидент, Евгений Кутумин, эксперт группы разработки, расскажет, как рождается та самая интеллектуальная защита, которая предвосхищает угрозы.
🎯 В фокусе этого выпуска:
▪️ Предотвращение вторжений: десятки тысяч сигнатур и проверка расшифрованного трафика 💪
▪️ Контроль приложений: глубокое распознавание более 4000 приложений, включая уникальные для России 🕵️
▪️ Свой антивирус — свои правила. Быстрый и вшитый в ядро для мгновенной реакции ⚡️
▪️ Песочница: лаборатория для анализа угроз. Подозрительный файл? Мы его изолируем и посмотрим, не подвергая вашу сеть риску, что он сделает 🧪
▪️ Анализ угроз: прямая интеграция с PT Threat Intelligence Feeds 🚀
Регистрируйтесь, чтобы узнать, как создается производительный российский NGFW!
🥷 Как работает DNS в Linux. Часть 1: Библиотеки
Нижеперечисленные библиотеки экосистемы Linux являются ключевыми и предоставляют приложениям определенный набор функций, включая разрешение доменных имен.
1. Glibc — наиболее распространённая реализация стандартной библиотеки языка C, реализует высокоуровневые функции, такие как getaddrinfo(). Она взаимодействует с NSS (Name Service Switch) для определения источников разрешения имён (например, /etc/hosts, DNS) и использует библиотеку libresolv для выполнения DNS-запросов.
- Glibc может использовать системные вызовы, такие как sendto и recvfrom для отправки и получения DNS-запросов по UDP или TCP. Широко распространена в большинстве дистрибутивов Linux (Ubuntu, Debian, Fedora и др.)
2. Musl — альтернативная стандартная библиотека C, разработанная с упором на минимализм, производительность и совместимость со стандартами POSIX. Она используется в легковесных дистрибутивах, таких как Alpine Linux.
- Musl реализует разрешение доменных имён напрямую, без использования NSS, самостоятельно читает /etc/hosts и /etc/resolv.conf и отправляет DNS-запросы, не используя внешние библиотеки вроде libresolv. Однако musl имеет ограничения в поддержке некоторых параметров resolv.conf, таких как rotate или сложные search.
3. Libresolv.so — является частью glibc, реализующая низкоуровневую работу с DNS, выполняя такие запросы, как res_query() и res_send(), но может использоваться независимо в некоторых приложениях вроде nslookup (что позволяет выполнять DNS-запросы напрямую, минуя стандартные механизмы разрешения имен).
- Libresolv используется glibc для выполнения DNS-запросов, когда NSS указывает, что нужно обратиться к DNS. Она читает /etc/resolv.conf, формирует DNS-пакеты и отправляет их на указанные серверы по UDP или TCP.
Стоит отметить, что некоторые приложения, например, написанные на Go, могут полностью обходить glibc/musl и использовать собственные DNS-резолверы.
#DNS #Linux | 😏 @iscode
🥷 Как работает DNS в Linux. Часть 1: NSS
NSS реализован на основе подгружаемых модулей — динамических библиотек, соответствующих API glibc, таких как libnss_dns.so, libnss_files.so, libnss_myhostname.so и других. Они функционируют как плагины и подгружаются библиотекой glibc во время выполнения, отвечая за конкретные методы разрешения IP-адресов. Порядок и набор источников, используемых для разрешения имен, задается в конфигурационном файле /etc/nsswitch.conf.
Пример содержания nsswitch.conf:
# /etc/nsswitch.conf
passwd: files systemd
group: files systemd
shadow: files
gshadow: files
hosts: files dns myhostname
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Например, строка в модулях с содержанием ``hosts: files dns`` говорит, что сначала ищется соответствие в локальном файле /etc/hosts, и если модуль files возвращает результат, то последующие модули, такие как dns (делающий DNS-запрос) не будут вызваны.
Соответственно, если в nsswitch.conf строка hosts не включает упоминание модуля dns, то конфигурационный файл resolv.conf, содержащий настройки обращения к DNS-источникам, проигнорируется, и DNS-запрос не будет сформирован.🕹 Также в NSS могут задействоваться модули mdns (для Zeroconf/Avahi), nis (в старых системах) и myhostname. Модуль myhostname является частью systemd и используется для разрешения локального имени хоста. Он не всегда присутствует в минималистичных системах, таких как Alpine Linux. В следующем посте расскажу о библиотеках экосистемы Linux, ожидайте, сегодня продолжение 🪳
🥷 Как работает DNS в Linux. Часть 1: от getaddrinfo до resolv.conf
Когда ты вводишь в браузере имя сервера или доменное имя сайта, pingуешь или запускаешь любое удаленное приложение, операционная система должна преобразовать указанные имена в IP-адреса. Этот процесс называется разрешением доменного имени. На первый взгляд он может показаться весьма прозрачным, однако за ним скрывается многослойный механизм.
Данный пост — начало серии, посвященной низкоуровневой архитектуре разрешения имен. Поговорим о том, как устроен этот процесс в Linux на уровне ядра, различных библиотек C и системных вызовов.
— Многие знают, что процесс разрешения имен в Linux — это не просто «вызов DNS», а цепочка из библиотек, конфигурационных записей и вызовов, зависящих от реализации конкретного приложения, используемых типов библиотек и системных настроек.
В этой части постараемся разобрать все по слоям и собрать некую фундаментальную базу в кратком и доступном виде.
Вершина айсберга: почти все современные приложения в Linux, от curl до systemd, используют функцию
getaddrinfo() из стандартной библиотеки C (glibc или musl). Именно она выполняет основную работу по переводу доменного имени в IP-адрес (A, AAAA-записи) в зависимости от настроек и запроса.
При этом она не только выполняет DNS-запросы, но и обрабатывает другие типы данных, такие как имена сервисов, например, преобразует имя сетевого сервиса “http” в порт 80, используя /etc/services. Это делает ее универсальным инструментом для сетевых приложений.
Функция getaddrinfo() возвращает список структур addrinfo, каждая из которых содержит IP-адрес, тип сокета, протокол и другие параметры. Это позволяет приложениям выбирать наиболее подходящий адрес для подключения.
Пример использования getaddrinfo() в псевдокоде:
```
struct addrinfo hints, *res;
zero_memory(hints);
hints.ai_family = ANY_FAMILY;
hints.ai_socktype = TCP;
err = getaddrinfo("example.com", "http", hints, &res);
if (err == 0) {
for each addr in res:
use(addr)
freeaddrinfo(res);
} else {
print(gai_strerror(err));
}
```
При этом getaddrinfo() — это вершина айсберга. Для получения IP-адреса она вызывает цепочку внутренних механизмов, прописанную в конфигурационных данных системы. Один из этих механизмов — NSS (Name Service Switch), о нём мы поговорим в следующем посте.
#DNS #Linux | 😏 @iscodeМы сидели в кафе. И через пару дней запись разговора всплыла в переписке. Ни телефона не трогал, ни диктофонов не видел.Это реальная история от знакомого, у которого в рюкзаке нашли AirTag. Случайность? Вряд ли. Сегодня, чтобы кого-то прослушать, не нужен спецдопуск. Достаточно смартфона с записью, диктофона с маркетплейса или маячка за 3000 рублей. Мы собрали в одном PDF-гайде то, что сам использую при проверке помещений, авто и техники — чтобы отследить прослушку, понять как устроены “жучки” и не попасться. 🌟 СКАЧАТЬ ГАЙД (сохраняйте, пригодится) ➡️ Хотите разобраться глубже? Ждем вас на курсе «OSINT: технология боевой разведки». Учимся находить нужную информацию в открытых источниках: от утечек и соцсетей до геолокации и метаданных. Всё — с практикой и фокусом на RU-сегмент. 🟢 Запись открыта до 30 октября 🟢 от 68 990 руб 🟢 Промокод на скидку в методичке! По всем вопросам: ⚡️ @CodebyManagerBot
Безопасно ли ваше облако?
8 октября на Selectel Tech Day эксперты расскажут, как обезопасить облачную инфраструктуру на практике и защитить данные от шифровальщиков и других угроз.
Присоединяйтесь, чтобы:
🔺Узнать о реальном опыте СТО и топ-менеджеров технологических компаний.
🔺Обсудить главные тренды и технологии с людьми, которые развивают IT-рынок.
🔺Познакомиться с экспертами и лично задать интересующие вопросы.
Участие бесплатное, нужно только зарегистрироваться →
Реклама. АО "Селектел". erid:2W5zFJmf79A
🥷 Джонни вещает: как провести стресс-тестирование вашей системы Linux
Стресс-тестирование Linux — ключевой этап подготовки серверов к реальной работе.
Оно позволяет выявить слабые места системы, проверить её устойчивость под высокой нагрузкой и подготовиться к неожиданным пиковым ситуациям. Разберем простые методы и мощные инструменты, которые помогут нагрузить систему и оценить её поведение.
Методы стресс-тестирования Linux
1. Нагрузка через циклы
Создание бесконечных циклов нагружает процессор. Это простой способ проверить систему.
Запуск нагрузки:
for i in 1 2 3 4; do while : ; do : ; done & done
Каждый цикл запускается в фоновом режиме и увеличивает нагрузку на ЦП.
Мониторинг нагрузки:
Запускайте команду uptime каждые 30 секунд, чтобы наблюдать за изменением средней загрузки:
while true; do uptime; sleep 30; done
Остановка нагрузки:
Чтобы завершить циклы, используйте kill, указав номера заданий:
kill %1 %2 %3 %4
2. Использование утилиты stress
stress — мощный инструмент, который позволяет создавать нагрузку на различные ресурсы системы: ЦП; память; ввод/вывод
Примеры использования stress:
• Нагрузка на процессор:
stress --cpu 4
Чем больше указано ядер (--cpu), тем выше нагрузка на систему.
• Нагрузка на память:
stress --vm 2
• Нагрузка на ввод/вывод (I/O):
stress --io 4
Для анализа работы ввода/вывода используйте iotop:
sudo iotop
3. Написание скриптов для мониторинга
Для удобного отслеживания нагрузки вы можете написать скрипт. Например, для мониторинга использования памяти:
#!/bin/bash
while true
do
free
sleep 30
done
Скрипт отображает использование памяти каждые 30 секунд. Вы можете адаптировать его под свои задачи.
Проведение стресс-тестов помогает: подготовиться к реальным пиковым нагрузкам; улучшить производительность системы; найти и устранить возможные проблемы на этапе разработки.
#Stress | ✋ @iscode
🥷 Джонни вещает: установка и настройка Sysmon
Установка и настройка простой и эффективной системы мониторинга за событиями на компьютере, в том числе и нарушения безопасности. На основе этой системы можно вытроить надежную и бесплатную систему защиты от хакерских атак и вирусного заражения. Так же она может служить источником данных для комплексных систем безопасности EDR и SIEM.
— Установка системы занимает считанные секунды и может быть полностью автоматизирована.
EDR (Endpoint Detection & Response) - система обнаружения вредоносной активности на конечных точках
SIEM (Security information and event management) - система анализа в реальном времени событий безопасности
#sysmon #EDR #SIEM | 😏 @iscode
📊 Статистика DDoS продолжает бить рекорды
1 сентября была зафиксирована крупнейшая атака этого года: 5,76 млн задействованных устройств из разных регионов.
Инцидент успешно отражён специалистами Curator, и это уже третий рекорд в 2025 году.
Подробный разбор атаки и методов защиты — в посте
MTC Engineer Hack — хакатон на стыке инженерии и ИТ от МТС. Реши технический кейс онлайн и получи приглашение в финал, где сможешь поработать на реальном оборудовании МТС. 12 победителей разделят призовой фонд в 500 000 рублей.
📎 Зарегистрироваться: https://cnrlink.com/mtsengineerhackiscode
🎯 Для кого: студенты и молодые инженеры в областях аппаратной разработки, радиоинженерии, сетевых технологий, DevOps.
💻 Формат: онлайн-тур + офлайн-финал в Москве
👤 Участие: индивидуальное
Приглашаем всех, кто интересуется телеком-отраслью, хочет прокачать навыки в инженерии и попробовать себя в задачах МТС. Будет отлично, если ты владеешь одним из навыков:
→ разбираешься в сотовых сетях и оборудовании базовых станций;
→ умеешь работать с данными и статистикой;
→ знаком с LTE/NR и схемотехникой;
→ интересуешься цифровой обработкой сигналов;
→ понимаешь маршрутизацию и пишешь скрипты для сетевого оборудования.
C 3 по 5 октября пройдёт онлайн-этап: участники готовят кейс по своему профилю. 11 октября — встреча финалистов на площадке и работа с настоящим оборудованием МТС, где эксперты компании помогут разобраться в деталях и дадут советы по доработке решений.
Что тебя ждёт:
🔺 Задачи, близкие к реальной работе инженеров МТС: от проектирования до оптимизации сетей.
🔺 Возможность познакомиться с экспертами компании и показать им свои решения.
🔺 Практика, которая позволит почувствовать себя частью технологической команды МТС.
🔺 Офлайн-финал в Москве: живое общение и защита проектов. Билеты и проживание оплатят организаторы.
Регистрация открыта до 1 октября включительно: https://cnrlink.com/mtsengineerhackiscode
Впервые на экранах! Онлайн-марафон «PT NGFW: исповедь инженеров» 😲
Пять дней инженерного хардкора: с 15 по 19 сентября, 11:00-13:00💪
Кажется, команда готова исповедоваться: за одну неделю расскажет не только, как работает PT NGFW, но и почему он работает именно так. Это будет не просто теория, а живой обмен опытом, разбор реальных кейсов и практические советы, которые можно сразу применить в работе.
В спикерах — вся команда PT NGFW.
🏆Головоломки от наших экспертов и шанс выиграть собственный PT NGFW*🏆
Регистрируйтесь на сайте
Информация о конкурсе
Станьте разработчиком нейро-сотрудников на Python и зарабатывайте от 150.000р в месяц 🔥🔥🔥
Мы научим вас создавать топовых нейро-сотрудников на базе GPT-4 Omni, и вы сможете:
1️⃣ Устроиться разработчиком в крупную компанию и зарабатывать от 150 тысяч ₽ в месяц
2️⃣ Разрабатывать такие проекты на заказ и зарабатывать от 500 тысяч ₽ за проект
3️⃣ Создать нейро-сотрудника в вашей компании и вырасти на +30-100% в зарплате
Что будет на интенсиве?
🧬 Теория: как создаются нейро-сотрудники с GPT-4o на Python
🧬 Практика: мы создадим нейро-консультанта, нейро-HR, нейро-маркетолога и др.
Ведущий интенсива - Senior AI разработчик нейросетей и основатель Университета искусственного интеллекта
🔥 Регистрируйтесь на бесплатный интенсив! Встречаемся в ближайший четверг!
🥷 Джонни вещает: проброс авторизации
OpenSSH позволяет использовать сервера в качестве плацдарма для подключения к другим серверам, даже если эти сервера недоверенные и могут злоупотреблять чем хотят.
🆘 Для понимания ситуации, пример ниже будет ссылаться на вот эту схему (click)
Допустим, мы хотим подключиться к серверу 10.1.1.2, который готов принять наш ключ. Но копировать его на 8.8.8.8 мы не хотим, ибо там проходной двор и половина людей имеет sudo и может шариться по чужим каталогам.
— Компромиссным вариантом было бы иметь «другой» SSH-ключ, который бы авторизовывал user@8.8.8.8 на 10.1.1.2, но если мы не хотим пускать кого попало с 8.8.8.8 на 10.1.1.2, то это не вариант (тем паче, что ключ могут не только поюзать, но и скопировать себе «на чёрный день»).
⚙️ SSH предлагает возможность форварда SSH-агента (это такой сервис, который запрашивает пароль к ключу). Опция ssh -A пробрасывает авторизацию на удалённый сервер.
Вызов выглядит так: ssh -A user@8.8.8.8 ssh user2@10.1.1.2
Удалённый SSH-клиент (на 8.8.8.8) может доказать 10.1.1.2, что мы это мы только если мы к этому серверу подключены и дали SSH-клиенту доступ к своему агенту авторизации (но не ключу!).
#SSH #Authorization | 😊 @iscode
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
