Системный Администратор (Сисадмин)
13.9K subscribers
1.7K photos
1.55K videos
87 files
1.73K links
Настройка серверов Windows, Linux, сетевое оборудование Cisco Systems, D-Link, HP, Huawei, Juniper, MikroTik. Книги и мануалы для сисадминов.
По всем вопросам @evgenycarter

РКН clck.ru/3KoGJ3
Download Telegram
Как отлаживать bash-script-ы по шагам

Мне всегда хотелось иметь возможность отлаживать 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";



👉 @sysadminof
👍161
Удаленный запуск скрипта на сервере Linux

Удаленный запуск скрипта повторяющихся задач повышают эффективность системного администрирования. Это отлично подходит для локальных машин, но что если вы контролируете удаленные серверы? Можете ли вы запустить локальный скрипт на удаленном компьютере? Да!

https://bookflow.ru/udalennyj-zapusk-skripta-na-servere-linux/

👉 @sysadminof
👍6
Media is too big
VIEW IN TELEGRAM
Протокол ICMP, утилита traceroute

Утилита traceroute (в Windows tracert) используется для определения маршрута от отправителя к получателю. Утилита выдает перечень всех маршрутизаторов, через которые необходимо пройти.

Для определения IP-адресов маршрутизаторов, traceroute использует протокол ICMP. На первом этапе отправляется эхо-запрос (ICMP-пакет с кодом 8, типом 0) со временем жизни 1. Первый маршрутизатор уменьшает время жизни до 0, отбрасывает пакет и передает отправителю сообщение об истечении времени жизни пакета (ICMP-пакет с кодом 11, типом 0). traceroute получает ICMP-пакет, анализирует IP-заголовок и извлекает из него IP-адрес отправителя. Это и есть адрес первого маршрутизатора.

Затем отправляется эхо-запрос со временем жизни 2, он доходит до второго маршрутизатора. Второй маршрутизатор отбрасывает пакет и также передает сообщение, что время жизни пакета истекло. traceroute извлекает из сообщения IP-адрес второго маршрутизатора. После этого traceroute передает эхо-запрос со временем жизни 3, 4, 5 и т.д., пока запрос не дойдет до получателя.

источник

👉 @sysadminof
👍13
От softline относительно блокировки компанией Microsoft облачных сервисов для клиентов из России


Когда будут заблокированы облачные сервисы?
Сервисы будут заблокированы в ночь с 20 на 21, точное время и часовой пояс не известны.
Какие подписки/сервисы будут отключены с 20 марта в РФ?
Точный список не опубликовал, но точно известно, что под блокировку попадают: Teams, One drive, Azure, Office 365 M365, Все веб службы (в т.ч. бесплатные), SQL On-prem Server, System center server (перестанут доставляться security updates). Excel – все версии.
Заблокируют ли ключи на MS Visio и Office?
Ключи будут заблокированы.
Будут ли доставляться security updates (WSUS)?
Не будут доставляться.
Коснется ли отключение бесплатных версий Power BI Pro и Azure Devops?
Да, коснется.
Коснётся ли блокировка сервиса Microsoft online protection?
Да, коснется.
Visual Studio Comunity Edition с личной учеткой будет блокироваться? Visual Studio Code будет блокироваться?
Нет комментариев.
По какому признаку будет происходить отключение? Что будет с multinational контрактами?
Отключение касается только компаний, зарегистрированных на территории РФ. MNC компании не должны быть заблокированы.
Образовательные продукты тоже отключат?
Да
Будут ли заблокированы продукты физических пользователей?
Нет
Будут ли удалены данные из облака Microsoft?
Вероятно нет и вероятно можно будет получить к ним доступ через ТехПоддержку после 20 марта (но не точно).

👉 @sysadminof
👍2
Сохраняем вывода команды Top в файл

Поскольку я не использовал опцию delay, приведенная ниже команда top перенаправит вывод команды top за одну итерацию в файл.
top -b -n 1 > /home/i_odmin/backup/output.txt

Сохранение вывода команды top с более чем одной итерацией из 5 итераций
Обычно программа работает непрерывно с задержкой в 2 секунды, и вы можете изменить это значение, добавив в верхнюю команду значение ‘-d’, как показано ниже:
top -n 5 -d 4 -b >/backup/output_1.txt

Как захватить вывод команды top в файл каждые 5 минут в течение часа
Система создает отдельный файл каждые 5 минут, который поможет вам определить список процессов, которые потребляли больше CPU и памяти в системе.
Добавляем следующий cronjob, который будет выполняться с 5 до 6 утра каждые 5 минут в течение часа.
Где
-n : Задает максимальное количество итераций.
-b : Работа в пакетном режиме (Запуск команды top в пакетном режиме для перенаправления вывода в другие программы или в файл)
-d : Интервал задержки (Задает задержку между обновлениями экрана)
0-59/5 5 * * * top -n 10 -d 4 -b > /home/i_odmin/backup/top_out-`date +\%Y\%m\%d\%H\%M\%S`.txt

Собраем вывод в один файл, используйте следующий cronjob
Cronjob будет выполняться с 9 до 10 утра каждые 5 минут в течение часа и добавлять результаты в один файл.
0-59/5 9 * * * top -b -n5 -d 5 >>/home/i_odmin/backup/output.txt

Записываем вывод команды top в файл каждые 5 минут в течение получаса
Добавляем следующий cronjob, который будет запускаться каждые 5 минут с 13:30 до 14:00 в течение получаса.
30-59/5 13 * * * top -n 10 -d 4 -b > /home/i_odmin/backup/top_out-`date +\%Y\%m\%d\%H\%M\%S`.txt

👉 @sysadminof
👍6
Как пробросить порт в Linux на другой сервер

Необходимо пробросить с 8821 порта сервера 10.10.10.10 на 21 порт сервера 12.12.12.12:

iptables -A FORWARD --dst 10.10.10.10 -p tcp --dport 8821 -j ACCEPT

iptables -A FORWARD --src 10.10.10.10 -p tcp --sport 8821 -j ACCEPT

iptables -t nat -A PREROUTING -d 10.10.10.10 -p tcp --dport 8821 -j DNAT --to-destination 12.12.12.12:21

iptables -t nat -A POSTROUTING -d 12.12.12.12 -p tcp --dport 21 -j SNAT --to-source 10.10.10.10:8821


👉 @sysadminof
👍16🔥4
Шпаргалка по RAID

mdadm — утилита для работы с программными RAID-массивами различных уровней. В данной инструкции рассмотрим примеры ее использования.

Информация о RAID
cat /proc/mdstat - состояние всех RAID
mdadm -D /dev/md0 - подробная инфа о конкретном RAID
lsblk - список дисков с разделами, местом, типом
df -hT - свободное место, тип файловой системы, точки монтирования

Сборка RAID
mdadm —zero-superblock —force /dev/sd{b,c} - обнуление суперблоков на дисках sdb sdc (для удаления инфы о других RAID)
при получении ответа mdadm: Unrecognised md component device - /dev/sdb значит, что диск не использовался для RAID, продолжаем
mdadm —create —verbose /dev/md0 -l 1 -n 2 /dev/sd{b,c}
* где /dev/md0 — устройство RAID, которое появится после сборки; -l 1 — уровень RAID; -n 2 — количество дисков, из которых собирается массив; /dev/sd{b,c} — сборка выполняется из дисков sdb и sdc.

Создание файловой системы и монтирование массива
mkfs.ext4 /dev/md0 - создание файловой системы ext4 на md0
mount /dev/md0 /mnt - разово примонтировать md0 к /mnt
nano /etc/fstab, прописать /dev/md0 /mnt ext4 defaults 1 2 - постоянное монтирование, работает после перезагрузки

Восстановление RAID
Замена жесткого диска
При выходе из строя, команда mdadm -D /dev/md0 выдаст: State : clean, degraded
mdadm /dev/md0 —remove /dev/sdc - удалить сбойный диск
mdadm /dev/md0 —add /dev/sde - добавить новый диск в массив
Статус должен стать Rebuild Status : 40% complete и так до полного восстановления

Пересборка массива
Если нам нужно вернуть ранее разобранный или развалившийся массив из дисков, которые уже входили в состав RAID, вводим:
mdadm —assemble —scan - команда сама найдет необходимую конфигурацию и восстановит RAID.
mdadm —assemble /dev/md0 /dev/sdb /dev/sdc - с указанием из каких дисков пересобрать

Запасной диск (Hot Spare)
Если в массиве будет запасной диск для горячей замены, при выходе из строя одного из основных дисков, его место займет запасной.
mdadm /dev/md0 —add /dev/sdd - Диском Hot Spare станет тот, который просто будет добавлен к массиву

Добавить диск к массиву, расширить массив
Добавление активного диска к RAID, который будет использоваться для работы, а не в качестве запасного.
mdadm /dev/md0 —add /dev/sde

mdadm -G /dev/md0 —raid-devices=3 - расширяем RAID
* в данном примере подразумевается, что у нас RAID 1 и мы добавили к нему 3-й диск.

Установка mdadm
Если каким-то образом в дистрибутиве нет этого пакета
apt-get install mdadm

Удаление массива
Если нам нужно полностью разобрать RAID, сначала размонтируем и остановим его:

umount /mnt
* где /mnt — каталог монтирования нашего RAID.

mdadm -S /dev/md0

Затем очищаем суперблоки на всех дисках, из которых он был собран:
mdadm —zero-superblock /dev/sdb
mdadm —zero-superblock /dev/sdc
mdadm —zero-superblock /dev/sdd


👉 @sysadminof
👍9
Файловый сервер SFTPGo

Полнофункциональный и высококонфигурируемый SFTP-сервер с дополнительной поддержкой HTTP/S, FTP/S и WebDAV. Поддерживается несколько видов хранилищ: локальная файловая система, зашифрованная локальная файловая система, S3 (совместимое) Object Storage, Google Cloud Storage, Azure Blob Storage, SFTP.

https://github.com/drakkan/sftpgo

👉 @sysadminof
👍5
Про технологии Veeam на русском

VBR. Репликация. Как работает репликация? Создание задания на репликацию.
Создание резервных копий при помощи агентов
Создание Application Groups
Создание Veeam Virtual Labs
Установка Veeam Backup Enterprise Manager
Что такое Backup Repository
Capacity Tier в SOBR
Как запустить процесс быстрого восстановления в Veeam Backup and Replication v10?
Резервное копирование NAS с помощью Veeam
Установка Veeam Backup & Replication

👉 @sysadminof
👍13
Обнаружение SSH-туннелей по размеру пакетов

Протокол SSH — очень мощный инструмент, который используется для удалённой консоли или передачи файлов (scp, sftp). Есть менее известная функция перенаправления портов. Такие SSH-туннели используются для пробития файрволов и хорошо скрываются от обнаружения стандартными средствами мониторинга типа Trisul, Zeek (ранее был известен как Bro), Suricata и Snort. Поэтому для их обнаружения в корпоративной сети используются другие методы.

Например, разработчики инструмента для сетевого мониторинга Trisul Network Analytics несколько лет назад опубликовали небольшое руководство по методам обнаружения SSH-туннелей. Они напоминают, что ещё во второй версии SSH 2 появилась поддержка SOCKS5, а это позволяет любому желающему установить полноценный SOCKS5-прокси вне корпоративной сети и скрыть всю HTTP-активность от инструментов сетевого мониторинга.

После обмена ключами SSH эффективно скрывает от посторонних глаз весь трафик внутри туннеля.

https://habr.com/ru/companies/ruvds/articles/799255/

👉 @sysadminof
👍8
Про технологии Veeam на русском. Часть 2
Часть 1 https://t.me/sysadminof/2949

Репозиторий SOBR
Настройка Veeam Backup Enterprise Manager
Настройка портала самообслуживания Enterprise Manager
Централизованная установка агентов
Создание задания на резервное копирование NAS
VBR. Переключение реплик. Первичное переключение на реплику (Failover).
VBR. Переключение на реплику взаимосвязанных ВМ (Failover Plan).
VBR. Переключение реплик. Постоянное переключение на репилику ( Permanent Failover).
VBR. Переключение реплик. Отмена переключения (Undo Failover)
Управление уведомлениями в Veeam Backup & Replication

👉 @sysadminof
👍3🔥31👏1