Как стать автором
Обновить
-8
0.1

Пользователь

Отправить сообщение

Чиним замедление YouTube на уровне роутера

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров537K

Всех категорический приветствую. Буквально первого августа, прямо в ночь, стал у меня жутко лагать YouTube. Естественно, мне это сильно не понравилось. Ну, что же, давайте разбираться, почему и как это исправить в условиях моей личной сети.

Что случилось?

Хорошо описано произошедшее здесь, на Хабре. Если совсем кратко, своими словами - во время установки SSL соединения в открытом виде домен передается к которому мы подключаемся(так называемое SNI). И если это googlevideo.com то начинают твориться "интересные вещи". Можно проверить это локально коммандами из статьи.

$ curl https://speedtest.selectel.ru/100MB -o/dev/null

Читать далее
Всего голосов 351: ↑349 и ↓2+404
Комментарии931

Route-based VPN между Linux StrongSwan и Cisco ISR

Время на прочтение4 мин
Количество просмотров9.2K

Всем доброго времени суток!

Захотелось поделиться реализацией Hun-and-Spoke VPN между Cisco ISR (в качестве споков) и Linux+StrongSwan swanctl (в качестве хабов).

Небольшая предыстория.

На данный момент, в нашей инфраструктуре используется моновендорная среда, базирующаяся на решениях Cisco. В свете последних событий, начали подыскивать возможные варианты замещения как на стороне бранчей (споков), так и на стороне хабов.

Хабы располагаются в ДЦ в виде Cisco CSR. И вот с ними и была основная проблема, так как отечественные решения не могут пока предложить что-то наподобие полностью готового виртуального роутера (поправьте в комментариях, если я ошибаюсь).

В итоге, пока остановились на решении Linux+StrongSwan+FRR.

Читать далее
Всего голосов 5: ↑4 и ↓1+4
Комментарии1

Три оттенка Kubernetes Operator, или чем слушает Prometheus

Уровень сложностиСредний
Время на прочтение33 мин
Количество просмотров2.8K

Это ещё не туториал, но относительно подробный гайд о том, как компоненты Операторов взаимодействуют с Kubernetes API на уровне кода (Golang), чтобы реализовать заложенную в них логику для автоматизации вполне определённых практических задач. И да, всем известно, максимальный уровень автоматизации работы в Кубернетес ограничен лишь желанием самих разработчиков избавиться от рутины в близкой для них предметной области, потому я разделил текст на три части, чтобы вы могли без промедления промотать к наиболее актуальной, в которой узреете нечто достойное вашего внимания:

1. Кастомные ресурсы - мониторы Прометеус-оператора
2. Информеры и контроллеры
3. Сайдкар-Инжекторы с помощью аннотаций и вебхуков

Читать далее
Всего голосов 6: ↑4 и ↓2+3
Комментарии0

Tcpdump на разных уровнях

Время на прочтение4 мин
Количество просмотров13K

Утилита Tcpdump знакома любому сетевому администратору, с ее помощью мы собираем трафик для последующего анализа. Типичная история – собираем траффик, приходящий на нужный интерфейс и затем уже анализируем его Wireshark. Подход практичный, ведь Wireshark Действительно очень мощный и полезный инструмент и о нем мы напишем еще не одну статью, но сегодня речь пойдет про Tcpdump. Не секрет, что утилита Tcpdump не интерпретирует протоколы прикладного уровня, ограничиваясь работой с транспортным уровнем. Однако, в этой статье мы рассмотрим различные варианты использования утилиты Tcpdump для более глубокой фильтрации трафика.

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

Читать далее
Всего голосов 21: ↑17 и ↓4+17
Комментарии4

Как устроена страничная организация памяти x86_64

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров10K

В этом посте я буду говорить о страничной организации только в контексте PML4 (Page Map Level 4), потому что на данный момент это доминирующая схема страничной организации x86_64 и, вероятно, останется таковой какое-то время.

Окружение

Это необязательно, но я рекомендую подготовить систему для отладки ядра Linux с QEMU + gdb. Если вы никогда этого не делали, то попробуйте такой репозиторий: easylkb (сам я им никогда не пользовался, но слышал о нём много хорошего), а если не хотите настраивать окружение самостоятельно, то подойдёт режим практики в любом из заданий по Kernel Security на pwn.college (вам нужно знать команды vm connect и vm debug).

Я рекомендую вам так поступить, потому что считаю, что самостоятельное выполнение команд вместе со мной и возможность просмотра страниц (page walk) на основании увиденного в gdb — хорошая проверка понимания.

Читать далее
Всего голосов 53: ↑53 и ↓0+53
Комментарии0

Приручаем GitLab: прикольные фишки и инциденты, которые упростят вашу жизнь

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров39K

В текущих реалиях все IT-продукты разрабатываются с использованием какого-либо ПО, способного управлять репозиториями программного кода для Git. В нашем случае, хотелось бы рассказать про один из самых популярных продуктов — Gitlab. «Gitlab — наше всё» должно быть слоганом каждой компании, которая его использует, иначе могут произойти события, которые приведут к печальным последствиям. На Habr можно найти множество различной информации, связанной с кейсами, туториалами или просто интересными историями. Но сколько бы ни было написано, найти место где было бы собрано всё и сразу — не получилось. Придется исправлять. 

Начнём?
Всего голосов 24: ↑21 и ↓3+24
Комментарии3

Как завернуть трафик Wireguard через shadowsocks на роутере

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров39K

Так как есть риск блокировки Wireguard протокола, то рассказываю, как сделать, что бы трафик туннеля шел через shadowsocks.

Пример будет для сервера на Ubuntu 22.04 и роутера кинетик, с установленным на нем Entware. Предполагается, что WG уже поднят и настроен. А так же на роутер установлен Entware.

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии17

10 Kubernetes Security Context, которые необходимо понимать

Время на прочтение11 мин
Количество просмотров28K

Безопасно запускать рабочие нагрузки в Kubernetes может быть не простой задачей. Множество различных параметров могут повлиять на безопасность, что требует соответствующих знаний для правильной реализации. Одним из самых мощных инструментов, которые предоставляет Kubernetes в этой области, являются настройки securityContext, которые могут использоваться в каждом манифесте Pod и контейнера. В этой статье мы рассмотрим различные настройки контекста безопасности, выясним, что они означают и как их следует использовать.

Читать далее
Всего голосов 9: ↑8 и ↓1+8
Комментарии0

44 совета по Ansible: рекомендации и Best Practices

Время на прочтение8 мин
Количество просмотров17K

Автор оригинала: Иоаннис Мустакис

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

Читать далее
Всего голосов 11: ↑10 и ↓1+11
Комментарии1

Комбинируем Prometheus, ChatGPT и Slack — получается Robusta

Время на прочтение4 мин
Количество просмотров4.6K

Что получится, если объединить Prometheus, работающий на Kubernetes, умный движок, взаимодействующий с ChatGPT, и мессенджер типа Slack? Вы получите платформу с открытым исходным кодом для поиска и устранения ошибок в Kubernetes под названием Robusta.

В этом посте мы рассмотрим применение Robusta поверх стека мониторинга Prometheus и покажем, почему возникают алерты и как их можно устранить.

Читать далее
Всего голосов 10: ↑9 и ↓1+9
Комментарии0

Как устроено индексирование баз данных

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров87K

Индексирование баз данных — это техника, повышающая скорость и эффективность запросов к базе данных. Она создаёт отдельную структуру данных, сопоставляющую значения в одном или нескольких столбцах таблицы с соответствующими местоположениями на физическом накопителе, что позволяет базе данных быстро находить строки по конкретному запросу без необходимости сканирования всей таблицы. Применяются разные типы индексов, однако они занимают пространство и должны обновляться при изменении данных. Важно тщательно продумывать стратегию индексирования базы данных и регулярно её оптимизировать.
Читать дальше →
Всего голосов 53: ↑51 и ↓2+64
Комментарии9

Разбираемся с RabbitMQ: High Availability и High Load

Время на прочтение8 мин
Количество просмотров16K

Продолжаем делиться конспектами Алексея Барабанова, IT-директора «Хлебницы». На этот раз обсудим специфику работы RabbitMQ с высокими нагрузками (High Load) и обеспечением высокой доступности (High Availability). Рассмотрим различные методы увеличения производительности и горизонтального масштабирования, разберём и настроим внутренние инструменты. Также по мере погружения постараемся изучить основные подводные камни всех подходов.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии1

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

Время на прочтение9 мин
Количество просмотров3.3K

В данной статье я расскажу про жизненный цикл одной важной задачи - “Настроить сбор/парсер логов в Kubernetes”. Или “Почему мы решили написать свой оператор для сбора логов в Kubernetes”.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии9

KVM: Что такое Kernel-based Virtual Machine?

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров53K

Начнем с простого вопроса:

Что означает QEMU/KVM или QEMU-KVM?

Можно ответить - это QEMU + KVM или qemu-system, запущенный с kvm в качестве ускорителя. Но в какой-то степени это еще и анахронизм, так как с появлением KVM его разработчики для интеграции с QEMU поддерживали отдельный форк qemu-kvm, но начиная с QEMU версии 1.3 (декабрь 2012) все основные изменения из qemu-kvm были перенесены в главную ветку QEMU, а qemu-kvm объявлен устаревшим.

В разных дистрибутивах до сих пор еще можно встретить исполняемый файл qemu-kvm или просто kvm, но это лишь обертки над qemu-system:

exec qemu-system-x86_64 -enable-kvm "$@"

или симлинки:

/usr/bin/kvm -> qemu-system-x86_64

А в самом qemu существует проверка:

Читать далее
Всего голосов 81: ↑81 и ↓0+81
Комментарии9

Технология единого входа (Single Sign-On) в Kubernetes: реализация на примере VK Cloud

Время на прочтение6 мин
Количество просмотров4.4K


Особенность Kubernetes — в отсутствии своей системы аутентификации: каждый пользователь кластера по умолчанию имеет права суперадминистратора и может делать что угодно. Это удобно для небольших команд, но неприемлемо для крупных проектов с высокими требованиями к безопасности и разграничению прав доступа. Решить эту проблему позволяет разделение прав доступа с помощью технологии единого входа (Single Sign-On, SSO).
  
Меня зовут Алексей Волков, я продакт-менеджер Kubernetes aaS и Backup в VK Cloud. Расскажу, какие инструменты SSO мы рассматривали, как реализовали механизм единого входа для сервиса Kubernetes и что получили в итоге. 
Читать дальше →
Всего голосов 10: ↑8 и ↓2+14
Комментарии2

Большой обзор Service Mesh: часть первая

Время на прочтение7 мин
Количество просмотров11K

Service Mesh входит в перечень стандартных для бэкенда технологий, а недавно и вовсе был на вершине хайпа. Вы решаете идти в ногу со временем и добавить в свой кластер Kubernetes первый Service Mesh. От друзей слышите, что Istio требует много памяти, а прокси в Linkerd очень быстрые, хотя никто не проверял. А еще все почему‑то говорят про Cillium, хотя это CNI‑плагин. Обсудим, что к чему.

Меня зовут Максим Чудновский, я занимаюсь развитием интеграционной платформы Synapse в СберТехе. Она имеет поддержку всех возможных стилей интеграции: RPC, файловые, шаблоны в Event Driven architecture. Есть в ней и RPC, а соответственно и Service Mesh, которым я и занимаюсь. Поэтому сегодня поговорим именно о нем.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии1

Всё, что вы НЕ хотели бы знать о сервисах онлайн знакомств… [много букОв и иллюстраций + регулярно дополняется]

Уровень сложностиПростой
Время на прочтение60 мин
Количество просмотров298K
Компьютерные сети изменили мир и подарили нам возможность не выбирать «меньшее из зол» из ограниченного числа сложившихся по жизни контактов, а найти по-настоящему любимого человека, даже если он прячется от нас на другом материке. Разумеется, мы можем отказаться от этой возможности и пойти по воспетому российской эстрадой садистско-мазохистскому сценарию «слепила из того, что было, а потом, что было, то и полюбила». И все будут только рады, если у нас всё получится. Но, если мы подведем статистику известных нам счастливых пар, сложившихся по этому сценарию, и трезво оценим вероятность успешного исхода, то, вероятно, путь поиска своего счастья в мировой паутине покажется нам более перспективным. И в этой статье я хочу рассказать вам о тех проблемах с которыми на этом пути можно столкнуться.
Читать дальше →
Всего голосов 232: ↑221 и ↓11+271
Комментарии775

Сертификаты Let's Encrypt и ACME вообще во внутренней сети

Время на прочтение6 мин
Количество просмотров20K

Обычно внутри корпоративной сети нынче полно всяких приложений, и хотелось бы чтобы они работали по SSL. Можно, конечно, поднять свой УЦ, раздать сертификаты, прописать пользователям свой корневой сертификат - и это будет работать. А можно просто воспользоваться сервисом Let's Encrypt, раздав его сертификаты своим внутренним серверам, которые не видны из Интернета, причем сделать это просто и с минимумом трудозатрат на поддержку.

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии78

Как самому за один вечер собрать минимальную ОС Linux из исходного кода

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров83K
image

В современном мире нас окружает огромное количество электронных устройств различной степени сложности. Если устройство более или менее сложное, например, телевизор, маршрутизатор, смартфон, то с большой долей вероятности оно работает под управлением операционной системы Linuх, и эта мысль не даёт мне покоя.

Ещё больше не даёт покоя мне тот факт, что все ядра операционной системы Linux, которые работают на различных устройствах и серверах, собраны из исходного кода, находящегося в репозитории на сайте kernel.org.

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

Мне всегда хотелось собрать операционную систему Linux самому из исходного кода, но процесс этот всегда казался сложным и запутанным, да и многого я не понимал. Но всё-таки в определённый момент времени я накопил достаточное количество знаний, чтобы осуществить свою мечту. В этой статье я хочу рассказать вам, как собрать минимальную Linux из исходного кода и запустить её у себя на компьютере.
Читать дальше →
Всего голосов 83: ↑82 и ↓1+108
Комментарии81

Подборка полезных слайдов от Джулии Эванс

Время на прочтение1 мин
Количество просмотров52K
Перевели новую порцию слайдов. Права доступа в Unix, файловые дескрипторы, потоки, магия proc. И на закуску пара советов о том, как общаться, когда ты не согласен. А вдруг пригодятся =)



Читать дальше →
Всего голосов 115: ↑111 и ↓4+107
Комментарии42

Информация

В рейтинге
2 915-й
Зарегистрирован
Активность