Latest

Самохостинг (часть 2) - Динамический роутинг на Keenetic

Самохостинг (часть 2) - Динамический роутинг на Keenetic

Допустим у нас есть роутер Keenetic. Нам нужно, чтоб некоторые сайты грузились через поднятый на нем туннель (это может быть Wireguard, L2TP или даже банальный Socks5 proxy). Например, нас забанил Youtube по нашему внешнему IP адресу 😉, но мы все равно хотим его смотреть, да не на телефоне, а на нормальном

Самохостинг - стиль жизни

Самохостинг - стиль жизни

Я тут и тут писал про свой домашний сервер, но нигде не упоминал, что есть еще один сервер в ДЦ, где хостятся сайтики и кучка еще разных сервисов. Да и времени прошло с момента написания тех статей не мало. Сервер тот остался в другой стране и, как результат, все, что

Мониторинг долгих запросов PostgreSQL в Prometheus

Мониторинг долгих запросов PostgreSQL в Prometheus

Предположим, что у вас есть PostgreSQL (AWS RDS или классический PostgreSQL server), Prometheus, postgres exporter и alertmanager с Grafana. Стоит задача присылать уведомления о том, что в Postgres подвис запрос. Причина и т.п. нас мало интересует. Нужно просто сказать всем, кому положено, что есть проблема и ее нужно решить.

Почему я всё ещё люблю Fish Shell

Почему я всё ещё люблю Fish Shell

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

Понимание многоэтапной сборки Docker образов

Понимание многоэтапной сборки Docker образов

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

Точка с запятой в файлах зон DNS-мастера; немного истории

Точка с запятой в файлах зон DNS-мастера; немного истории

Участник курса по DNS спросил Карстена Штротманна из Men & Mice, почему символ комментария в файле зоны DNS-мастера - это точка с запятой; Карстен пожал плечами и спросил меня. В своей часто саркастичной манере, я ответил авторитетно "потому что так было запрограммировано" и отмахнулся от этого. ; this is

Точка в доменных именах

Точка в доменных именах

Одна из волнующих аспектов преподавания - "какие вопросы я получу сегодня?", и я не был разочарован, когда студент спросил: Почему для разделения меток в представлении DNS-имен была выбрана точка? Я что-то промямлил про то, что это выглядит аккуратнее, чем "#", и менее странно, чем "$", и

Ошибка CrashLoopBackOff в Kubernetes: Что это и как это исправить?

Ошибка CrashLoopBackOff в Kubernetes: Что это и как это исправить?

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

Git репозиторий, где находятся ваши файлы?

Git репозиторий, где находятся ваши файлы?

Привет! Я разговаривала с другом сегодня о том, как работает Git, и мы затронули тему – где Git хранит ваши файлы? Мы знаем, что они находятся в директории .git, но где именно в ней находятся все версии ваших старых файлов? Например, этот блог находится в репозитории Git и содержит файл с

Дрейф в Terraform: плохой, уродливый и Черный Лебедь

Дрейф в Terraform: плохой, уродливый и Черный Лебедь

"Дрейф в Terraform" - это хорошо известная проблема. Он возникает, когда изменения происходят с ресурсами вашей облачной среды, которые не были вызваны изменениями в Terraform, и приводит к различиям между тем, что фактически настроено в вашем облаке, и тем, что объявлено в вашем коде Terraform. Другими словами, ваше

Перестаньте использовать CPU Limits в k8s

Перестаньте использовать CPU Limits в k8s

Многие люди думают, что вам нужны ограничения по использованию ЦПУ на Kubernetes, но это не так. В большинстве случаев, ограничения по использованию ЦПУ на Kubernetes только вредят. Фактически, они являются одной из главных причин ограничения использования ЦПУ на Kubernetes. Ограничения по CPU в Kubernetes - это антипаттерн Многие считают, что

Переключение языков в MacOS по CapsLock

Переключение языков в MacOS по CapsLock

Меня стала жутко бесить задержка при переключении языков в MacOS. Иногда оно срабатывает нормально, а иногда первая буква остается английской, а только потом идет переключение. Когда ты набираешь текст быстро и переключаешься постоянно - выходить полная дичь и времени на правки уходит какое-то невероятное количество. Пришлось разбираться, как же мне

Защита SSH через port knocking

Защита SSH через port knocking

Иногда, по каким-то причинам необходимо закрыть какой-то порт так, чтоб к нему все же оставался доступ с любого IP адреса. Например, регулятор требует, чтоб SSH порт был закрыт для всего мира. На выручку приходит port knocking. Итак, поставим knockd и настроим его так, чтоб SSH был закрыт, но открывался при

Как расширить root раздел под LVM

Как расширить root раздел под LVM

Для начала надо расширить сам раздел growpart /dev/sda 3 Смотрим, что у нас получилось fdisk -l Если все прошло успешно, то увеличиваем место в физическом томе pvresize /dev/sda3 pvdisplay Дальше увеличиваем логический том lvextend -l +100%FREE --resizefs /dev/ubuntu-vg/ubuntu-lv vgdisplay Иногда может понадобиться расширить файловую систему

Домашний сервер - продолжение

Домашний сервер - продолжение

Обновился мой домашний сервер и пора бы уже рассказать, что изменилось по железу и софту, который задеплоен на него. Из Китая был заказан комплект мать + проц + память. Железо * Процессор - Intel(R) Xeon(R) CPU E5-2689 0 @ 2.60GHz * Материнская плата - Kllisre X79 * Операционная система установлена на SSD Intel

Домашний сервер и его обитатели

Домашний сервер и его обитатели

Вероятно пора рассказать о своем домашнем сервачке, а то часто спрашивают как и что. Краткая версия этой заметки была в твиттере, тут же дам немного больше инфы и ссылок на то, как все устроено. Железо * Процессор - Intel(R) Pentium(R) CPU G3260 @ 3.30GHz * Материнская плата - AsRock H81M-VG4

Расширяем раздел в EC2

Расширяем раздел в EC2

Иногда, так случается, что надо расширить диск для какого-то EC2 инстанса. Это можно сделать не останавливая сам инстанс, чтоб не прерывать работу сервиса. Для этого заходим в веб-консоль AWS, находим нужный volume и увеличиваем его размер. Потом нужно увеличить раздел и саму файловую систему на этом разделе. Заходим по ssh

Сброс пароля пользователя root в MySQL

Сброс пароля пользователя root в MySQL

Сбросить пароль для пользователя root в MySQL не просто, а очень просто. Для этого надо остановить базу: $ sudo service mysql stop Теперь запустим базу без проверки привилегий: $ sudo mysqld_safe --skip-grant-tables & Теперь можно зайти в базу и поправить пароль: $ mysql -u root После этого будет доступна консоль MySQL. Выполняем

Разбираемся в работе fork бомбы

Разбираемся в работе fork бомбы

Можете ли вы объяснить как работает fork бомба на bash? :(){ :|:& };: Fork бомба - один из видов DoS атак (атака на отказ в обслуживании). :(){ :|:& };: - ни что иное, как простая bash-функция. Она запускается рекурсивно. Ее часто используют системные администраторы для проверки настройки лимита количества процессов для пользователя. Лимиты могут

Docker tips: COPY и ADD

Docker tips: COPY и ADD

Иногда, просматривая разные Dockerfile, вы можете видеть инструкции COPY или ADD. Они очень похожи, но в 99% случаев вы должны использовать COPY вместо ADD. И вот почему. COPY и ADD - это инструкции Dockerfile, которые выполняют похожие действия. Они предоставляют возможность скопировать файлы из указанного места внутрь Docker образа. COPY

Использование команды grep в Linux - примеры

grep — утилита командной строки, которая находит на вводе строки, отвечающие заданному регулярному выражению, и выводит их, если вывод не отменён специальным ключом. Синтаксис Синтаксис может быть следующим: grep 'word' filename grep 'word' file1 file2 file3 grep 'string1 string2' filename cat otherfile | grep 'something&

25 примеров использования утилиты find

Перевод

25 примеров использования утилиты find

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

Failover и балансировка нагрузки между каналами на Mikrotik

Failover и балансировка нагрузки между каналами на Mikrotik

Положу тут рецептик балансировки нагрузки без BGP с failover'ом на Mikrotik'е: ;; Balancing add chain=prerouting action=mark-connection new-connection-mark=routeKS passthrough=no connection-state=new src-address=192.168.33.0/24 nth=2,1 add chain=prerouting action=mark-routing new-routing-mark=routeKS passthrough=yes src-address=192.168.33.0/