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

РКН clck.ru/3KoGJ3
Download Telegram
Сеть центра обработки данных может выглядеть идеально на схеме, но одна неудачная настройка балансировки трафика способна превратить высокопроизводительную инфраструктуру в источник постоянных проблем.

7 июля в 20:00 МСК приглашаем вас на открытый урок, где разберём, как на практике работает балансировка в современных сетях и почему понимание этих механизмов критически важно для инженеров и архитекторов.

На занятии рассмотрим режимы балансировки, консистентное хеширование, особенности vPC (MLAG), а также принципы работы балансировки в VXLAN/EVPN-фабриках. Отдельно поговорим о распространённых ошибках и способах их предотвращения.

Открытый урок проходит в преддверии старта курса «Дизайн сетей ЦОД». Это возможность глубже разобраться в устройстве современных сетей центров обработки данных, познакомиться с экспертом и оценить уровень программы. Регистрация открыта: https://vk.cc/cZcU9j

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍1
Малоизвестная история порта SSH 22 🔒

Вы когда-нибудь задумывались, почему порт 22 SSH является выбором по умолчанию для безопасных удаленных подключений? 🤔

Финский ученый-компьютерщик Тату Илонен написал первоначальную версию SSH весной 1995 года.

В то время широко использовались Telnet и FTP, и вместо них был написан SSH.

Интересно, что порт номер 22 был свободен и находился между портом FTP 21 и портом 23 Telnet.

Тату воспользовалась возможностью и использовала порт номер 22 для бета-тестирования SSH.

Номер порта остается портом по умолчанию для SSH до сегодняшнего дня.

Картинка к посту, это электронное письмо с анонсом проекта SSH 👆

📲 Мы в MAX

👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🤡21🔥1
Media is too big
VIEW IN TELEGRAM
Прохождение IP пакета между сетями

Подробно описан процесс прохождения пакета между сетями, его структура и объяснено назначение основных полей Ip заголовка. Указаны изменяемые и неизменяемые в процессе пересылки части пакета. Описан процесс фрагментации и дефрагментации пакета.

📲 Мы в MAX

👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍4
🔥 Современный процесс загрузки Linux 🔥

💻 Power On — Включение компьютера

🔹 1. Инициализация BIOS/UEFI
При включении компьютера загружается прошивка BIOS или UEFI из энергонезависимой памяти (NVRAM). Она отвечает за инициализацию оборудования, выполнение самотестирования (POST) и запуск процесса загрузки.

🔹 2. Поиск оборудования
BIOS/UEFI проверяет подключенные компоненты системы, такие как процессор, оперативная память, дисковые накопители и периферийные устройства.

🔹 3. Выбор загрузочного устройства (HDD, USB, PXE…)
После обнаружения оборудования BIOS/UEFI позволяет выбрать устройство, с которого будет загружена операционная система. Это может быть локальный диск, сеть или другой носитель.

🔹 4. Определение EFI-раздела (ESP)
Если используется UEFI, система определяет EFI System Partition (ESP) на загрузочном устройстве. Этот раздел содержит загрузочные файлы и другие важные данные для загрузки ОС.

🔹 5. Загрузка загрузчика (например, GRUB2)
BIOS/UEFI передает управление загрузчику, такому как GRUB (Grand Unified Bootloader). GRUB предоставляет меню выбора ОС или автоматически загружает установленный по умолчанию Linux.

🔹 6. Определение ядра Linux
GRUB или другой загрузчик выбирает ядро Linux, основываясь на конфигурационных файлах и версиях ядра.

🔹 7. Загрузка выбранного ядра
Загрузчик загружает выбранное ядро Linux в оперативную память. Ядро – это центральный компонент ОС, отвечающий за инициализацию оборудования и управление ресурсами системы.

🔹 8. Инициализация структур данных ядра
После загрузки ядро инициализирует свои структуры данных, систему управления памятью и подготавливается к передаче управления пользовательскому пространству.

🔹 9. Запуск Init/systemd (PID 1)
Ядро запускает инициализационную систему (init) или systemd, которая становится первым процессом в системе (PID 1). В современных дистрибутивах по умолчанию используется systemd, который управляет службами и процессами системы.

🔹 10. Выполнение стартовых скриптов
Init/systemd выполняет стартовые скрипты и инициализирует системные службы. Эти скрипты настраивают сеть, подключают файловые системы и выполняют другие важные задачи.

🔹 11. Готовая к работе система 🚀
После завершения всех этапов загрузки система полностью загружена и готова к использованию. Вы можете войти в систему и запускать приложения, работать с файлами и выполнять другие задачи.

📲 Мы в MAX

👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3
Active Directory: утилита DCDIAG

Утилита dcdiag позволяет выполнить до 20 тестов над инфраструктурой Active Directory. Некоторые из тестов предоставляют диагностическую информацию об определенном контроллере домена. Многие тесты предоставляют информацию о конфигурации репликации в пределах леса.

Advertising
Проверяет, правильно ли контроллер домена сообщает о себе и о своей роли хозяина операций. Этот тест завершиться неудачно, если служба NetLogon не запущена

CheckSDRefDom
Проверяет правильность доменов ссылок дескрипторов безопасности для каждого раздела каталогов программ

Connectivity
Проверяет регистрацию DNS для каждого контроллера домена, отправляет тестовый эхо-пакет на каждый контроллер домена и проверяет подключение по протоколам LDAP и RPC к каждому контроллеру домена

CrossRefValidation
Проверяет правильность перекрестных ссылок для доменов

RRSSysvol
проверяет состояние готовности для FRS SYSVOL

FRSEvent
Проверяет ошибки репликации в работе службы репликации файлов, что может означать наличие проблем в репликации SYSVOL и, таким образом, целостности копий объектов групповых политик

FSMOCheck
Не проверяет роли хозяев операций, а вместо этого запрашивает сервер глобального каталога, первичный контроллер домена, предпочтительный сервер времени, сервер времени и центр распространения ключей

Intersite
Проверяет наличие ошибок, которые могут помешать нормальной репликации между сайтами. Компания Microsoft предупреждает, что иногда результаты этого теста могут оказаться неточными

KCCEvent
Проверяет безошибочность создания объектов соединений для репликации между сайтами

KnowsOfRoleHolders
Проверяет возможность подключения контроллеров домена ко всем пяти хозяевам операций

MachineAccount
Проверяет правильность регистрации учетной записи целевого компьютера и правильность объявлений служб этого компьютера. Если обнаружена ошибка, ее можно исправить с помощью утилиты dcdiag, указав параметры /fixmachineaccount или /recreatemachineaccount

NCSecDesc
Проверяет правильность разрешений для репликации в дескрипторах безопасности для заголовков контекста именования

NetLogons
Проверяет правильность разрешений регистрации, позволяющих регистрацию, для каждого контроллера домена

ObjectsReplicated
Проверяет правильность репликации агента сервера каталогов и объектов учетных записей компьютеров

OutboundSecureChannels
Проверяется наличие безопасных каналов между всеми контроллерами домена в интересующем домене

Replications
Проверяет возможность репликации между контроллерами домена и сообщает обо всех ошибках при репликации

RidManager
Проверяет работоспособность и доступность хозяина относительных идентификаторов

Services
Проверяет работоспособность всех служб, необходимых для работы контроллера домена, на указанном контроллере домена

SystemLog
Проверяет безошибочность работы системного журнала

VerifyEnterpriseReferences
Проверяет действительность системных ссылок службы репликации файлов для всех объектов на всех контроллерах домена в лесу

VerifyReferences
Проверяет действительность системных ссылок службы репликации файлов для всех объектов на указанном контроллере домена

VerifyReplicas
Проверяет действительность всех разделов каталога приложения на всех серверах, принимающих участие в репликации

Синтаксис команды dcdiag:
dcdiag /s:<DomainController> [/n:<NamingContext>] [[/u:<domain\user>] [/p:<password>] ] [{/a|/e}{/q|/v}] [/i] [/f:<LogFile>] [/ferr:<ErrorLog>] [/c [/skip:<test]] [/test:<test>] [/fix]

📲 Мы в MAX

👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍4
Лучшие практики сегментации корпоративной сети любой компании

Данный проект создан для публикации лучших практик сегментации корпоративной сети любой компании. В целом схемы, приведенные в данном проекте, подходят для любой компании.

https://github.com/sergiomarotco/Network-segmentation-cheat-sheet

📲 Мы в MAX

👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31👍1
🇷🇺 Разбираешься в радиочипах, оптике и связи? Забери до 1 000 000 рублей за свои инженерные навыки на турнире «Дронкон» 🇷🇺

«Сталинские Соколы» открывают регистрацию на 4-й Всероссийский турнир «Дронкон», который пройдет с 22 по 26 августа.

Турнир пройдет по направлению:
- Инженерное дело: навыки программирования, сборка электронного оборудования, беспроводная связь, оптические системы + стратегия «Битва Дронов»;

Призовой фонд для победителей:
🥇место – 1 000 000 рублей
🥈место – 700 000 рублей
🥉место – 500 000 рублей
Награда за 4-8 места - 100 000 рублей

Пройди заочный онлайн-этап и получи путевку на очный этап турнира в Республику Татарстан!
Перелет, питание, проживание - за счет организаторов.

🇷🇺 Подать заявку и узнать подробности 🇷🇺
👎5💩5🤡4
Друзья, признавайтесь, какой вариант используете?

📲 Мы в MAX

👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Работа с архивами

Создать .tar.gz:
tar -czvf file.tar.gz /full/path — создать .tar.gz (архив)
tar -cjvf file.tar.bz2 /full/path — создать .tar.bz2 (архив)

Распаковать .tar:
tar -xvf file.tar.gz

Распаковать gz:
gunzip yourfile.gz

Распаковать многотомный архив:
7za x arch.7z.001

Получить листинг файлов в архиве:
tar -tf <path_to_tarfile>

Извлечь конкретный файл из архива:
tar -xf <path_to_tarfile> [<file_1_in_archive> <file_2_in_archive> ..]

Скопировать файл на сервер:
scp -P 12322 file.tar login@111.111.111.111:/home/user

📲 Мы в MAX

👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5😱1
Утилиты linux

rsync
-v — выводит подробную информацию о процессе копирования;
[-a] — сохраняет все атрибуты оригинальных файлов;
-u — не перезаписывать более новые файлы;
-l — копирует символьные ссылки;
-L — копирует содержимое ссылок;
-p — сохраняет права для файлов;
-t — сохраняет время модификации;
-e — использовать другой транспорт, например, ssh;
[-z] — cжимает файлы перед передачей;
—recursive — перебирать директории рекурсивно;
—exclude — Исключить файлы по шаблону;

Примеры:
rsync -avz skillproject/data/ . — из подкаталога в текущий каталог
rsync -avz skillproject/data/ aaa/ — из подпапки в подпапку aaa/
rsync -avz skillproject/data/ digita6d@digita6d.beget.tech:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/ — передача на удаленный сервер
rsync -avze ssh skillproject/data/ digita6d@digita6d.beget.tech:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/ — то же самое м явным указанием ssh

ss
-l или —listening — посмотреть только прослушиваемые порты;
-p или —program — показать имя программы и ее PID;
-t или —tcp — показать tcp порты;
-u или —udp показать udp порты;
-n или —numeric показывать ip адреса в числовом виде.

Примеры:
ss -tlpn — проверить все прослушивающие tcp-порты
ss -tulpn | grep :80 — показать все процессы, работающие на 80-м порту

ps
ps -e — показать все процессы
ps -ef — показать подробную информацию о каждом процессе
ps -ef | grep phantom — найти все процессы с именем phantom

mpstat
Показывает статистику загрузки процессора. Команды:
mpstat — показывает общую информацию
mpstat -P ALL — по каждому ядру

free
Показывает потребление ОЗУ на текущий момент:
free -h — показывает информацию в гигабайтах (более человеко читаемо, чем в байтах)

top
Что-то наподобие диспетчера задач, только для линукс, показывает попроцессное потребление озу

dpkg
Пакетный менеджер для debian систем (не путать с системой управления пакетами — apt/apt-get)
dpkg -s <packname> — проверить, установлен ли пакет
dpkg -l — список всех пакетов
dpkg -l | grep apache2 — проверить, установлен ли конкретный пакет
dpkg -i <package.deb> — установить пакет

netstat
netstat -pnltu — посмотреть список используемых портов

📲 Мы в MAX

👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥1
Zenith - что-то вроде top или htop, но с диаграммами с возможностью масштабирования, использованием CPU, GPU, сети и диска.

Особенности
Дополнительные графики использования ЦП, памяти, сети и дисков
Быстрый просмотр свободного места на диске, IP-адресов сетевых карт, частоты процессора
Выделение основных пользователей ЦП, памяти и диска
Процент заряда батареи, время зарядки или разрядки, потребляемая мощность
Таблица процессов с возможностью фильтрации по типу верхней части, включающая использование диска каждым процессом
Изменение приоритета процесса
Представления диаграмм с возможностью масштабирования (с поддержкой прокрутки назад во времени)
Управление процессами с помощью сигналов
Сохранение данных о производительности между запусками
Метрики использования GPU для графических процессоров NVIDIA (с --features nvidia), включая использование GPU для каждого процесса
Графики свободного места на диске
Учет задержек (в Linux при запуске zenith с правами root)

Установка на дистрибутивы Linux на базе Debian/Ubuntu (64-бит)

sudo apt install curl
curl -sL https://raw.githubusercontent.com/wimpysworld/deb-get/main/deb-get | sudo -E bash -s install deb-get



https://github.com/bvaisvil/zenith

📲 Мы в MAX

👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42👍2
Генерируем пароль в терминале Linux

Будем использовать /dev/urandom и утилиты makepasswd, pwgen.

Используем /dev/urandom
При чтении устройство /dev/urandom возвращает бесконечный набор случайных байтов. Этот вывод можно отфильтровать с помощью утилиты tr. Затем, вывод передать команде xargs которая, по умолчанию выполняет команду echo и ей передается всё, что было прочитано из стандартного ввода. А с помощью утилиты head можно указать необходимое количество символов в пароле.

То есть сгенерировать пароль в Linux поможет следующая команда:
$ tr -dc A-Za-z0-9_ < /dev/urandom | head -c 10 | xargs
AurTdatFbw


Вы можете сделать bash функцию и записать её в ваш .bashrc:
$ nano .bashrc
genpasswd() {
local l=$1
[ "$l" == "" ] && l=16
tr -dc A-Za-z0-9_ < /dev/urandom | head -c ${l} | xargs
}


Затем применим изменения и попробуем сгенерировать пароль:
$ . .bashrc
~$ genpasswd 5
Hbe7a
$ genpasswd 10
PDbt1tjBg0


Используем makepasswd

Утилита makepasswd может также помочь сгенерировать пароль в Linux. Она также использует /dev/urandom, чтобы создавать случайные пароли. Вы можете установить её с помощью apt:
$ sudo apt install makepasswd

Просто выполните эту команду без параметров чтобы получить случайный пароль:
$ makepasswd
5q6m4jMHJ


Можете указать количество символов в пароле с помощью опции chars и можете создать несколько паролей с помощью опции count:
$ makepasswd --chars 4 --count 3
1d65
R5Xe
Lhes


Можно создать пароли и сразу вывести их зашифрованный хеш с помощью опции crypt-md5:
$ makepasswd --chars 4 --count 3 --crypt-md5
DWBN $1$awZ5uNo/$r50RTWsihcMKEVQzoDyoZ1
xLN7 $1$h4ThtOu1$Bsmqhr/Tq/IIdGPtAVGda.
A2R2 $1$bss49Rj7$y.9nAbyr749N.eYRUF155.



Используем pwgen

Утилита pwgen генерирует легко запоминаемые пароли. Но также можешь генерировать случайные пароли. Устанавливается она также, с помощью apt:
$ sudo apt install pwgen

Если выполнить её без опций, то вы увидите список из легко запоминаемых паролей:
$ pwgen
Xu6Phei7 Ree2ud9e ohphah8I iiZ8Efoo foG0moh3 aSho2neL Phero4Ud thiCh9ei
uvaeChu0 eeCie5Um Wovie0do Eibuo3Ou Sai1Ovah po3OhT9j XeYei9ei eiQu2mai

....

Вы можете указать количество необходимых паролей с помощью опции -N и указать количество символов в пароле с помощью опции -n:
$ pwgen -N 3 -n 5
aeCo2 Le7oy uv6Oh


Существует также опция -s чтобы создавать более сложные пароли (их сложнее запомнить и подобрать):
$ pwgen -N 3 -n 5 -s
fY60V y6FIU 9XEt4


Я не заметил разницу в использовании опции -s, но в инструкции написано, что без этой опции пароль легче подобрать.

📲 Мы в MAX

👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁14🔥2💩2
Media is too big
VIEW IN TELEGRAM
Быстрая настройка маршрутизатора MIkroTik для офиса и дома

В данном видео приводится пример по настройке маршрутизатора под управление ОС MikroTik RouterOS для малого офиса или дома. Настройка производится с помощью функции Quick Set и не занимает много времени. Полученная конфигурация обеспечивает стабильную работу и приемлемый уровень безопасности.

источник

📲 Мы в MAX

👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4😱2🔥1
Помошник )

📲 Мы в MAX

👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣94🤮1
Bash-скрипты.pdf
3.6 MB
Bash-скрипты, руководство в 11 частях

Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

📲 Мы в MAX

👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Старый добрый видос про техподдержку в средневековье 😂

📲 Мы в MAX

👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10😁9
🗄 InfluxDB - база данных для метрик, событий и аналитики в реальном времени

InfluxDB 3 Core - открытая time-series база данных, предназначенная для быстрого сбора, обработки и хранения временных рядов. Подойдёт для мониторинга серверов, приложений, сетей, IoT-устройств, финансовых данных и пользовательской активности.

⚙️ Основные возможности:

🔹 запросы на SQL и InfluxQL
🔹 хранение данных в формате Apache Parquet
🔹 поддержка S3, Azure, GCP и локального диска
🔹 встроенная Python VM для плагинов и триггеров
🔹 совместимость с API записи InfluxDB 1.x и 2.x
🔹 быстрые запросы для дашбордов и мониторинга
🔹 HTTP API и поддержка FlightSQL

Новая архитектура написана преимущественно на Rust и использует Apache Arrow и DataFusion. Проект распространяется по лицензиям MIT и Apache 2.0.

Полезный инструмент для DevOps-инженеров, системных администраторов и разработчиков систем мониторинга.

https://github.com/influxdata/influxdb

📲 Мы в MAX

👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61🔥1
Что происходит, когда вы вводите в браузер URL-адрес?

Давайте рассмотрим этот процесс пошагово.

Шаг 1. Пользователь вводит в браузер URL и нажимает Enter. Первое, что нам нужно сделать, это преобразовать URL в IP-адрес. Сопоставление обычно хранится в кэше, поэтому браузер ищет IP-адрес в нескольких уровнях кэша: кэше браузера, кэше ОС, локальном кэше и кэше провайдера. Если браузер не смог найти сопоставление в кэше, он обращается к DNS (Domain Name System) resolver для его разрешения.

Шаг 2. Если IP-адрес не удается найти ни в одном из кэшей, браузер обращается к DNS-серверам для выполнения рекурсивного DNS-поиска, пока IP-адрес не будет найден.

Шаг 3. Теперь, когда у нас есть IP-адрес сервера, браузер посылает на него HTTP-запрос. Для безопасного доступа к ресурсам сервера всегда следует использовать протокол HTTPS. Сначала браузер устанавливает TCP-соединение с сервером с помощью трехстороннего рукопожатия TCP. Затем он посылает открытый ключ клиенту. Клиент использует открытый ключ для шифрования сеансового ключа и отправляет его серверу. Сервер использует закрытый ключ для расшифровки сеансового ключа. Теперь клиент и сервер могут обмениваться зашифрованными данными с использованием сеансового ключа.

Шаг 4. Сервер обрабатывает запрос и отправляет ответ. Для успешного ответа код состояния равен 200. Ответ состоит из трех частей: HTML, CSS и Javascript. Браузер анализирует HTML и формирует дерево DOM. Он также анализирует CSS и генерирует дерево CSSOM. Затем он объединяет дерево DOM и дерево CSSOM в дерево рендеринга. Браузер отображает содержимое и показывает его пользователю.

📲 Мы в MAX

👉 @sysadminof
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍31🔥1