Системный Администратор (Сисадмин)
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
VPN

Настройка VPN с GRE и IPSec (cisco)
Настройка VPN с IPSec и crypto-map(cisco)
Настройка VPN с использованием IPSec, статический VTI и профили IPSec (cisco)
Настройка VPN с использованием IPsec и DVTI (cisco)
Настройка EasyVPN. EasyVPN в client mode. EasyVPN в network-extention mode(cisco)/VPN
Настройка FlexVPN / IKEv2(cisco)
Инфраструктура открытого ключа/ PKI/Сертификаты/ЭЛЕКТРОННАЯ ПОДПИСЬ(cisco)
Настройка FlexVPN / IKEv2 с использованием сертификатов(cisco)/Flex VPN client
Настройка L2TP с IPSec/VPN/(cisco)

источник

👉 @sysadminof
👍10🔥1
Шпаргалка по ZFS

modinfo zfs | head -n 9 — узнать версию ZFS и другие подробности

Информация о пулах / файловых системах (ФС) на пулах
zpool list — статус пулов
zpool status -v — статус пулов подробный
zfs list — список ФС, так называются монтируемые разделы в пулах
zfs get all — вся информация по пулам

Управление пулами / дисками
ls -lha /dev/disk/by-id/ — выяснить id дисков чтобы потом на них создать пул (не юзайте имя диска типа sda — они динамически меняются)
zpool create zfspool disk-id-1 disk-id-2 — может быть сколько угодно дисков
zpool create -m /mnt/backups zfspool disk-id-1 — создать пул с указанием папки 
zpool destroy zfspool — уничтожить пул
mkfile 100m disk1 disk2 — создать файлы дисков
zpool create backups /disk1 /disk2- создать пул backups на созданных файлах
zpool create zfspool mirror /disk1 /disk2 — создать пул zfspool с зеркалированием на 2 диска
zpool add zfspool /disk3 — добавить диск в пул
zpool attach zfspool /disk3 — добавить устройство в пул, если он в зеркале — добавится в зеркало, если простой — пул расширится
zpool detach zfspool /disk3 — исключить устройство из пула
zpool remove zfspool /disk3 — удаление устройства из пула
zpool add zfspool spare /disk3 — добавление диска горячей замены в пул
zpool remove zfspool spare /disk3 — удаление диска горячей замены из пула
zpool offline zfspool /disk1 — отключить устройство, на него не будет чтения/записи, если добавить ключ -t, то после ребута станет онлайн
zpool online zfspool /disk1 — включить disk1
zpool replace zfspool /disk1 /disk3 — заменить disk 1, на disk3
zpool upgrade -v — увидеть версию, и фичи текущего ZFS, -a обновит все пулы до новейшей версии

Создание и свойства ФС
zfs create zfspool/data — создать ФС data
zfs create zfspool/backups создать ФС backups, обе ФС будут бесконтрольно расти, пока не выставлены квоты
zfs destroy -fr zfspool/backups/old — уничтожит ФС old, ключ -r — рекурсивно, если внутри ещё несколько ФС, -f — форсить
zfs set reservation=1G zfspool/data — зарезервировать 1 Гигабайт, который ФС гарантированно получит, а другие не займут
zfs list -o quota zfspool/backups — выяснить квоту в пуле на ФС backups
zfs set quota=1G zfspool/backups — установить квоту в 1 Гигабайт на ФС backups
zfs list -o compression — проверить включена компрессия или нет
zfs set compression=on zfspool/backups — включить компрессию на ФС backups в пуле zfspool
zfs set sharesmb=on zfspool/backups
 — расшарить по SMB ФС backups средствами ZFS
zfs set sharenfs=on zfspool/backups — расшарить по NFS ФС backups средствами ZFS

Монтирование
zfs mount — показать все примонтированные ФС
zfs mount zfspool/backups — примонтировать backups
zfs umount zfspool/backups — размонтировать ФС backups
zfs mount -a — смонтировать все ФС
zfs umount -a Umount — размонтировать все ФС

Снапшоты
zfs list -t snapshot — отобразить все снапшоты
zfs list -o space — сколько занимают места снапшоты
zfs snapshot zfspool/backups@test — создать снапшот ФС backups с названием test
zfs rollback zfspool/backups@test — вернуться к снапшоту backups с названием test, с ключом -r рекурсивно уничтожит промежуточные снапшоты, с ключом -f форсит анмаунт и ремаунт
zfs destroy zfspool/backups@test — уничтожить снапшот backups с названием test
zfs send zfspool/backups@march2021 > /home/backups/march2021.bak — сделать локальный бекап снапшота march2021
zfs receive zfspool2/backups2 < /home/backups/march2021.bak — восстановить из локального снапшота ФС на другом пуле
zfs send zfspool/backups@march2021 | ssh COMP02 «zfs receive testpool/testfs» — отправить снапшот по SSH на хост COMP02
zfs clone zfspool/backups@march2021 /clones/backups — клонировать существующий снапшот
zfs destroy zfspool/backups@march2021 — уничтожить клон

👉 @sysadminof
👍5🔥3
Media is too big
VIEW IN TELEGRAM
Зачем вводить системы Linux в домен Microsoft Active Directory?

👉 @sysadminof
👍9
Cisco. Базовая настройка

Заливаем последнюю прошивку(для SSH необходим минимум Advanced Security), избавляемся от преднастроенного мусора и перегружаемся
erase startup-config

Включаем шифрование паролей
service password-encryption

Используем новую модель ААА и локальную базу пользователей
aaa new-model
aaa authentication login default local


Заводим пользователя с максимальными правами
username user privilege 15 secret password

Назначаем имя роутеру
hostname R1
ip domain-name R1.domain


Генерируем ключ для SSH
crypto key generate rsa

Настраиваем SSH
ip ssh authentication-retries 5
ip ssh version 2
ip ssh time-out 60


Разрешаем telnet и ssh на удаленной консоли и делаем доступ сразу в привилегированный режим 15го уровня line vty 0 4
transport input telnet ssh
privilege level 15


Отключаем доступ по http и https
no ip http server
no ip http secure-server


Настройка временной зоны и ntp
clock timezone MSK 3
ntp server 146.0.32.144


Настраиваем DNS
ip domain name domain
ip name-server 8.8.8.8


Блокируем доступ при определённом количестве неправильных попыток
login block-for 600 attempts 5 within 30

Отключаем ошибку резолва при неправильном наборе чего-либо в консоли
no ip domain-lookup

Задаём timeout неактивности telnet сессии
exec-timeout 15 0

👉 @sysadminof
👍12
Утилиты на PowerShell для системных администраторов

Работая на первой линии тех.поддержки, я часто сталкивался с рутиной, особенно очень хотелось минимизировать подключение к рабочему столу пользователей для сбора информации и как-то автоматизировать этот процесс, что привело меня к осваиванию языка PowerShell и написанию скриптов, которые в последствии оформились в самостоятельные программы. Некоторые из них я решил выложить на GitHub, возможно для кого-то они будут полезны.

https://habr.com/ru/articles/799463/

https://github.com/Sync1er/ChernigovEugeniyUtilities

👉 @sysadminof
👍10🔥2🥱21
Как скопировать структуру директорий в Linux

В этой статье мы расскажем как в две команды скопировать структуру директорий без файлов через командрую строку Linux.

Сначала необходимо перейти в директорию, где находятся нужная структура
# cd /dir1

Затем выполняем команду, которая находит директории и сохраняет пути к ни в файл
# find . -type d > dirs.txt

Теперь необходимо перенести этот файл в директорию, где мы хотим воссоздать структуру
# mv ./dirs.txt /dir2

Переходим туда
# cd /dir2

И используя xargs читаем из файла пути и создаем по ним структуру директорий
# xargs mkdir -p < dirs.txt

👉 @sysadminof
👍11
Карта ядра ОС Linux (Linux kernel map)

https://makelinux.github.io/kernel/map/

👉 @sysadminof
👍8🔥3🥰3
Media is too big
VIEW IN TELEGRAM
Подключение удаленных USB устройств. USBIP

В этом видео мы расскажем о том, как получить общий доступ к usb-устройствам через ip-сеть для совместного использования. Расскажем, какие устройства можно подключить таким способом и продемонстрируем подключение в консольном и графическом варианте.

00:00 Вступление
01:14 Настройка на сервере
02:40 Настройка на клиенте
04:37 Графическая утилита

👉 @sysadminof
👍11🏆1
Скрипт Bash для для проверки производительности системы в реальном времени, а также для сбора статистики использования за определенное время.

#!/bin/bash
# This script monitors CPU and memory usage

while :
do
# Get the current usage of CPU and memory
cpuUsage=$(top -bn1 | awk '/Cpu/ { print $2}')
memUsage=$(free -m | awk '/Mem/{print $3}')

# Print the usage
echo "CPU Usage: $cpuUsage%"
echo "Memory Usage: $memUsage MB"

# Sleep for 1 second
sleep 1
done

👉 @sysadminof
👍6😁1
Media is too big
VIEW IN TELEGRAM
Python. Пишем мониторинговую систему

00:00 - Постановка задачи
05:19 - Разбор кода
19:30 - Демонстрация на ноутбуке
20:55 - Регистрация на TimeWeb
21:33 - Создание виртуальной машины
23:15 - Настройка сервера
24:40 - Настройка домена
28:25 - Демонстрация на сервере
29:27 - Плюшка от TimeWeb

источник

👉 @sysadminof
👍6🤮3
Для ускорения вашей работы с командами

!! — повторяет последнюю команду.

!$ — позволяет изменить команду, сохраняя последний аргумент. Например, команда less !$ — используется для повторного открытия файла в меньшем объёме.

!* —позволяет изменить команду, сохраняя при этом все аргументы. Например, head states.txt | grep '^Al' — при использовании должен быть хвост.

tail !* — избавляет от необходимости вводить остальную часть команды.

>x.txt — используется для создания пустого файла или очистки существующего.

lsof -P -i -n — определяет, к каким скриптам идёт обращение со стороны веб-сервера.

👉 @sysadminof
👍93
Скрипт для мониторинга дискового пространства в Linux

Скрипт ниже предназначен для мониторинга использования дискового пространства на указанном разделе сервера. Настраиваемые параметры включают в себя максимально допустимый процент использования дискового пространства (`MAX`), адрес электронной почты для получения оповещений (`EMAIL`) и целевой раздел (`PARTITION`).

Скрипт использует команду df для сбора информации об использовании диска и отправляет предупреждения по электронной почте, если текущее использование превышает заданный порог.

#!/bin/bash

# Set the maximum allowed disk space usage percentage
MAX=90

# Set the email address to receive alerts
EMAIL=user@example.com

# Set the partition to monitor (change accordingly, e.g., /dev/sda1)
PARTITION=/dev/sda1

# Get the current disk usage percentage and related information
USAGE_INFO=$(df -h "$PARTITION" | awk 'NR==2 {print $5, $1, $2, $3, $4}' | tr '\n' ' ')
USAGE=$(echo "$USAGE_INFO" | awk '{print int($1)}') # Remove the percentage sign

if [ "$USAGE" -gt "$MAX" ]; then
# Send an email alert with detailed disk usage information
echo -e "Warning: Disk space usage on $PARTITION is $USAGE%.\n\nDisk Usage Information:\n$USAGE_INFO" | \
mail -s "Disk Space Alert on $HOSTNAME" "$EMAIL"
fi


👉 @sysadminof
👍7🥰2