На днях настраивал у себя в доме с нуля Mikrotik. Как это обычно бывает, времени свободного не было, надо было быстро сделать доступ в интернет. Для этого достаточно добавить правило для NAT и в принципе всё. Я ещё DNS сервер сразу включил и разрешил запросы к нему.
Это было новое подключение к провайдеру по PPPOE. Сразу оставил заявку на подключение мне статического внешнего IP адреса. Заявку на удивление быстро обработали, и я увидел у себя на pppoe интерфейсе внешний IP адрес.
Надо было сразу ограничить доступ извне к Mikrotik. Насколько я помню, у него по умолчанию нормально открытый файрвол, то есть всё разрешено. Не долго думая, просто добавил новое и пока единственное правило по блокировке всех входящих соединений:
Счётчик пакетов на правиле начал бодро расти. Проверяю у себя на ноуте интернет, не работает. Сходу не понял, почему, так как не часто приходится с нуля настраивать файрволы. Обычно беру шаблон правил и там по месту что-то меняю. Трафик в цепочке forward вроде разрешён. Должно всё работать.
У меня есть универсальный подход при настройке файрволов – если что-то не работает, то включаю лог на правилах блокировки. По записям лога обычно сразу видно, какое направление из тех, что тебе нужны, блокируется.
Сразу увидел заблокированные входящие запросы от настроенного на Микротике DNS сервера. Последнее время использую DNS от msk-ix.ru:
В общем, сразу понял, что надо добавить правило для уже установленных соединений, чтобы DNS запросы обратно возвращались на роутер:
В таком виде интернет в локальной сети нормально заработал, а все запросы извне были заблокированы. На том и завершил пока настройку. То есть в минимальной настройке достаточно всего трёх правил для работы интернета в локальной сети с использованием DNS сервера на самом Микротике:
В данном случае 1.2.3.4 - статический IP адрес на WAN интерфейсе. Если он не статический, то правило должно быть с masquerade.
В чём разница между masquerade и src-nat, можно посмотреть в переведённой мной презентации с одного из выступлений на микротиковской конференции. Для дома или небольшого офиса принципиальной разницы нет, то для общего образования знать полезно.
Кстати, случился любопытный разговор с монтажником провайдера. Он, когда увидел Mikrotik, сказал, что они его не настраивают. Я успокоил, сказал, что настрою сам. Потом он уточнил, что в принципе, он знает, как настроить PPPOE соединение, роутер подключается к сети и получает IP адрес, но у пользователей в локальной сети интернет всё равно не работает. Я сразу понял, что он не знает о том, что нужно самому настроить NAT. В других домашних роутерах этого делать не надо. Там NAT по умолчанию настроен.
В связи с этим я знакомым или родственникам никогда не рекомендую покупать домой Микротики, если они не умеют сами их настраивать. Это создаёт всем ненужные проблемы. Самому пользователю неудобно, что он не может настроить сам или обратиться к провайдеру. Провайдеру неудобно, что клиент жалуется, а реально проверить на месте монтажник не может, так как не умеет настраивать Микротики.
#mikrotik
Это было новое подключение к провайдеру по PPPOE. Сразу оставил заявку на подключение мне статического внешнего IP адреса. Заявку на удивление быстро обработали, и я увидел у себя на pppoe интерфейсе внешний IP адрес.
Надо было сразу ограничить доступ извне к Mikrotik. Насколько я помню, у него по умолчанию нормально открытый файрвол, то есть всё разрешено. Не долго думая, просто добавил новое и пока единственное правило по блокировке всех входящих соединений:
add action=drop chain=input in-interface=pppoe-out1Счётчик пакетов на правиле начал бодро расти. Проверяю у себя на ноуте интернет, не работает. Сходу не понял, почему, так как не часто приходится с нуля настраивать файрволы. Обычно беру шаблон правил и там по месту что-то меняю. Трафик в цепочке forward вроде разрешён. Должно всё работать.
У меня есть универсальный подход при настройке файрволов – если что-то не работает, то включаю лог на правилах блокировки. По записям лога обычно сразу видно, какое направление из тех, что тебе нужны, блокируется.
Сразу увидел заблокированные входящие запросы от настроенного на Микротике DNS сервера. Последнее время использую DNS от msk-ix.ru:
62.76.76.62 и 62.76.62.76. На всякий случай проверил доступность внешних ресурсов по IP адресам, а не DNS именам. По IP доступ был. В общем, сразу понял, что надо добавить правило для уже установленных соединений, чтобы DNS запросы обратно возвращались на роутер:
add action=accept chain=input connection-state=established in-interface=pppoe-out1В таком виде интернет в локальной сети нормально заработал, а все запросы извне были заблокированы. На том и завершил пока настройку. То есть в минимальной настройке достаточно всего трёх правил для работы интернета в локальной сети с использованием DNS сервера на самом Микротике:
add action=accept chain=input connection-state=established in-interface=pppoe-out1add action=drop chain=input in-interface=pppoe-out1add action=src-nat chain=srcnat out-interface=pppoe-out1 to-addresses=1.2.3.4В данном случае 1.2.3.4 - статический IP адрес на WAN интерфейсе. Если он не статический, то правило должно быть с masquerade.
add action=masquerade chain=srcnat out-interface=pppoe-out1В чём разница между masquerade и src-nat, можно посмотреть в переведённой мной презентации с одного из выступлений на микротиковской конференции. Для дома или небольшого офиса принципиальной разницы нет, то для общего образования знать полезно.
Кстати, случился любопытный разговор с монтажником провайдера. Он, когда увидел Mikrotik, сказал, что они его не настраивают. Я успокоил, сказал, что настрою сам. Потом он уточнил, что в принципе, он знает, как настроить PPPOE соединение, роутер подключается к сети и получает IP адрес, но у пользователей в локальной сети интернет всё равно не работает. Я сразу понял, что он не знает о том, что нужно самому настроить NAT. В других домашних роутерах этого делать не надо. Там NAT по умолчанию настроен.
В связи с этим я знакомым или родственникам никогда не рекомендую покупать домой Микротики, если они не умеют сами их настраивать. Это создаёт всем ненужные проблемы. Самому пользователю неудобно, что он не может настроить сам или обратиться к провайдеру. Провайдеру неудобно, что клиент жалуется, а реально проверить на месте монтажник не может, так как не умеет настраивать Микротики.
#mikrotik
51👍186👎11
На канале в разное время было много упоминаний про консольную утилиту для бэкапа restic. Она популярна в последнее время, много статей и роликов видел с её участием. Не буду много про неё рассказывать, перечислю только основные плюсы. А далее покажу один практический пример.
▪️Есть под все популярные системы, состоит из одного бинарника на go, есть в базовых репозиториях.
▪️Все данные по умолчанию шифруются.
▪️Формат хранения данных в виде снепшотов с дедупликацией.
▪️Поддерживает хранилища: локальная директория, SFTP, S3, свой сервер rest с доступом по HTTP и некоторые другие.
▪️Встроенная проверка целостности данных.
▪️Все параметры можно передавать ключами и переменными.
Я покажу далее, как забэкапить данные с помощью restic в S3 бакет на примере хостера Selectel. Настройка будет плюс-минус идентичной для любого облачного провайдера. У меня S3 бэкапы лежат там, поэтому показываю на данном примере. У хостеров может быть немного запутанной схема предоставления доступа к бакетам, так что иногда приходится повозиться немного, если делаешь впервые.
1️⃣ Создаю бакет у провайдера. В данном случае иду в раздел Инфраструктура ⇨ S3 ⇨ Бакеты. Создаю новый:
◽️Тип бакета: Приватный
◽️Класс хранения: Холодное хранение
◽️Версионирование: отключено (restic сам будет заниматься версионированием)
◽️Тип адресации: vHosted
Далее в разделе Аккаунт ⇨ Сервисные пользователи добавляю нового пользователя, роль - Пользователь S3, Проект - выбранный проект, где создан бакет. Тут же перехожу во вкладку Доступ и создаю S3-ключи. Нужно записать Access key и Secret key. Они нам понадобятся при настройке Restic.
Возвращаюсь в настройки бакета, перехожу на вкладку Политика доступа, создаю политику, где выбираю полный доступ для только что созданного пользователя.
Бакет сделали, доступ настроили. Я получил следующие данные:
S3_HOST=https://s3.ru-1.storage.selcloud.ru
S3_BUCKET=restic55
ACCESS_KEY_ID=XXXXXXXXXX
SECRET_ACCESS_KEY=YYYYYYYYYY
2️⃣ Идём на сервер и устанавливаем Restic:
Параметры доступа к S3 и сам пароль от бэкапов задаются переменными окружения. Введём их, а перед этим отключим сохранение history, чтобы они там не осели:
Пароль
Теперь туда можно бэкапить:
Проверяем список бэкапов. В терминологии restic это snapshots:
У нас только один snapshot. Восстановим его:
В директории
Restic может автоматически ротировать снепшоты. Для этого у него есть набор ключей с гибкими настройками. Например:
🔹
🔹
🔹
И так далее для разных временных отрезков. Наглядный типовой пример политики хранения:
Храним 7 дневных бэкапов, 4 недельных, 12 месячных.
Вы можете написать свои bash костыли для Restic, а можете взять что-то готовое. Например, вот репозиторий, где есть скрипт для бэкапа в S3 с логированием, с некоторыми проверками, с хранением параметров и пароля доступа в отдельных файлах.
⇨ 🌐 Сайт / Исходники / Документация
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#backup #restic #s3
▪️Есть под все популярные системы, состоит из одного бинарника на go, есть в базовых репозиториях.
▪️Все данные по умолчанию шифруются.
▪️Формат хранения данных в виде снепшотов с дедупликацией.
▪️Поддерживает хранилища: локальная директория, SFTP, S3, свой сервер rest с доступом по HTTP и некоторые другие.
▪️Встроенная проверка целостности данных.
▪️Все параметры можно передавать ключами и переменными.
Я покажу далее, как забэкапить данные с помощью restic в S3 бакет на примере хостера Selectel. Настройка будет плюс-минус идентичной для любого облачного провайдера. У меня S3 бэкапы лежат там, поэтому показываю на данном примере. У хостеров может быть немного запутанной схема предоставления доступа к бакетам, так что иногда приходится повозиться немного, если делаешь впервые.
◽️Тип бакета: Приватный
◽️Класс хранения: Холодное хранение
◽️Версионирование: отключено (restic сам будет заниматься версионированием)
◽️Тип адресации: vHosted
Далее в разделе Аккаунт ⇨ Сервисные пользователи добавляю нового пользователя, роль - Пользователь S3, Проект - выбранный проект, где создан бакет. Тут же перехожу во вкладку Доступ и создаю S3-ключи. Нужно записать Access key и Secret key. Они нам понадобятся при настройке Restic.
Возвращаюсь в настройки бакета, перехожу на вкладку Политика доступа, создаю политику, где выбираю полный доступ для только что созданного пользователя.
Бакет сделали, доступ настроили. Я получил следующие данные:
S3_HOST=https://s3.ru-1.storage.selcloud.ru
S3_BUCKET=restic55
ACCESS_KEY_ID=XXXXXXXXXX
SECRET_ACCESS_KEY=YYYYYYYYYY
# apt install resticПараметры доступа к S3 и сам пароль от бэкапов задаются переменными окружения. Введём их, а перед этим отключим сохранение history, чтобы они там не осели:
# unset HISTFILE# export AWS_ACCESS_KEY_ID=XXXXXXXXXX# export AWS_SECRET_ACCESS_KEY=YYYYYYYYYY# export RESTIC_PASSWORD="ZZZZZZZZZZ"Пароль
RESTIC_PASSWORD нужно обязательно сохранить. Без него бэкапы не расшифровать, доступа к ним не будет. Инициализируем репозиторий:# restic init -r s3:https://s3.ru-1.storage.selcloud.ru/restic55Теперь туда можно бэкапить:
# restic backup -r s3:https://s3.ru-1.storage.selcloud.ru/restic55 /var/wwwПроверяем список бэкапов. В терминологии restic это snapshots:
# restic snapshots -r s3:https://s3.ru-1.storage.selcloud.ru/restic55....18eba378 2025-09-01 18:59:24 debian12-vm /var/www....У нас только один snapshot. Восстановим его:
# mkdir /tmp/restore# restic restore 18eba378 -r s3:https://s3.ru-1.storage.selcloud.ru/restic55 --target /tmp/restoreВ директории
/tmp/restore будут файлы этого снепшота. Restic может автоматически ротировать снепшоты. Для этого у него есть набор ключей с гибкими настройками. Например:
🔹
--keep-last N – последние N бэкапов🔹
--keep-daily N – для последних N дней, в которых есть один или несколько снимков, сохранять только самый последний снимок за каждый день🔹
--keep-within-daily duration – сохранять по одному последнему снимку, сделанному в течение указанного duration.И так далее для разных временных отрезков. Наглядный типовой пример политики хранения:
--keep-within-daily 7d --keep-within-weekly 1m --keep-within-monthly 1yХраним 7 дневных бэкапов, 4 недельных, 12 месячных.
Вы можете написать свои bash костыли для Restic, а можете взять что-то готовое. Например, вот репозиторий, где есть скрипт для бэкапа в S3 с логированием, с некоторыми проверками, с хранением параметров и пароля доступа в отдельных файлах.
⇨ 🌐 Сайт / Исходники / Документация
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#backup #restic #s3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍127👎4
Не смог пропустить знаменательное событие сегодняшнего дня. Не забыли о нём? Сделаем так, чтобы на нашем сервере костры рябин горели вечно. Кстати, купил на днях в питомнике 3 рябины. Так что у меня скоро будут гореть реальные костры рябин.
Я уже раньше подобное делал с помощью cron. Пришло время применить systemd timers.
Итак, настроим на сервере вечное 3-е сентября. Для этого первым делом надо отключить синхронизацию времени, в зависимости от того, как она настроена. В современных серверах скорее всего это сделает команда:
Далее нам нужно установить дату на 3-е сентября и добавить в планировщик. Можно сделать это в лоб вот так:
Но тогда устанавливается время на 00:00. Можно сделать аккуратнее и менять только день, не трогая часы. Для этого создадим очень простой скрипт:
Берём текущее время, текущий год и выставляем третье сентября текущего года с неизменным временем. Сохраняем скрипт в
Создаём systemd сервис -
Делаем таймер для службы
Перечитываем конфигурацию и запускаем таймер со службой:
Теперь у вас постоянно переворачивается календарь и каждый день 3-е сентября. Подобную заготовку можно использовать под любой свой скрипт.
#юмор #systemd
Я уже раньше подобное делал с помощью cron. Пришло время применить systemd timers.
Итак, настроим на сервере вечное 3-е сентября. Для этого первым делом надо отключить синхронизацию времени, в зависимости от того, как она настроена. В современных серверах скорее всего это сделает команда:
# timedatectl set-ntp falseДалее нам нужно установить дату на 3-е сентября и добавить в планировщик. Можно сделать это в лоб вот так:
# date -s "2025-09-03 00:00:00"Но тогда устанавливается время на 00:00. Можно сделать аккуратнее и менять только день, не трогая часы. Для этого создадим очень простой скрипт:
#!/bin/bash
now_date=$(date +%H:%M:%S)
now_year=$(date +%Y)
date -s "$now_year-09-03 $now_date"
Берём текущее время, текущий год и выставляем третье сентября текущего года с неизменным временем. Сохраняем скрипт в
/usr/local/bin/3sep.sh и делаем исполняемым:# chmod +x /usr/local/bin/3sep.shСоздаём systemd сервис -
/etc/systemd/system/3sep.service:[Unit]
Description=Set system date to September 3rd, po zavetam Shafutinskogo
[Service]
Type=oneshot
ExecStart=/usr/local/bin/3sep.sh
[Install]
WantedBy=multi-user.target
Делаем таймер для службы
/etc/systemd/system/3sep.timer:[Unit]
Description=Turn over the calendar every minute
[Timer]
OnCalendar=*:0/1
Unit=3sep.service
Persistent=false
[Install]
WantedBy=timers.target
Перечитываем конфигурацию и запускаем таймер со службой:
# systemctl daemon-reload# systemctl enable --now 3sep.serviceТеперь у вас постоянно переворачивается календарь и каждый день 3-е сентября. Подобную заготовку можно использовать под любой свой скрипт.
#юмор #systemd
3👍107👎14
Недавно увидел в видео обзор сервиса с огромным набором всевозможных конвертеров, линтеров, обработчиков и т.д. Показалось, что там есть вообще всё, что может пригодится в разработке и эксплуатации в плане ручных преобразований. Раньше этот сервис не видел. Речь идёт о:
⇨ https://it-tools.tech
Всё это изобилие написано на JavaScript и может быть развёрнуто локально:
Из того, что может пригодиться по нашей теме, отмечу:
▪️IPv4 subnet calculator – калькулятор IP адресов для различных масок подсетей.
▪️MAC address lookup – узнать по MAC адресу производителя. Кстати, часто подобными проверками пользуюсь.
▪️Hash text – проверка хэшей SHA1, SHA256 и т.д.
▪️RSA key pair generator – создание public и private ключей. Сюда бы ещё добавить протокол Ed25519, он более актуален в наши дни.
▪️Password strength analyser – оценка стойкости пароля. Любопытно посмотреть, как добавление двух спецсимволов из очень простого пароля делает практически не перебираемый.
▪️Date-time converter – просмотр времени в различных форматах.
▪️YAML to JSON converter – и все подобные конвертеры и линтеры для YAML, JSON, TOML, XML.
▪️Crontab generator – будет актуально, если не знаете синтаксис cron.
▪️Chmod calculator – то же самое для chmod, если не помните синтаксис.
▪️Docker run to Docker compose converter – полезно выполнять запуск контейнеров в формате docker compose, чтобы потом не вспоминать, как ты запускал контейнер, а просто посмотреть в файле.
▪️Regex cheatsheet – подсказки по regex, чтобы быстро посмотреть, если забыл, что значат \t, \n, ^, $ и т.д.
Вам может быть актуально что-то ещё. Тут явно не хватает JSONPath. Постоянно им пользуюсь – jsonpath.com.
Добавил себе этот сервис на панель закладок браузера.
⇨ 🌐 Сайт / Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#сервис
⇨ https://it-tools.tech
Всё это изобилие написано на JavaScript и может быть развёрнуто локально:
# docker run -d --name it-tools --restart unless-stopped -p 8080:80 corentinth/it-tools:latestИз того, что может пригодиться по нашей теме, отмечу:
▪️IPv4 subnet calculator – калькулятор IP адресов для различных масок подсетей.
▪️MAC address lookup – узнать по MAC адресу производителя. Кстати, часто подобными проверками пользуюсь.
▪️Hash text – проверка хэшей SHA1, SHA256 и т.д.
▪️RSA key pair generator – создание public и private ключей. Сюда бы ещё добавить протокол Ed25519, он более актуален в наши дни.
▪️Password strength analyser – оценка стойкости пароля. Любопытно посмотреть, как добавление двух спецсимволов из очень простого пароля делает практически не перебираемый.
▪️Date-time converter – просмотр времени в различных форматах.
▪️YAML to JSON converter – и все подобные конвертеры и линтеры для YAML, JSON, TOML, XML.
▪️Crontab generator – будет актуально, если не знаете синтаксис cron.
▪️Chmod calculator – то же самое для chmod, если не помните синтаксис.
▪️Docker run to Docker compose converter – полезно выполнять запуск контейнеров в формате docker compose, чтобы потом не вспоминать, как ты запускал контейнер, а просто посмотреть в файле.
▪️Regex cheatsheet – подсказки по regex, чтобы быстро посмотреть, если забыл, что значат \t, \n, ^, $ и т.д.
Вам может быть актуально что-то ещё. Тут явно не хватает JSONPath. Постоянно им пользуюсь – jsonpath.com.
Добавил себе этот сервис на панель закладок браузера.
⇨ 🌐 Сайт / Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#сервис
6👍143👎3
☝️ Всё новое – хорошо забытое старое.
Не люблю делать повторы своих старых публикаций, потому что это странно выглядит для тех, кто их уже читал. При этом формат Telegram каналов таков, что к старой информации, если её не сохранили специально, редко кто обращается. Поэтому, чтобы не терять полезную уже написанную информацию, я её оформляю время от времени в подборки для того, чтобы новые читатели тоже имели возможность с ней познакомиться.
В эту подборку я объединил способы решения типовых задач в консоли Linux, которые практически не теряют актуальность со временем. Все заметки написаны лично мной и чаще всего с конкретными практическими примерами. Их имеет смысл сохранить, чтобы потом в нужный момент открыть и выполнить предложенные действия. Я сам таким образом использую эти заметки.
Система в целом:
🔥Профилирование нагрузки в Linux
▪️Краткий список действий, чтобы понять, из-за чего тормозит сервер
▪️Временная нагрузка на сервер с помощью системных утилит для проверки мониторинга
▪️Анализ производительности системы под нагрузкой с помощью sysbench
▪️Прикладные примеры использования lsof для различных задач
Диск:
🔥 Анализ дисковой активности в Linux с помощью btrace, iostat, iotop, pidstat, fatrace, strace
▪️Анализируем нагрузку на диск с помощью perf-tools
▪️Расследование фантомных чтений с диска
▪️Отличный скрипт, который позволит быстро разобраться, кто и чем занял свободное место на сервере
▪️Снижение задержек в SSD дисках
▪️Файл удалили, а место не освободилось
▪️Шпаргалка с командами, если у вас закончилось место на диске
Сеть:
🔥Подборка утилит для просмотра статистики сетевых интерфейсов
▪️Анализ направлений трафика с реальными скоростями с iftop
▪️Анализ сетевой активности с помощью утилит из пакета netsniff-ng
▪️Запись дампа трафика конкретного приложения
Память:
🔥Просмотр использования памяти процессами с помощью pmap
▪️Кто и как использует swap
▪️Уменьшение или увеличение ram на ходу
▪️Удобный скрипт для просмотра использования оперативной памяти программами (не процессами!)
Разное:
▪️Расследование тормозов MySQL сервера
▪️Трассировка медленных запросов в php-fpm
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#подборка #linux #perfomance
Не люблю делать повторы своих старых публикаций, потому что это странно выглядит для тех, кто их уже читал. При этом формат Telegram каналов таков, что к старой информации, если её не сохранили специально, редко кто обращается. Поэтому, чтобы не терять полезную уже написанную информацию, я её оформляю время от времени в подборки для того, чтобы новые читатели тоже имели возможность с ней познакомиться.
В эту подборку я объединил способы решения типовых задач в консоли Linux, которые практически не теряют актуальность со временем. Все заметки написаны лично мной и чаще всего с конкретными практическими примерами. Их имеет смысл сохранить, чтобы потом в нужный момент открыть и выполнить предложенные действия. Я сам таким образом использую эти заметки.
Система в целом:
🔥Профилирование нагрузки в Linux
▪️Краткий список действий, чтобы понять, из-за чего тормозит сервер
▪️Временная нагрузка на сервер с помощью системных утилит для проверки мониторинга
▪️Анализ производительности системы под нагрузкой с помощью sysbench
▪️Прикладные примеры использования lsof для различных задач
Диск:
🔥 Анализ дисковой активности в Linux с помощью btrace, iostat, iotop, pidstat, fatrace, strace
▪️Анализируем нагрузку на диск с помощью perf-tools
▪️Расследование фантомных чтений с диска
▪️Отличный скрипт, который позволит быстро разобраться, кто и чем занял свободное место на сервере
▪️Снижение задержек в SSD дисках
▪️Файл удалили, а место не освободилось
▪️Шпаргалка с командами, если у вас закончилось место на диске
Сеть:
🔥Подборка утилит для просмотра статистики сетевых интерфейсов
▪️Анализ направлений трафика с реальными скоростями с iftop
▪️Анализ сетевой активности с помощью утилит из пакета netsniff-ng
▪️Запись дампа трафика конкретного приложения
Память:
🔥Просмотр использования памяти процессами с помощью pmap
▪️Кто и как использует swap
▪️Уменьшение или увеличение ram на ходу
▪️Удобный скрипт для просмотра использования оперативной памяти программами (не процессами!)
Разное:
▪️Расследование тормозов MySQL сервера
▪️Трассировка медленных запросов в php-fpm
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#подборка #linux #perfomance
Telegram
ServerAdmin.ru
Как и обещал, подготовил заметку по профилированию нагрузки в Linux. Первое, что нужно понимать — для диагностики нужна методика. Хаотичное использование различных инструментов только в самом простом случае даст положительный результат.
Наиболее известные…
Наиболее известные…
1👍185👎2
Изучил и протестировал необычную систему по контролю за временем, проведённым за компьютером. Задумался на днях над тем, как ограничить время, проведённое детьми за компьютером. С малых лет покупаю им компьютеры, чтобы привыкали и учились за ними работать. Но оставлять их с ним бесконтрольно нельзя.
Ещё даже искать ничего не начал на эту тему, как случайно где-то в комментариях накануне увидел упоминание системы Libki. Записал себе в заметки, а теперь пришло время посмотреть на неё. А это оказалось как раз то, что мне было надо.
Сразу скажу, что система не особо понравилось, но так как я её развернул и протестировал, плюс, на русском языке о ней вообще нет ни то, что руководств, даже упоминаний, решил написать заметку. Да и в целом она работает, но есть нюансы. Расскажу по порядку.
Libki – это open source платформа, состоящая из серверной части и клиентов. Клиенты устанавливаются на конечные системы (Linux и Windows), соединяются с сервером и от него получают разрешение на время, проведённое за компьютером определённым пользователем. То есть клиент управляет доступом к компьютеру.
С помощью Libki можно:
◽️Создавать пользователей и указывать, сколько каждый из них может провести времени за компьютером.
◽️Указывать интервалы времени, в которое доступ разрешён или заблокирован. Это как раз то, что мне нужно. Я могу запретить использование компьютера после 22:00.
◽️Ограничивать не только максимальное время за компьютером, но и интервал непрерывного пользования. То есть можно установить, что компьютером можно пользоваться 2 часа в день, но при этом не дольше, чем одним интервалом в час с обязательным перерывом в 2 часа.
◽️Указывать системных пользователей, для которых действуют ограничения, но при этом оставлять тех, на кого они не распространяются. Например, для детей есть ограничения, для родителей – нет.
◽️Отправлять уведомления при аутентификации пользователя за компьютером.
◽️Управлять ограничениями с печатью на принтере. Не тестировал и не разбирался с этой функциональностью.
◽️Настраивать гостевой доступ для пользователей компьютера без своей учётной записи.
То есть это решение подойдёт, как я рассказал, для семейного пользования компьютерами детьми, а так же для каких-то публичных мест, где требуется ограничить время пользования компьютером. Например, какие-то учебные классы, игровые компьютеры и т.д.
Набор возможностей невелик, но и решение некоммерческое. Так что грех жаловаться. Теперь перечислю, что не понравилось:
1️⃣ Debian 11 – самая свежая версия, которая поддерживается автоматическим скриптом установки. На 12-й у меня не заработал скрипт. Написал, что версия не поддерживается. Может его можно отредактировать, поставить вручную или в Docker. Не проверял. Развернул быстро в LXC контейнере с Debian 11:
Как я уже сказал, можно установить и вручную, если не доверяете скрипту. Если инструкция в документации.
2️⃣ Продукт старый. Раньше развивался активнее. Сейчас гораздо меньше. Последний релиз сервера был в 2022 году, клиент посвежее. На Windows 11 нормально встал.
3️⃣ У меня глючно работал веб интерфейс управления. Некоторое время не мог добавить нового пользователя. Кнопка просто не работала. Пробовал разные браузеры. Не понял, что в итоге помогло. В какой-то момент перезагрузил контейнер и всё нормально заработало. Так что смог проверить работу системы.
В целом, всё работает. Установил сервер однострочником, зашёл в веб интерфейс, добавил пользователя. Потом установил на Windows 11 клиент, связал его с сервером, указал пользователя (себя), для которого нет ограничения. Остальные пользователи, когда входят в систему, видят интерфейс клиента, куда надо ввести учётные данные пользователя, созданного на сервере. Пока не введешь, доступа к системе нет.
Как я сказал, программа работает, но выглядит так себе. Если кто-то знает бесплатные аналоги, буду рад рекомендациям.
⇨ 🌐 Сайт / Исходники / Документация
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#управление
Ещё даже искать ничего не начал на эту тему, как случайно где-то в комментариях накануне увидел упоминание системы Libki. Записал себе в заметки, а теперь пришло время посмотреть на неё. А это оказалось как раз то, что мне было надо.
Сразу скажу, что система не особо понравилось, но так как я её развернул и протестировал, плюс, на русском языке о ней вообще нет ни то, что руководств, даже упоминаний, решил написать заметку. Да и в целом она работает, но есть нюансы. Расскажу по порядку.
Libki – это open source платформа, состоящая из серверной части и клиентов. Клиенты устанавливаются на конечные системы (Linux и Windows), соединяются с сервером и от него получают разрешение на время, проведённое за компьютером определённым пользователем. То есть клиент управляет доступом к компьютеру.
С помощью Libki можно:
◽️Создавать пользователей и указывать, сколько каждый из них может провести времени за компьютером.
◽️Указывать интервалы времени, в которое доступ разрешён или заблокирован. Это как раз то, что мне нужно. Я могу запретить использование компьютера после 22:00.
◽️Ограничивать не только максимальное время за компьютером, но и интервал непрерывного пользования. То есть можно установить, что компьютером можно пользоваться 2 часа в день, но при этом не дольше, чем одним интервалом в час с обязательным перерывом в 2 часа.
◽️Указывать системных пользователей, для которых действуют ограничения, но при этом оставлять тех, на кого они не распространяются. Например, для детей есть ограничения, для родителей – нет.
◽️Отправлять уведомления при аутентификации пользователя за компьютером.
◽️Управлять ограничениями с печатью на принтере. Не тестировал и не разбирался с этой функциональностью.
◽️Настраивать гостевой доступ для пользователей компьютера без своей учётной записи.
То есть это решение подойдёт, как я рассказал, для семейного пользования компьютерами детьми, а так же для каких-то публичных мест, где требуется ограничить время пользования компьютером. Например, какие-то учебные классы, игровые компьютеры и т.д.
Набор возможностей невелик, но и решение некоммерческое. Так что грех жаловаться. Теперь перечислю, что не понравилось:
# wget -O- install.libki.org | bashКак я уже сказал, можно установить и вручную, если не доверяете скрипту. Если инструкция в документации.
В целом, всё работает. Установил сервер однострочником, зашёл в веб интерфейс, добавил пользователя. Потом установил на Windows 11 клиент, связал его с сервером, указал пользователя (себя), для которого нет ограничения. Остальные пользователи, когда входят в систему, видят интерфейс клиента, куда надо ввести учётные данные пользователя, созданного на сервере. Пока не введешь, доступа к системе нет.
Как я сказал, программа работает, но выглядит так себе. Если кто-то знает бесплатные аналоги, буду рад рекомендациям.
⇨ 🌐 Сайт / Исходники / Документация
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#управление
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍97👎5
Думаю, многие из вас знают или слышали о бесплатном продукте Suricata – это система обнаружения вторжений (IDS) и система предотвращения вторжений (IPS) с открытым исходным кодом. Её обычно используют в программных шлюзах и анализаторах трафика. Например, в IPFire, OPNsense, PfSense, Arkime и т.д.
На базе Suricata построен известный продукт SELKS, который является отличным дополнением к бесплатному же Wazuh - это SIEM система (Security Information and Event Management). Получается хорошая связка:
◽️SELKS мониторит сетевой трафик в режиме реального времени, выявляет угрозы на уровне сети и пытается их предотвратить.
◽️Wazuh ставит агенты на конечные системы, собирает данные об ОС, софте, уязвимостях, о событиях из логов, об изменениях с уровня файловой системы и т.д.
Вместе эта бесплатная парочка закрывают базовые потребности малого и среднего бизнеса. Хотя не уверен, что малому это в принципе нужно, но тем не менее. Это хорошая рабочая связка.
В январе этого года SELKS прекратил своё развитие в том виде, как он был. Его переименовали в Clear NDR – Community и немного пересобрали. Заменили Elastic Stack (Elasticsearch, Logstash, Kibana) на OpenSearch и Fluentd. Также изменили веб интерфейс с Kibana на тот, что есть в Enterprise-версии. Но при этом версия осталась бесплатной с той же функциональностью. Разработчики обещают более активное развитие, так как теперь у
Community и Enterprise версии общая кодовая база и одинаковый веб интерфейс.
Для Clear NDR - Community пока нет собранного ISO файла, как это было у SELKS. Его можно было развернуть с помощью установщика, как отдельную, новую систему. Clear NDR ставится поверх уже установленной с помощью утилиты stamusctl и работает на базе Docker.
Установка Clear NDR - Community:
У меня напрямую не скачался бинарник на сервере. Не знаю почему, не стал разбираться. Скачал через браузер даже без VPN и закинул на сервер вручную.
Выбираем сетевой интерфейс, на котором будем слушать трафик. Запускаем сервис:
Можно идти в веб интерфейс по HTTPS и настраивать систему. Учётка по умолчанию - selks-user / selks-user.
К сожалению, на Clear NDR нельзя напрямую подать NetFlow трафик для простого и удобного анализа, поэтому если сервер с ней не является шлюзом, то нужно будет каким-то образом реализовывать подачу нужного трафика на сетевой интерфейс сервера с Clear NDR. В зависимости от топологии сети, задача может решаться по-разному.
Для ручных проверок готовых дампов трафика в формате pcap, можно сделать вот так:
Система при запуске заберёт себе и проанализирует весь трафик из файла.
Проверить работу можно с помощью набора проверок отсюда: https://github.com/3CORESec/testmynids.org
Отдельно отмечу, что в составе Clear NDR есть полнофункциональный Arkime.
⇨ 🌐 Сайт / Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#security #gateway
На базе Suricata построен известный продукт SELKS, который является отличным дополнением к бесплатному же Wazuh - это SIEM система (Security Information and Event Management). Получается хорошая связка:
◽️SELKS мониторит сетевой трафик в режиме реального времени, выявляет угрозы на уровне сети и пытается их предотвратить.
◽️Wazuh ставит агенты на конечные системы, собирает данные об ОС, софте, уязвимостях, о событиях из логов, об изменениях с уровня файловой системы и т.д.
Вместе эта бесплатная парочка закрывают базовые потребности малого и среднего бизнеса. Хотя не уверен, что малому это в принципе нужно, но тем не менее. Это хорошая рабочая связка.
В январе этого года SELKS прекратил своё развитие в том виде, как он был. Его переименовали в Clear NDR – Community и немного пересобрали. Заменили Elastic Stack (Elasticsearch, Logstash, Kibana) на OpenSearch и Fluentd. Также изменили веб интерфейс с Kibana на тот, что есть в Enterprise-версии. Но при этом версия осталась бесплатной с той же функциональностью. Разработчики обещают более активное развитие, так как теперь у
Community и Enterprise версии общая кодовая база и одинаковый веб интерфейс.
Для Clear NDR - Community пока нет собранного ISO файла, как это было у SELKS. Его можно было развернуть с помощью установщика, как отдельную, новую систему. Clear NDR ставится поверх уже установленной с помощью утилиты stamusctl и работает на базе Docker.
Установка Clear NDR - Community:
# wget https://dl.clearndr.io/stamusctl-linux-amd64# chmod +x ./stamusctl-linux-amd64# mv ./stamusctl-linux-amd64 /usr/local/bin/stamusctlУ меня напрямую не скачался бинарник на сервере. Не знаю почему, не стал разбираться. Скачал через браузер даже без VPN и закинул на сервер вручную.
# mkdir /opt/ClearNDR && cd /opt/ClearNDR# stamusctl compose initВыбираем сетевой интерфейс, на котором будем слушать трафик. Запускаем сервис:
# stamusctl compose up -dМожно идти в веб интерфейс по HTTPS и настраивать систему. Учётка по умолчанию - selks-user / selks-user.
К сожалению, на Clear NDR нельзя напрямую подать NetFlow трафик для простого и удобного анализа, поэтому если сервер с ней не является шлюзом, то нужно будет каким-то образом реализовывать подачу нужного трафика на сетевой интерфейс сервера с Clear NDR. В зависимости от топологии сети, задача может решаться по-разному.
Для ручных проверок готовых дампов трафика в формате pcap, можно сделать вот так:
# stamusctl compose readpcap fulltraf.pcapСистема при запуске заберёт себе и проанализирует весь трафик из файла.
Проверить работу можно с помощью набора проверок отсюда: https://github.com/3CORESec/testmynids.org
Отдельно отмечу, что в составе Clear NDR есть полнофункциональный Arkime.
⇨ 🌐 Сайт / Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#security #gateway
👍109👎3
Помню, как я после изучения Ansible, начал пытаться всё автоматизировать. Была идея под каждой статьёй на сайте оставлять настроенный playbook для воспроизведения. Кое-что автоматизировал, но порыв быстро прошёл.
На деле оказалось, что писать и поддерживать плейбуки довольно хлопотно. И если у тебя нет регулярных однотипных процедур, то и не имеет большого смысла. Если ты разворачиваешь новый веб сервер или почтовый раз в полгода, то проще написать небольшую инструкцию, чем полноценно описывать всё в плейбуке.
Когда начнёшь новую установку, окажется, что надо какие-то пакеты заменить, так как изменились названия или версии, поправить конфиги, что-то удалить и т.д. В итоге при каждом применении тебе нужно актуализировать плейбук и вносить изменения. По мне, так это верный признак, что такой плейбук тебе не нужен. Надо либо поискать уже готовый, который кто-то обновляет за тебя, либо делать установку без него, так как это будет быстрее.
А вот если ты без изменения многократно используешь инструмент автоматизации, значит его использование уместно. Конечно, с таким подходом можно поспорить, но я действую именно так. А если мне надо установить Docker, то я не пишу для этого свой плейбук и не ищу готовый. Просто делаю вот так:
Мне видится это самым простым и быстрым вариантом. Так что автоматизация это такое дело, что сначала подумать надо, а потом внедрять. Сейчас ИИ все эти процедуры и подходы трансформирует. Иногда достаточно ему словами написать, что надо, и он тут же тебе всё автоматизирует. А ты идёшь пить крафтовый кофе, или сифон под раковиной менять (наболевшее).
Отдельно стоит вопрос, если вы через плейбуки и другие инструменты IaC описываете инфраструктуру для её воспроизведения на другом железе. Но это скорее вопросы очень больших инфраструктур. У меня обычно восстановление идёт через бэкапы, а переезд бывает редко и чаще всего сопряжён и с какими-то обновлениями в окружении.
#разное
На деле оказалось, что писать и поддерживать плейбуки довольно хлопотно. И если у тебя нет регулярных однотипных процедур, то и не имеет большого смысла. Если ты разворачиваешь новый веб сервер или почтовый раз в полгода, то проще написать небольшую инструкцию, чем полноценно описывать всё в плейбуке.
Когда начнёшь новую установку, окажется, что надо какие-то пакеты заменить, так как изменились названия или версии, поправить конфиги, что-то удалить и т.д. В итоге при каждом применении тебе нужно актуализировать плейбук и вносить изменения. По мне, так это верный признак, что такой плейбук тебе не нужен. Надо либо поискать уже готовый, который кто-то обновляет за тебя, либо делать установку без него, так как это будет быстрее.
А вот если ты без изменения многократно используешь инструмент автоматизации, значит его использование уместно. Конечно, с таким подходом можно поспорить, но я действую именно так. А если мне надо установить Docker, то я не пишу для этого свой плейбук и не ищу готовый. Просто делаю вот так:
# curl https://get.docker.com | bash -Мне видится это самым простым и быстрым вариантом. Так что автоматизация это такое дело, что сначала подумать надо, а потом внедрять. Сейчас ИИ все эти процедуры и подходы трансформирует. Иногда достаточно ему словами написать, что надо, и он тут же тебе всё автоматизирует. А ты идёшь пить крафтовый кофе, или сифон под раковиной менять (наболевшее).
Отдельно стоит вопрос, если вы через плейбуки и другие инструменты IaC описываете инфраструктуру для её воспроизведения на другом железе. Но это скорее вопросы очень больших инфраструктур. У меня обычно восстановление идёт через бэкапы, а переезд бывает редко и чаще всего сопряжён и с какими-то обновлениями в окружении.
#разное
👍138👎1
🎮🎓 1-го сентября была подборка бесплатных обучающих материалов на различные темы. Не стал туда включать игры, так как объём и так большой получился. Отложил это дело на выходные.
В некоторые игры я сам играл немного и они действительно забавные, некоторые атмосферные, какие-то поучительные. Посмотрите, может понравится что-то.
◽️Oh My Git! — одна из самых известных и популярных игр на тему изучения Git. Для этой технологии, на мой взгляд, сделано больше всего игр.
◽️Vim Adventures — научит выходить из Vim. Играть можно в браузере. Игра платная, бесплатно доступны первые несколько уровней.
◽️Elevator Saga — залипательная игра для изучения JavaScript. Нужно программировать эффективную работу лифта по перевозке людей. Играл в неё сам, мне понравилось.
◽️Bandit — хакерская тематика со взломом через использование консоли в Linux. Проходится на реальном сервере в интернете, к которому надо подключаться. Советую обратить внимание, игра интересная и сложная.
◽️Natas — игра от разработчиков Bandit, но тема другая. Никаких ssh и консоли, только браузер. Нужно проходить уровни, изучая сайт и веб сервер, находя в них уязвимости.
◽️while True: learn() — головоломка-симулятор на тему машинного обучения, нейронных сетей, ИИ и BigData. В игре вы выступаете в роли тыжпрограммиста, у которого есть кот, который лучше разбирается в it, чем вы.
◽️You're the OS! — условно обучающая игра, которая очень примитивно показывает механику работы операционной системы с процессами. Игра из разряда позалипать и убить время.
◽️GameShell — консольная игра, которая учит основам консольных команд Linux.
◽️ SLASH\ESCAPE — интерактивная атмосферная обучающая игра на тему регулярных выражений.
◽️Linux Master — игра-викторина под Android, где надо отвечать на тесты по различным темам, связанными с ОС на базе Linux.
◽️Симулятор системного администратора — хардкорная игра, где максимально приближённо реализованы будни офисного системного администратора. Даже игрой не поворачивается язык это назвать. Выглядит, как вторая работа 😁
◽️ServiceIT: You can do IT — игра по смыслу и геймплею очень похожа на предыдущую. В ней вы будете работать в IT поддержке и в том числе чинить железяки.
◽️KodeKloud Engineer — вы регистрируетесь и начинаете путь обычного сисадмина. Вас знакомят с проектом, рассказывают, что там к чему. Для него есть подробная схема, wiki, таблица с ip адресами и доступами. Примерно раз в день вам будут давать какое-то задание по этой инфраструктуре. Всё выполняется в виртуальной консоли в браузере, которая эмулирует консоль Linux. Задания максимально приближены к реальным задачам админа или devops.
❗️Отдельно обращаю внимание на последнюю игру. Она максимально приближена к реальности. Вот пример одной из задач, которую я разобрал.
#игра #обучение #подборка
В некоторые игры я сам играл немного и они действительно забавные, некоторые атмосферные, какие-то поучительные. Посмотрите, может понравится что-то.
◽️Oh My Git! — одна из самых известных и популярных игр на тему изучения Git. Для этой технологии, на мой взгляд, сделано больше всего игр.
◽️Vim Adventures — научит выходить из Vim. Играть можно в браузере. Игра платная, бесплатно доступны первые несколько уровней.
◽️Elevator Saga — залипательная игра для изучения JavaScript. Нужно программировать эффективную работу лифта по перевозке людей. Играл в неё сам, мне понравилось.
◽️Bandit — хакерская тематика со взломом через использование консоли в Linux. Проходится на реальном сервере в интернете, к которому надо подключаться. Советую обратить внимание, игра интересная и сложная.
◽️Natas — игра от разработчиков Bandit, но тема другая. Никаких ssh и консоли, только браузер. Нужно проходить уровни, изучая сайт и веб сервер, находя в них уязвимости.
◽️while True: learn() — головоломка-симулятор на тему машинного обучения, нейронных сетей, ИИ и BigData. В игре вы выступаете в роли тыжпрограммиста, у которого есть кот, который лучше разбирается в it, чем вы.
◽️You're the OS! — условно обучающая игра, которая очень примитивно показывает механику работы операционной системы с процессами. Игра из разряда позалипать и убить время.
◽️GameShell — консольная игра, которая учит основам консольных команд Linux.
◽️ SLASH\ESCAPE — интерактивная атмосферная обучающая игра на тему регулярных выражений.
◽️Linux Master — игра-викторина под Android, где надо отвечать на тесты по различным темам, связанными с ОС на базе Linux.
◽️Симулятор системного администратора — хардкорная игра, где максимально приближённо реализованы будни офисного системного администратора. Даже игрой не поворачивается язык это назвать. Выглядит, как вторая работа 😁
◽️ServiceIT: You can do IT — игра по смыслу и геймплею очень похожа на предыдущую. В ней вы будете работать в IT поддержке и в том числе чинить железяки.
◽️KodeKloud Engineer — вы регистрируетесь и начинаете путь обычного сисадмина. Вас знакомят с проектом, рассказывают, что там к чему. Для него есть подробная схема, wiki, таблица с ip адресами и доступами. Примерно раз в день вам будут давать какое-то задание по этой инфраструктуре. Всё выполняется в виртуальной консоли в браузере, которая эмулирует консоль Linux. Задания максимально приближены к реальным задачам админа или devops.
❗️Отдельно обращаю внимание на последнюю игру. Она максимально приближена к реальности. Вот пример одной из задач, которую я разобрал.
#игра #обучение #подборка
👍76👎2
Простой и удобный сервис для шаринга экрана компьютера – 1fps.video. Как понятно из названия, передаётся всего по 1 кадру в секунду. Благодаря этому сервис максимально простой и лёгкий по нагрузке. Работает это так:
1️⃣ Скачиваете скомпилированный бинарник под вашу систему (win, lin, mac).
2️⃣ Получаете ссылку трансляции экрана и передаёте её куда-то ещё.
3️⃣ Это куда-то ещё открывает ссылку в браузере и видит ваш экран. Никаких регистраций и аутентификаций.
Описание сервиса от автора можно посмотреть на его канале. Я, собственно, там и увидел. Есть несколько публикаций по этому продукту.
Некоторые особенности:
◽️Передаваемые изображения шифруются.
◽️Отслеживается положение курсора.
◽️Если запустить клиента в RDP сессии, то будет транслироваться картинка этой сессии, а не окна логина, как иногда бывает с другими подобными программами.
◽️Поддерживаются несколько мониторов.
В таком виде, как мне показалось, это удобно для длительной демонстрации чего-либо. Например, у меня есть комп с открытым приложением для просмотра камер. Когда подключаюсь к нему через какой-то софт для удалённого управления компьютером, картинка жутко тормозит из-за потока с камер, особенно если интернет не очень. А мне надо только мельком на камеры глянуть. С этим приложением эти было бы удобно.
И второй момент. Исходники сервера и клиентов выложены в открытый доступ. Теоретически, вы можете и у себя подобное разместить, но нужно будет где-то в клиенте URL заменить и в целом разобраться, как это работает и собирается. В репозитории клиента нет инструкций на этот счёт. Программисту, наверное, будет нетрудно разобраться, так как приложение небольшое. Всем остальным – не знаю.
Я сам не разбирался, но думаю, что у меня бы получилось. Там вроде в
⇨ 🌐 Сайт / Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#remote
Описание сервиса от автора можно посмотреть на его канале. Я, собственно, там и увидел. Есть несколько публикаций по этому продукту.
Некоторые особенности:
◽️Передаваемые изображения шифруются.
◽️Отслеживается положение курсора.
◽️Если запустить клиента в RDP сессии, то будет транслироваться картинка этой сессии, а не окна логина, как иногда бывает с другими подобными программами.
◽️Поддерживаются несколько мониторов.
В таком виде, как мне показалось, это удобно для длительной демонстрации чего-либо. Например, у меня есть комп с открытым приложением для просмотра камер. Когда подключаюсь к нему через какой-то софт для удалённого управления компьютером, картинка жутко тормозит из-за потока с камер, особенно если интернет не очень. А мне надо только мельком на камеры глянуть. С этим приложением эти было бы удобно.
И второй момент. Исходники сервера и клиентов выложены в открытый доступ. Теоретически, вы можете и у себя подобное разместить, но нужно будет где-то в клиенте URL заменить и в целом разобраться, как это работает и собирается. В репозитории клиента нет инструкций на этот счёт. Программисту, наверное, будет нетрудно разобраться, так как приложение небольшое. Всем остальным – не знаю.
Я сам не разбирался, но думаю, что у меня бы получилось. Там вроде в
appconfig.go достаточно заменить url и пересобрать клиента. А для сервера есть скрипт deploy.sh, который просто копирует бинарник с сервером и поднимает Redis в Docker, который нужен для работы сервера.⇨ 🌐 Сайт / Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#remote
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍90👎7
Я делал заметку про небольшой набор полезных для меня алиасов в консоли bash, которые я использую в повседневной работе в WLS2 на базе Ubuntu в своей рабочей Windows 11. Также я отдельно и подробно описывал один из них, который выводит информацию об IP адресах.
Мой набор пополнился ещё одним скриптом, которым хотел бы с вами поделиться. У меня он работает вот так:
Передаём на вход имя домена и на выходе получаем краткую информацию по нему:
◽️IP адреса на основе А записей
◽️NS записи
◽️MX записи
За основу взял вот этот скрипт. Он относительно простой. Парсится вывод утилиты host, про которую я отдельно писал ранее. Рекомендую взять на вооружение, регулярно пользуюсь.
Единственное, что я изменил - сделал вывод вместо обычного табличного в json. Мне почему-то так удобнее. Привык уже, возможно из-за подсветки. В общем, вывод сделал такой же, как у других алиасов.
Кстати, попросил ИИ помочь перевести изначальный вывод скрипта в json, напридумывали оба очень длинные потянки. Пришлось самому сделать, потратил 5 минут. Конкретно бесплатный ChatGPT и платный Perplexity AI нагенерировали мне простыню баша с sed и awk. Возможно надо было как-то промпт оформлять, чтобы получить то, что хотелось. Я просто взял две маленькие утилиты, про которые я тут раньше тоже уже писал - jc и jq:
А сам алиас, а точнее функция, выглядит вот так:
Эту строку надо добавить в файл
Хорошо, что я учился ещё в доИИшные времени. Честно говоря, даже не представляю, во что это всё в итоге выльется. Развитие ИИ сумасшедшее. Сам сейчас активно осваиваю и экспериментирую.
Ниже на картинке изначальный вывод и мой обработанный. Второй вариант можно использовать в задачах мониторинга, если каким-то образом наблюдаете за выводимы данными.
#linux #terminal
Мой набор пополнился ещё одним скриптом, которым хотел бы с вами поделиться. У меня он работает вот так:
$ dinfo yandex.ru{ "Checking the domain 'yandex.ru', please wait...": "", "Domain": "yandex.ru", "IP Address": "77.88.44.55 5.255.255.77 77.88.55.88", "Name Server": "Found 2 NS record", "Name Server 1": "ns1.yandex.ru (213.180.193.1)", "Name Server 2": "ns1.yandex.ru (213.180.193.1)", "Name Server 3": "ns2.yandex.ru (93.158.134.1)", "Name Server 4": "ns2.yandex.ru (93.158.134.1)", "Mail Server": "Found 1 MX record", "Mail Server 1": "mx.yandex.ru (77.88.21.249)"}Передаём на вход имя домена и на выходе получаем краткую информацию по нему:
◽️IP адреса на основе А записей
◽️NS записи
◽️MX записи
За основу взял вот этот скрипт. Он относительно простой. Парсится вывод утилиты host, про которую я отдельно писал ранее. Рекомендую взять на вооружение, регулярно пользуюсь.
Единственное, что я изменил - сделал вывод вместо обычного табличного в json. Мне почему-то так удобнее. Привык уже, возможно из-за подсветки. В общем, вывод сделал такой же, как у других алиасов.
Кстати, попросил ИИ помочь перевести изначальный вывод скрипта в json, напридумывали оба очень длинные потянки. Пришлось самому сделать, потратил 5 минут. Конкретно бесплатный ChatGPT и платный Perplexity AI нагенерировали мне простыню баша с sed и awk. Возможно надо было как-то промпт оформлять, чтобы получить то, что хотелось. Я просто взял две маленькие утилиты, про которые я тут раньше тоже уже писал - jc и jq:
$ view-domain-info.sh -d yandex.ru | jc --kv | jq .А сам алиас, а точнее функция, выглядит вот так:
function dinfo {
bash ~/alias_scripts/view-domain-info.sh -d $1 | jc --kv | jq .
}Эту строку надо добавить в файл
~/.bashrc и потом перечитать: source ~/.bashrc.Хорошо, что я учился ещё в доИИшные времени. Честно говоря, даже не представляю, во что это всё в итоге выльется. Развитие ИИ сумасшедшее. Сам сейчас активно осваиваю и экспериментирую.
Ниже на картинке изначальный вывод и мой обработанный. Второй вариант можно использовать в задачах мониторинга, если каким-то образом наблюдаете за выводимы данными.
#linux #terminal
👍56👎1
Одним из самых популярных, если не самый популярный, программных шлюзов является pfSense. Хотел тут оставить ссылку на заметку о нём, но оказалось, что её никогда не было. Это очень старое, проверенное временем решение на базе FreeBSD - программный шлюз с файрволом, который настраивается и управляется через веб интерфейс.
Недавно знакомый попросил скачать образ, так как без VPN он недоступен, и у него не получалось скачать. Прислал ссылку. Я зашёл по ссылке и ничего не понял. Сайт вроде тот. Жму кнопку Download и попадаю в магазин Netgate. Не понимаю, что тут надо качать.
Пошёл в документацию pfSense, всё там перечитал по установке и понял, что надо каким-то образом оформлять покупку за нулевую стоимость, предварительно зарегистрировавшись и отдав кучу личной информации. Иначе свежий ISO образ с pfSense не получить. Плюнул на это дело и предложил скачивать предыдущую версию, которая существует в виде обычной ссылки для загрузки.
Немного позже разобрался с этим вопросом. Оказалось, что компания Netgate, которая занимается разработкой pfSense, перешла на новую схему распространения продукта. Вместо прямой загрузки ISO образа, теперь надо покупать Netgate Installer в их фирменном магазине. Этот установщик во время установки требует подключение к интернету для загрузки компонентов системы.
Несмотря на то, что продаётся этот установщик за 0$, оформить покупку всё равно не очень просто. Во-первых, там надо зарегистрироваться, а во время оформления заказа ещё и адрес с телефоном указать. Во-вторых, там заблокирован доступ с IP адресов РФ, причём так, что я даже через американский VPN сейчас зайти не могу.
В связи с этим я бы рекомендовал использовать OPNsense, как наиболее близкий и функциональный аналог. Там посвежее веб интерфейс, никаких ограничений и блокировок загрузки. Идёшь на сайт и качаешь любой подходящий ISO образ. При таких вводных не вижу ни одной причины, почему стоит отдать предпочтение pfSense, а не OPNsense.
Походу Netgate начала свою бесплатную систему потихоньку хоронить. Такой способ распространения многим не понравится. Люди будут отказываться в пользу аналогов. Кратко упомяну ещё несколько бесплатных программных шлюзов:
▪️VyOS (только CLI, без веб интерфейса)
▪️IPFire
▪️OpenWrt
Эти шлюзы я сам в то или иное время устанавливал и настраивал. Есть ещё те, что я лично не тестировал. Плюс, они частично бесплатные, то есть существуют более функциональные платные редакции, а те, что бесплатны, сильно урезаны. Но если ограничения для вас будут некритичны, то можно пользоваться:
◽️RouterOS
◽️ИКС
◽️Ideco
◽️Sophos Firewall Home Edition
◽️Endian Firewall Community
◽️Smoothwall Express
Был ещё неплохой проект ClearOS, которым я пользовался, писал статьи, заметки по нему. Но сейчас он мёртв. Больше не развивается, хоть сайт и живой. На вид не понятно, что с ним какие-то проблемы. Использовать не рекомендую.
Если кто-то использовал Endian Firewall Community и Smoothwall Express, дайте, пожалуйста, обратную связь по ним. Я их лично не видел. Думаю попробовать, но не хочется время тратить, если это ерунда и существенно хуже того же OPNsense.
#gateway
Недавно знакомый попросил скачать образ, так как без VPN он недоступен, и у него не получалось скачать. Прислал ссылку. Я зашёл по ссылке и ничего не понял. Сайт вроде тот. Жму кнопку Download и попадаю в магазин Netgate. Не понимаю, что тут надо качать.
Пошёл в документацию pfSense, всё там перечитал по установке и понял, что надо каким-то образом оформлять покупку за нулевую стоимость, предварительно зарегистрировавшись и отдав кучу личной информации. Иначе свежий ISO образ с pfSense не получить. Плюнул на это дело и предложил скачивать предыдущую версию, которая существует в виде обычной ссылки для загрузки.
Немного позже разобрался с этим вопросом. Оказалось, что компания Netgate, которая занимается разработкой pfSense, перешла на новую схему распространения продукта. Вместо прямой загрузки ISO образа, теперь надо покупать Netgate Installer в их фирменном магазине. Этот установщик во время установки требует подключение к интернету для загрузки компонентов системы.
Несмотря на то, что продаётся этот установщик за 0$, оформить покупку всё равно не очень просто. Во-первых, там надо зарегистрироваться, а во время оформления заказа ещё и адрес с телефоном указать. Во-вторых, там заблокирован доступ с IP адресов РФ, причём так, что я даже через американский VPN сейчас зайти не могу.
В связи с этим я бы рекомендовал использовать OPNsense, как наиболее близкий и функциональный аналог. Там посвежее веб интерфейс, никаких ограничений и блокировок загрузки. Идёшь на сайт и качаешь любой подходящий ISO образ. При таких вводных не вижу ни одной причины, почему стоит отдать предпочтение pfSense, а не OPNsense.
Походу Netgate начала свою бесплатную систему потихоньку хоронить. Такой способ распространения многим не понравится. Люди будут отказываться в пользу аналогов. Кратко упомяну ещё несколько бесплатных программных шлюзов:
▪️VyOS (только CLI, без веб интерфейса)
▪️IPFire
▪️OpenWrt
Эти шлюзы я сам в то или иное время устанавливал и настраивал. Есть ещё те, что я лично не тестировал. Плюс, они частично бесплатные, то есть существуют более функциональные платные редакции, а те, что бесплатны, сильно урезаны. Но если ограничения для вас будут некритичны, то можно пользоваться:
◽️RouterOS
◽️ИКС
◽️Ideco
◽️Sophos Firewall Home Edition
◽️Endian Firewall Community
◽️Smoothwall Express
Был ещё неплохой проект ClearOS, которым я пользовался, писал статьи, заметки по нему. Но сейчас он мёртв. Больше не развивается, хоть сайт и живой. На вид не понятно, что с ним какие-то проблемы. Использовать не рекомендую.
Если кто-то использовал Endian Firewall Community и Smoothwall Express, дайте, пожалуйста, обратную связь по ним. Я их лично не видел. Думаю попробовать, но не хочется время тратить, если это ерунда и существенно хуже того же OPNsense.
#gateway
👍103👎3