📌 Шпаргалка по SSH-туннелям
• Локальное перенаправление порта (Local port forwarding): доступ к приватным конечным точкам (endpoints), возможно через bastion-хост, как будто это локально открытые порты.
• Удалённое перенаправление порта (Remote port forwarding): публикация локальных портов или адресов в приватной сети наружу через exit-нод.
Оба варианта реализуются с помощью SSH 👆
• Локальное перенаправление порта (Local port forwarding): доступ к приватным конечным точкам (endpoints), возможно через bastion-хост, как будто это локально открытые порты.
• Удалённое перенаправление порта (Remote port forwarding): публикация локальных портов или адресов в приватной сети наружу через exit-нод.
Оба варианта реализуются с помощью SSH 👆
👍2❤1
Mikrotik и несколько провайдеров. Резервирование каналов
В данной статье мы не будем рассматривать базовую настройку роутера: выход в интернет, правила брандмауэра и т.п., будем считать, что читатель владеет этими вещами и уделим внимание только обеспечению резервирования внешних каналов.
https://telegra.ph/Mikrotik-i-neskolko-provajderov-Rezervirovanie-kanalov-05-27
В данной статье мы не будем рассматривать базовую настройку роутера: выход в интернет, правила брандмауэра и т.п., будем считать, что читатель владеет этими вещами и уделим внимание только обеспечению резервирования внешних каналов.
https://telegra.ph/Mikrotik-i-neskolko-provajderov-Rezervirovanie-kanalov-05-27
❤1👍1
SSTP на MikroTik для удаленных сотрудников
В этой статье я опишу настройку роутера MikroTik в качестве SSTP сервера для подключения удаленных сотрудников.
Очень часто у сотрудников, которым нужно работать из дома, на домашнем компьютере стоит Windows. Эта система, начиная с версии Vista, поддерживает SSTP без установки дополнительных программ.
Дополнительные преимущества SSTP:
- Удалённый сотрудник может иметь динамический IP и работать за NAT-ом.
- SSTP по умолчанию использует 443 порт, а для установки соединения использует протокол HTTPS.
- SSTP может работать используя протоколы IPv4 и IPv6.
- Роутеры MikroTik поддерживают SSTP.
https://telegra.ph/SSTP-na-MikroTik-dlya-udalennyh-sotrudnikov-05-11
В этой статье я опишу настройку роутера MikroTik в качестве SSTP сервера для подключения удаленных сотрудников.
Очень часто у сотрудников, которым нужно работать из дома, на домашнем компьютере стоит Windows. Эта система, начиная с версии Vista, поддерживает SSTP без установки дополнительных программ.
Дополнительные преимущества SSTP:
- Удалённый сотрудник может иметь динамический IP и работать за NAT-ом.
- SSTP по умолчанию использует 443 порт, а для установки соединения использует протокол HTTPS.
- SSTP может работать используя протоколы IPv4 и IPv6.
- Роутеры MikroTik поддерживают SSTP.
https://telegra.ph/SSTP-na-MikroTik-dlya-udalennyh-sotrudnikov-05-11
❤3
Bash-скрипт для выполнения дампа всех баз данных MySQL, используемых на сервере.
1- Для запуска скрипта необходимо дать права на исполнение скрипту командой chmod +x dump_all_databases.sh.
2- Запустить скрипт выполнив одну из следующих команд:
3- Дождататься, когда выполниться процесс. Дампы будут сохранены в формате YYYYMMDD.name_db.sql.
1- Для запуска скрипта необходимо дать права на исполнение скрипту командой chmod +x dump_all_databases.sh.
2- Запустить скрипт выполнив одну из следующих команд:
./dump_all_databases.sh
sh dump_all_databases.sh
bash dump_all_databases.sh
3- Дождататься, когда выполниться процесс. Дампы будут сохранены в формате YYYYMMDD.name_db.sql.
#!/usr/bin/env bash
databases=`mysql -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`
for db in $databases; do
if [[ "$db" != "information_schema" ]] && [[ "$db" != "performance_schema" ]] && [[ "$db" != "mysql" ]] && [[ "$db" != _* ]] ; then
echo "Dumping database: $db"
mysqldump --databases $db > `date +%Y%m%d`.$db.sql
# gzip $OUTPUT/`date +%Y%m%d`.$db.sql
fi
done
❤2
Шпаргалка: ncdu -удобный анализатор диска в консоли
📌 Установка
📌 Основные команды
📌 Навигация
📌 Лайфхаки
Запуск из
Можно очищать мусор без выхода из ncdu — удобно для аварийного освобождения места.
Отлично работает в SSH, даже на слабых серверах.
https://timeweb.cloud/docs/unix-guides/troubleshooting-unix/disk-space-analysis-ncdu-du
ncdu
(NCurses Disk Usage) — утилита для быстрого поиска, что съедает место на сервере. Удобнее и нагляднее, чем du
.📌 Установка
# Debian/Ubuntu
apt install ncdu
# CentOS/RHEL
yum install ncdu
# Arch Linux
pacman -S ncdu
📌 Основные команды
ncdu
— запустить в текущем каталоге.ncdu /var/log
— просканировать конкретный путь.ncdu -x /
— анализ только внутри одного раздела.ncdu -q
— тихий режим (ускоренный скан).ncdu --exclude '*.log'
— исключить файлы по маске.📌 Навигация
↑ / ↓
— перемещение по списку.Enter
— открыть каталог.d
— удалить файл/каталог прямо из интерфейса.n
— сортировка по имени.s
— сортировка по размеру.q
— выход.📌 Лайфхаки
Запуск из
/
с -x
помогает быстро найти, что забило корневой раздел.Можно очищать мусор без выхода из ncdu — удобно для аварийного освобождения места.
Отлично работает в SSH, даже на слабых серверах.
https://timeweb.cloud/docs/unix-guides/troubleshooting-unix/disk-space-analysis-ncdu-du
Timeweb Cloud
Анализ дискового пространства: ncdu, du
Анализ дискового пространства: ncdu, du. Документация и инструкции по использованию и настройке облачных сервисов Timeweb Cloud.
👍2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
📌 Шпаргалка по сетевой безопасности
❤2👌2🔥1
Как отлаживать bash-scriptы по шагам
Мне всегда хотелось иметь возможность отлаживать bash-scripts так же, как и любой другой код, т.е. по шагам, и bash такую возможность предусмотрел, но о ней не все знают. Несмотря на довольно большой опыт использования Linux, я дошёл до неё только недавно.
Волшебная строчка, которую нужно добавить после
Процесс отладки
Запускаем скрипт, перед выполнением каждой команды выводится то, что будет исполняться, затем интерпретатор начинает ожидать нажатия клавиши <ENTER>.
Если понимаем, что что-то пошло не так, нажимаем
Ингредиенты
команда trap, которая умеет перехватывать разные сигналы и в нашем случае она перехватывает сигнал DEBUG, посылаемый перед выполнением команды
команда read, которая умеет ожидать ввода чего-нибудь с клавиатуры (в данном случае нам нужно только либо ENTER либо
переменная окружения $BASH_COMMAND, валидная внутри обработчика команды trap.
Мне всегда хотелось иметь возможность отлаживать bash-scripts так же, как и любой другой код, т.е. по шагам, и bash такую возможность предусмотрел, но о ней не все знают. Несмотря на довольно большой опыт использования Linux, я дошёл до неё только недавно.
Волшебная строчка, которую нужно добавить после
#!/bin/bash
, чтоб скрипт можно было отлаживать по шагам#!/bin/bash
trap 'echo "# $BASH_COMMAND";read' DEBUG
echo line1
echo line2
echo line3
Процесс отладки
Запускаем скрипт, перед выполнением каждой команды выводится то, что будет исполняться, затем интерпретатор начинает ожидать нажатия клавиши <ENTER>.
Если понимаем, что что-то пошло не так, нажимаем
Ctrl+C
и выходим из отладки.Ингредиенты
команда trap, которая умеет перехватывать разные сигналы и в нашем случае она перехватывает сигнал DEBUG, посылаемый перед выполнением команды
команда read, которая умеет ожидать ввода чего-нибудь с клавиатуры (в данном случае нам нужно только либо ENTER либо
Ctrl+C
переменная окружения $BASH_COMMAND, валидная внутри обработчика команды trap.
# Online Bash Shell.
# Code, Compile, Run and Debug Bash script online.
# Write your code in this editor and press "Run" button to execute it.
trap 'echo "# $BASH_COMMAND";read' DEBUG
echo line1
echo line2
echo line3
echo "Hello World";
❤3👍1
Caddy и 100к доменов: автоматический SSL при одностраничном конфиге
Я начал использовать Nginx более 20 лет назад, и как-то привык к тому что это решение по умолчанию при выборе веб сервера. В своем пути в IT я начинал с linux администрирования, потом был мелкий онлайн бизнес, работал бизнес аналитиком, продактом, временами что-то программировал для себя. Обстоятельства опять поменялись и год назад я устроился работать девопсом в маркетплейс доменов, по сути такой возврат к истокам. Первая задача которую мне выдали - перевести паркинг с 100к доменами с nginx на caddy. На тот момент я не слышал про Caddy, но был очень хорошего мнения о nginx.
https://habr.com/ru/articles/923150/
Я начал использовать Nginx более 20 лет назад, и как-то привык к тому что это решение по умолчанию при выборе веб сервера. В своем пути в IT я начинал с linux администрирования, потом был мелкий онлайн бизнес, работал бизнес аналитиком, продактом, временами что-то программировал для себя. Обстоятельства опять поменялись и год назад я устроился работать девопсом в маркетплейс доменов, по сути такой возврат к истокам. Первая задача которую мне выдали - перевести паркинг с 100к доменами с nginx на caddy. На тот момент я не слышал про Caddy, но был очень хорошего мнения о nginx.
https://habr.com/ru/articles/923150/
👍2❤1
UEFI & GRUB
1. ESP (EFI System Partition)
🔺 Формат: FAT32, размер ~100–500 МБ.
🔺 Монтируется как
🔺 Содержит файлы загрузчиков:
🔺
🔺
2. Разметка GPT и создание ESP
🔺 Монтирование:
3. Установка GRUB (UEFI)
1. Смонтировать корень и ESP, войти в chroot:
2. Установить пакет GRUB:
🔺 Debian/Ubuntu:
🔺 Arch:
🔺 RHEL/CentOS:
3. Запустить:
🔺 В RHEL/CentOS:
4. Файл
🔺 После изменений:
5. Управление записями UEFI (efibootmgr)
* Просмотр:
* Добавить запись:
🔺 Изменить порядок:
🔺 Удалить:
6. Восстановление GRUB
🔺 Загрузиться с Live-USB, смонтировать
🔺 Переустановить GRUB (см. команды выше).
🔺 Убедиться, что в прошивке UEFI выбрана запись “GRUB” как первичная.
7. Советы
🔺 Проверить монтирование ESP:
🔺 Проверить содержимое ESP:
🔺 Secure Boot:
🔺 Установить
🔺 Проверить статус:
8. Сборка простого
🔺
🔺 Пути
1. ESP (EFI System Partition)
🔺 Формат: FAT32, размер ~100–500 МБ.
🔺 Монтируется как
/boot/efi
.🔺 Содержит файлы загрузчиков:
🔺
/EFI/BOOT/BOOTX64.EFI
(резерв)🔺
/EFI/дистрибутив/…
(например, /EFI/ubuntu/grubx64.efi
).2. Разметка GPT и создание ESP
parted /dev/sda mklabel gpt
parted /dev/sda mkpart ESP fat32 1MiB 551MiB
parted /dev/sda set 1 boot on
mkfs.fat -F32 /dev/sda1
🔺 Монтирование:
mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
3. Установка GRUB (UEFI)
1. Смонтировать корень и ESP, войти в chroot:
mount /dev/sdaX /mnt # X — раздел /
mount /dev/sda1 /mnt/boot/efi # ESP
for d in dev proc sys; do mount --bind /$d /mnt/$d; done
chroot /mnt /bin/bash
2. Установить пакет GRUB:
🔺 Debian/Ubuntu:
apt install --reinstall grub-efi-amd64
🔺 Arch:
pacman -Sy grub efibootmgr
🔺 RHEL/CentOS:
yum install grub2-efi shim
3. Запустить:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB --recheck
grub-mkconfig -o /boot/grub/grub.cfg
🔺 В RHEL/CentOS:
grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub2 --recheck
grub2-mkconfig -o /boot/efi/EFI/grub2/grub.cfg
4. Файл
/etc/default/grub
(минимум)
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_CMDLINE_LINUX="quiet splash"
🔺 После изменений:
update-grub
(Debian/Ubuntu) или grub2-mkconfig -o …
в RHEL.5. Управление записями UEFI (efibootmgr)
* Просмотр:
efibootmgr -v
* Добавить запись:
efibootmgr --create --disk /dev/sda --part 1 \
--label "Linux" --loader "\\EFI\\GRUB\\grubx64.efi"
🔺 Изменить порядок:
efibootmgr --bootorder 0002,0001,0003
🔺 Удалить:
efibootmgr --bootnum 0004 --delete-bootnum
6. Восстановление GRUB
🔺 Загрузиться с Live-USB, смонтировать
/
и ESP, chroot как в пункте 3.🔺 Переустановить GRUB (см. команды выше).
🔺 Убедиться, что в прошивке UEFI выбрана запись “GRUB” как первичная.
7. Советы
🔺 Проверить монтирование ESP:
findmnt /boot/efi
🔺 Проверить содержимое ESP:
ls /boot/efi/EFI
🔺 Secure Boot:
🔺 Установить
shim-signed
и grub-efi-amd64-signed
(Ubuntu).🔺 Проверить статус:
mokutil --sb-state
8. Сборка простого
grub.cfg
set default=0
set timeout=5
menuentry "Linux" {
insmod ext2
set root='hd0,gpt2'
linux /vmlinuz-linux root=/dev/sda2 rw quiet
initrd /initramfs-linux.img
}
🔺
hd0,gpt2
— диск 0, второй GPT-раздел (там /
).🔺 Пути
/vmlinuz-linux
и /initramfs-linux.img
— в /boot
.❤2
Vault-secrets-operator
Создавайте секреты Kubernetes из Vault для безопасного рабочего процесса на основе GitOps.
https://github.com/ricoberger/vault-secrets-operator
Создавайте секреты Kubernetes из Vault для безопасного рабочего процесса на основе GitOps.
https://github.com/ricoberger/vault-secrets-operator
❤1👍1
Шпаргалка Mikrotik Config
Я документирую процесс подключения и настройки общих сценариев здесь для всех, кто интересуется Mikrotik
https://codingpackets.com/blog/mikrotik-config-cheatsheet/
Я документирую процесс подключения и настройки общих сценариев здесь для всех, кто интересуется Mikrotik
https://codingpackets.com/blog/mikrotik-config-cheatsheet/
❤1
Выводим список установленных пакетов в Linux по дате
Порой необходимо узнать когда тот или иной пакет был установлен в операционной системе (например, в целях аудита). В данной статье рассмотрим как вывести список установленных пакетов в Linux, отсортированный по дате установки - давайте разберемся!
https://telegra.ph/Vyvodim-spisok-ustanovlennyh-paketov-v-Linux-po-date-09-10
Порой необходимо узнать когда тот или иной пакет был установлен в операционной системе (например, в целях аудита). В данной статье рассмотрим как вывести список установленных пакетов в Linux, отсортированный по дате установки - давайте разберемся!
https://telegra.ph/Vyvodim-spisok-ustanovlennyh-paketov-v-Linux-po-date-09-10
👍2❤1