📌В этой статье я опишу как настроить Port Knocking в Mikrotik. Я буду вести настройку на версии RouterOS 7.20.8, но на других версиях всё должно настраиваться и работать аналогично.
👉Port Knocking — это метод скрытия сетевых служб, при котором порт остаётся закрытым до тех пор, пока клиент не отправит заранее определённую последовательность соединений на другие порты.
👉Port Knocking — это метод скрытия сетевых служб, при котором порт остаётся закрытым до тех пор, пока клиент не отправит заранее определённую последовательность соединений на другие порты.
👍8
📌Обновил статью - Монтирование SSHFS
👉Из статьи вы узнаете про монтирование Linux каталога по сети с использованием SSHFS. Рассмотрим ручное и автоматическое монтирование с помощью с помощью systemd и fstab.
👉Из статьи вы узнаете про монтирование Linux каталога по сети с использованием SSHFS. Рассмотрим ручное и автоматическое монтирование с помощью с помощью systemd и fstab.
Sysadminium
Монтирование SSHFS - Sysadminium
Из статьи вы узнаете про монтирование Linux каталога по сети с использованием SSHFS. Рассмотрим автоматическое и ручное монтирование.
👍5
📝Выбор между SSHFS, CIFS и NFS
Зависит от инфраструктуры, ОС клиентов и требований к безопасности и производительности.
⭐️ SSHFS
Файловая система поверх SSH (через FUSE). Подходит для временного или административного доступа.
➕Плюсы:
- Нативное шифрование (SSH)
- Простая настройка
- Работает через один порт (22)
- Поддерживает ключи SSH
➖Минусы:
- Самый медленный
- Возможны проблемы с блокировками
- При обрыве соединения может зависнуть
⭐️ CIFS / SMB
Стандартный протокол Windows (в Linux - Samba). Хорош для файловых серверов с Windows-клиентами.
➕Плюсы:
- Отличная совместимость с Windows
- Поддержка ACL, блокировок
- Устойчивее к обрывам
- Шифрование
➖Минусы:
- Чувствителен к высокой задержке
- Сложность настройки: много параметров
⭐️ NFS
Нативный протокол Unix/Linux. Лучший выбор для Linux to Linux.
➕Плюсы:
- Самая высокая производительность
- Простая модель прав (через UID/GID или idmap)
➖Минусы:
- NFSv3 без шифрования а Kerberos в NFSv4 сложен в настройке
- Нет нативной поддержки Windows
Зависит от инфраструктуры, ОС клиентов и требований к безопасности и производительности.
⭐️ SSHFS
Файловая система поверх SSH (через FUSE). Подходит для временного или административного доступа.
➕Плюсы:
- Нативное шифрование (SSH)
- Простая настройка
- Работает через один порт (22)
- Поддерживает ключи SSH
➖Минусы:
- Самый медленный
- Возможны проблемы с блокировками
- При обрыве соединения может зависнуть
⭐️ CIFS / SMB
Стандартный протокол Windows (в Linux - Samba). Хорош для файловых серверов с Windows-клиентами.
➕Плюсы:
- Отличная совместимость с Windows
- Поддержка ACL, блокировок
- Устойчивее к обрывам
- Шифрование
➖Минусы:
- Чувствителен к высокой задержке
- Сложность настройки: много параметров
⭐️ NFS
Нативный протокол Unix/Linux. Лучший выбор для Linux to Linux.
➕Плюсы:
- Самая высокая производительность
- Простая модель прав (через UID/GID или idmap)
➖Минусы:
- NFSv3 без шифрования а Kerberos в NFSv4 сложен в настройке
- Нет нативной поддержки Windows
👍7
📌В этой статье я покажу как можно подготовить шаблон виртуальной машины в Proxmox VE, и с помощью Cloud-Init настраивать виртуалки созданные из подготовленного шаблона.
👉Из статье вы узнаете: что такое Cloud-Init, узнаете про облачные образы (Cloud Images). В качестве примера я буду использовать шаблон Debian 13.
👉Из статье вы узнаете: что такое Cloud-Init, узнаете про облачные образы (Cloud Images). В качестве примера я буду использовать шаблон Debian 13.
👍6
📌В этой статье разбираем Словари в языке программирования Python 3, узнаем какими свойствами обладают словари и как можно с ними работать. Примеры в этой статье выполнены на версии: Python 3.14.3.
Я уже писал про последовательности и множества в Python 3. Словарь — это одно из множеств в Python, то есть словарь хранит множество значений. Словарь действительно похож на обычный словарь:
👉в словаре: слово → значение,
👉в Python: ключ → значение.
Я уже писал про последовательности и множества в Python 3. Словарь — это одно из множеств в Python, то есть словарь хранит множество значений. Словарь действительно похож на обычный словарь:
👉в словаре: слово → значение,
👉в Python: ключ → значение.
Sysadminium
Python 3. Словари - Sysadminium
В этой статье разбираем Словари в Python 3, узнаем какими свойствами обладают словари и как можно с ними работать.
👍7
👉Иногда приложение на Linux-сервере не может подключиться к внешнему ресурсу из-за проблем с доверием к сертификату, в этой статье мы разберем как проверить ssl сертификат.
👉Здесь не только команды, но и полный процесс диагностики и исправления ситуации когда в системе нет нужного CA и промежуточного сертификата.
👉Здесь не только команды, но и полный процесс диагностики и исправления ситуации когда в системе нет нужного CA и промежуточного сертификата.
Sysadminium
Как проверить SSL сертификат сайта из консоли Linux - Sysadminium
Иногда приложение на Linux-сервере не может подключиться к внешнему ресурсу из-за проблем с доверием к сертификату, в этой статье мы разберем как проверить ssl сертификат. Здесь не только команды, но и полный процесс диагностики и исправления ситуации когда…
👍10
В этой статье я покажу процесс установки и настройки простого файлового сервера Samba на сервере Debian 13.
👉Добавим корзину на сервере, настроим аудит доступа к файлам.
👉Также покажу подключение к серверу с Windows и Linux клиентов.
👉Добавим корзину на сервере, настроим аудит доступа к файлам.
👉Также покажу подключение к серверу с Windows и Linux клиентов.
👍8
📝Подсистема ввода вывода в Windows
Работает в режиме ядра. Основные компоненты:
- Диспетчер ввода / вывода. Связывает приложения с устройствами.
- Диспетчер PnP. Загружает драйверы при подключении устройств.
- Диспетчер электропитания. Управляет переходами оборудования в разные состояния энергосбережения.
Каждое устройство в системе получает свой номер прерывания (IRQ). Посмотреть список IRQ можно в "Сведения о системе" (Аппаратные ресурсы / Прерывания (IRQ).
Суть прерываний в следующем. Процессор занят задачей → устройство посылает сигнал (например, мы подвинули мышку) → процессор запускает обработчик прерывания (ISR) → возвращается к задаче.
Это позволяет эффективно совмещать вычисления и операции ввода-вывода.
Работает в режиме ядра. Основные компоненты:
- Диспетчер ввода / вывода. Связывает приложения с устройствами.
- Диспетчер PnP. Загружает драйверы при подключении устройств.
- Диспетчер электропитания. Управляет переходами оборудования в разные состояния энергосбережения.
Каждое устройство в системе получает свой номер прерывания (IRQ). Посмотреть список IRQ можно в "Сведения о системе" (Аппаратные ресурсы / Прерывания (IRQ).
Суть прерываний в следующем. Процессор занят задачей → устройство посылает сигнал (например, мы подвинули мышку) → процессор запускает обработчик прерывания (ISR) → возвращается к задаче.
Это позволяет эффективно совмещать вычисления и операции ввода-вывода.
👍7
📝Кто открыл файл в общей папке Windows
Иногда один из пользователей не может открыть файл для редактирования, так как уже кто-то другой редактирует этот файл.
🔎Чтобы найти того, кто уже редактирует этот файл используем mmc.exe (на файловом сервере). Выбираем оснастку "Общие папки". Прямой запуск оснастки "Общие папки":
В этой оснастке переходим в меню "Открытые файлы", и там находим нужный файл. Здесь же видим кто его открыл. А для того чтобы его закрыть нужно щелкнуть по нему правой кнопкой мышки и выбрать "Закрыть открытый файл".
То есть вы, как администратор, можете закрыть этот файл, но лучше связаться с пользователем и попросить сохранить и закрыть файл самостоятельно.
Иногда один из пользователей не может открыть файл для редактирования, так как уже кто-то другой редактирует этот файл.
🔎Чтобы найти того, кто уже редактирует этот файл используем mmc.exe (на файловом сервере). Выбираем оснастку "Общие папки". Прямой запуск оснастки "Общие папки":
fsmgmt.msc
В этой оснастке переходим в меню "Открытые файлы", и там находим нужный файл. Здесь же видим кто его открыл. А для того чтобы его закрыть нужно щелкнуть по нему правой кнопкой мышки и выбрать "Закрыть открытый файл".
То есть вы, как администратор, можете закрыть этот файл, но лучше связаться с пользователем и попросить сохранить и закрыть файл самостоятельно.
👍8
📌В этой статье разбираемся с NFS сервером на LInux. Установим NFS сервер на Debian 13, создадим общий каталог и примонтируем его на другом сервере по сети.
👉NFS (Network File System) — это сетевая файловая система с открытым исходным кодом для Linux, реализующая одноимённый протокол. Она позволяет Linux-серверу предоставлять общий доступ к файлам и директориям для клиентов по сети. Наиболее часто используется в среде Linux и Unix-подобных систем, тогда как для подключения из Windows требуется установка отдельного NFS-клиента. Продукт распространяется под лицензией GPL.
👉NFS (Network File System) — это сетевая файловая система с открытым исходным кодом для Linux, реализующая одноимённый протокол. Она позволяет Linux-серверу предоставлять общий доступ к файлам и директориям для клиентов по сети. Наиболее часто используется в среде Linux и Unix-подобных систем, тогда как для подключения из Windows требуется установка отдельного NFS-клиента. Продукт распространяется под лицензией GPL.
Sysadminium
NFS на Linux - Sysadminium
В этой статье разбираемся с NFS сервером на LInux. Установим NFS сервер на Debian 13, создадим общий каталог и примонтируем его на другом сервере по сети.
👍7
📌В этой статье я покажу как создать FTPS сервер на Linux (Debian 13) с отдельными каталогами для разных пользователей.
👉В этой статье я покажу процесс подготовки FTPS сервера на Linux, при этом каждый пользователь будет видеть только свой каталог.
👉В этой статье я покажу процесс подготовки FTPS сервера на Linux, при этом каждый пользователь будет видеть только свой каталог.
Sysadminium
Установка и настройка FTPS сервера - vsftpd - Sysadminium
В этой статье я покажу как создать ftps сервер на Linux (Debian 11) с отдельными каталогами для разных пользователей
👍7
📝 Ключи репозиториев в Linux (APT)
👉 Пакеты в репозитории подписываются закрытым ключом. Чтобы система могла проверить целостность и подлинность пакета перед установкой, ей необходим соответствующий открытый ключ.
👉 Ключи официальных репозиториев дистрибутива уже предустановленны. Ключи сторонних репозиториев нужно добавлять вручную.
👉 Пакеты в репозитории подписываются закрытым ключом. Чтобы система могла проверить целостность и подлинность пакета перед установкой, ей необходим соответствующий открытый ключ.
👉 Ключи официальных репозиториев дистрибутива уже предустановленны. Ключи сторонних репозиториев нужно добавлять вручную.
👍5
👉 Раньше ключи добавляли в глобальное хранилище /etc/apt/trusted.gpg с помощью команды
⚠️ Сейчас этот метод устарел и небезопасен, так как ключ получает доверие ко всем репозиториям сразу.
👉 В новых системах используется изолированное доверие: каждый репозиторий использует свой ключ.
- Ключи хранятся в каталоге /etc/apt/keyrings/.
- Файлам дают понятные имена, например: vendor-archive-keyring.gpg.
- Ключи часто поставляются в текстовом формате (ASCII armored), но рекомендуется хранить их в бинарном формате (dearmor). Конвертация выполняется через
👉 В файле списка источников (/etc/apt/sources.list.d/...) нужно явно указать путь к ключу через опцию signed-by:
👉 Команда для скачивания, конвертации и установки ключа:
- Если директории /etc/apt/keyrings/ не существует, предварительно создайте её.
apt-key add.⚠️ Сейчас этот метод устарел и небезопасен, так как ключ получает доверие ко всем репозиториям сразу.
👉 В новых системах используется изолированное доверие: каждый репозиторий использует свой ключ.
- Ключи хранятся в каталоге /etc/apt/keyrings/.
- Файлам дают понятные имена, например: vendor-archive-keyring.gpg.
- Ключи часто поставляются в текстовом формате (ASCII armored), но рекомендуется хранить их в бинарном формате (dearmor). Конвертация выполняется через
gpg --dearmor.👉 В файле списка источников (/etc/apt/sources.list.d/...) нужно явно указать путь к ключу через опцию signed-by:
deb [signed-by=/etc/apt/keyrings/vendor-archive-keyring.gpg] ...
👉 Команда для скачивания, конвертации и установки ключа:
curl -fsSL repo.example.com/key.gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/vendor-archive-keyring.gpg
- Если директории /etc/apt/keyrings/ не существует, предварительно создайте её.
👍7
📝Бесплатные утилиты для Windows
⭐️Анализ ошибок
- BlueScreenView — бесплатная утилита от NirSoft. Показывает список всех файлов дампа памяти, созданных при BSOD. Предоставляет информацию о коде ошибки, драйверах или модулях, которые могли вызвать сбой.
⭐️Исследование работы сети
- Advanced IP Scanner – простая в использовании утилита для анализа локальных сетей.
- WinMTR — утилита позволяющая отследить трассировку данных между клиентской машиной и сервером для дальнейшей диагностики сетевых соединений.
⭐️Наблюдением за дисками
- Free disk analyzer — помогает определить самые большие файлы и каталоги на вашем диске.
- Tree Size Free — также, позволяет вычислить самые большие каталоги и файлы.
- CrystalDiskInfo — утилита позволяет считать S.M.A.R.T. данные с диска, а также ведёт постоянный контроль за температурой диска.
⭐️Анализ ошибок
- BlueScreenView — бесплатная утилита от NirSoft. Показывает список всех файлов дампа памяти, созданных при BSOD. Предоставляет информацию о коде ошибки, драйверах или модулях, которые могли вызвать сбой.
⭐️Исследование работы сети
- Advanced IP Scanner – простая в использовании утилита для анализа локальных сетей.
- WinMTR — утилита позволяющая отследить трассировку данных между клиентской машиной и сервером для дальнейшей диагностики сетевых соединений.
⭐️Наблюдением за дисками
- Free disk analyzer — помогает определить самые большие файлы и каталоги на вашем диске.
- Tree Size Free — также, позволяет вычислить самые большие каталоги и файлы.
- CrystalDiskInfo — утилита позволяет считать S.M.A.R.T. данные с диска, а также ведёт постоянный контроль за температурой диска.
👍6
⭐️Железо и наблюдение за датчиками
- CPU-Z — бесплатная программа, которая собирает информацию о некоторых основных устройствах вашей системы.
- HWMonitor — утилита считывает основные датчики оборудования: напряжение, температуру, скорость вращения вентиляторов, тактовую частоту.
⭐️Подключения к серверам
- WinSCP — графический клиент SFTP для Windows с открытым исходным кодом.
- FileZilla — бесплатный FTP клиент.
- Bitvise SSH Client — бесплатный SSH клиент для Windows.
- PuTTY — бесплатный SSH клиент, с открытым исходным кодом.
⭐️Создание ISO или запись их на USB-флешку
- ImgBurn – утилита для работы с образами дисков.
- Rufus – утилита для создания загрузочных USB-носителей.
- Ventoy — удобная утилита, которая позволяет загружать несколько ISO с одной флешки без их распаковки.
⭐️Создание заметок
- Obsidian — утилита для создания личных заметок. Хранит заметки в отдельных текстовых файлах в формате md. Позволяет создавать связи между заметками формируя сеть знаний.
- CPU-Z — бесплатная программа, которая собирает информацию о некоторых основных устройствах вашей системы.
- HWMonitor — утилита считывает основные датчики оборудования: напряжение, температуру, скорость вращения вентиляторов, тактовую частоту.
⭐️Подключения к серверам
- WinSCP — графический клиент SFTP для Windows с открытым исходным кодом.
- FileZilla — бесплатный FTP клиент.
- Bitvise SSH Client — бесплатный SSH клиент для Windows.
- PuTTY — бесплатный SSH клиент, с открытым исходным кодом.
⭐️Создание ISO или запись их на USB-флешку
- ImgBurn – утилита для работы с образами дисков.
- Rufus – утилита для создания загрузочных USB-носителей.
- Ventoy — удобная утилита, которая позволяет загружать несколько ISO с одной флешки без их распаковки.
⭐️Создание заметок
- Obsidian — утилита для создания личных заметок. Хранит заметки в отдельных текстовых файлах в формате md. Позволяет создавать связи между заметками формируя сеть знаний.
👍7
Простой тест (
Результат показан на скриншоте в предыдущем посте🙂
Первый запрос (warmup) исключается из статистики.
Сводка:
⭐️
-
-
-
⭐️
-
-
-
⭐️ статистика задержек (
Полезные опции:
-
-
-
-
-
-
Рекомендуется тестировать файл, а не каталог, например:
-c 4 - 4 запроса, . - текущий каталог):$ ioping -c 4 .
Результат показан на скриншоте в предыдущем посте🙂
Первый запрос (warmup) исключается из статистики.
Сводка:
⭐️
3 requests completed - без warmup и без учёта пауз:-
in - время выполнения 3 запросов (без пауз);-
KiB read - объём прочитанных данных (3 × 4 КБ);-
iops / MiB/s - производительность (без пауз).⭐️
generated 4 requests - с warmup и паузами между запросами (1с);-
in - время выполнения теста;-
KiB - объём прочитанных данных (4 × 4 КБ);-
iops / KiB/s - производительность с учётом пауз.⭐️ статистика задержек (
min/avg/max/mdev).Полезные опции:
-
ioping -c 10 -i 0.1 . - интервал 0.1с;-
ioping -D -c 5 . - O_DIRECT (без page cache);-
ioping -L . - последовательный доступ (~256 KiB);-
ioping -R . - быстрый тест IOPS (rapid mode);-
ioping -RL . - тест пропускной способности (последовательный доступ);-
ioping -S . - синхронный I/O (O_SYNC).Рекомендуется тестировать файл, а не каталог, например:
$ dd if=/dev/urandom of=ioping-testfile bs=1M count=4096
$ ioping -R -D -c 1000 ioping-testfile # мелкие случайные чтения (БД, метаданные)
$ ioping -RL -D -c 1000 ioping-testfile # крупные последовательные чтения (бэкапы, ВМ)
👍5
📝OOM Killer в Linux
Механизм призван уберечь систему от зависания в случае нехватки RAM. Если на сервере заканчивается RAM, то приходит OOM Killer и убивает самый плохой процесс.
Каждый процесс в системе получает баллы плохости (oom_score).
- Чем больше RAM съел процесс, тем больше баллов.
- Чем больше дочерних процессов у процесса, тем больше баллов.
- Чем меньше процесс работает, тем больше баллов.
- Если процесс не является системным, то баллы ещё накидываются.
Для управления нам оставили корректирующий коэффициент (oom_score_adj). От -1000 до 1000.
* -1000: Процесс никогда не будет убит;
* 0: По умолчанию;
* 1000: Процесс будет убит первым.
Это обычно настраиваются в сервисе SystemD:
Можем включить или выключить механизм:
Для применения:
Механизм призван уберечь систему от зависания в случае нехватки RAM. Если на сервере заканчивается RAM, то приходит OOM Killer и убивает самый плохой процесс.
Каждый процесс в системе получает баллы плохости (oom_score).
- Чем больше RAM съел процесс, тем больше баллов.
- Чем больше дочерних процессов у процесса, тем больше баллов.
- Чем меньше процесс работает, тем больше баллов.
- Если процесс не является системным, то баллы ещё накидываются.
Для управления нам оставили корректирующий коэффициент (oom_score_adj). От -1000 до 1000.
* -1000: Процесс никогда не будет убит;
* 0: По умолчанию;
* 1000: Процесс будет убит первым.
Это обычно настраиваются в сервисе SystemD:
[Service]
# Защита от OOM Killer
OOMScoreAdjust=-500
# При завершении - перезапустить
OOMPolicy=restart
Можем включить или выключить механизм:
echo vm.panic_on_oom = 1 »/etc/sysctl.conf # вместо OOM Killer -> kernel panic
echo vm.panic_on_oom = 0 »/etc/sysctl.conf # по умолчанию -> OOM Killer
Для применения:
sysctl -p👍3
📝Команды SystemD (systemctl)
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
systemctl status <имя службы> — статус службы; ✅
systemctl stop <имя службы> — остановить службу; ✅
systemctl start <имя службы> — запустить службу; ✅
systemctl restart <имя службы> — перезапустить службу; ✅
systemctl reload <имя службы> — перечитать конфиг приложения; ✅
systemctl cat <имя службы> — прочитать файл юнита; ✅
systemctl daemon-reload — пере-инициализировать все юниты; ✅
systemctl enable <имя службы> — добавить службу в автозагрузку; ✅
systemctl disable <имя службы> — убрать службу из автозагрузки; ✅
systemctl is-enabled <имя службы> — статус автозагрузки для службы; ✅
systemctl list-units -t service — список запущенных служб; ✅
systemctl list-units -t service --all — список всех служб; ✅
systemctl get-default — узнать текущий загрузочный таргет по умолчанию; ✅
systemctl set-default -f <таргет> – установить загрузочный таргет, как таргет по умолчанию; ✅
systemctl isolate <таргет> – запустить другой загрузочный таргет.1👍12
📝Команды SystemD (дополнительно)
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
✅
systemd-analyze - время загрузки✅
systemd-analyze blame - детальнее✅
timedatectl - время✅
sudo timedatectl set-time '2019-08-31 16:14:50' - установить время✅
timedatectl list-timezones✅
sudo timedatectl set-timezone "Europe/Moscow" - установить ЧП ✅
hostnamectl - посмотреть имя и информацию о системе✅
hostnamectl set-hostname --static deb-13 - поменять имя✅
localectl - локаль✅
sudo localectl set-locale LANG="ru_RU.UTF-8" - установить локаль✅
loginctl list-sessions - список сессий ✅
loginctl list-users - список login-пользователей✅
loginctl session-status - статус сессии ✅
sudo loginctl kill-user <user | № сессии> - убить сессию✅
sudo loginctl terminate-user <user | № сессии> - завершить сессию✅
journalctl - логи✅
journalctl --since "2026-03-30 09:35:00" - логи с момента✅
journalctl -u <имя сервиса> - логи службы✅
journalctl _PID=<PID> - логи процесса✅
journalctl _UID=<UID> - логи пользователя✅
journalctl -k - логи ядра✅
journalctl -f - наблюдать за логами👍10
📝В этой статье описывается установка сервера хранения паролей и секретов Vaultwarden в Docker на собственном сервере.
👉Из особенностей, я использую базу данных MariaDB и обратный прокси сервер Caddy. Для поднятия контейнеров использую Docker compose.
👉Из особенностей, я использую базу данных MariaDB и обратный прокси сервер Caddy. Для поднятия контейнеров использую Docker compose.
👍9