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

РКН clck.ru/3KoGJ3
Download Telegram
Media is too big
VIEW IN TELEGRAM
Создание файловой системы внутри файла

Иногда необходимо создать временную файловую систему для того, чтобы что-то протестировать. А свободного раздела на диске может не быть, да и флешка не всегда под рукой. К счастью в ОС GNU/Linux создание целой файловой системы внутри файла на любом диске не сложнее создания обычной файловой системы.

Это практическое видео, показывающее шаг за шагом, как создать внутрефайловую файловую систему и как её монтировать. После монтирования данная ФС никак не отличается от любой другой.

Команды dd, mkfs, и mount идут в комплекте со всеми дистрибутивами ОС GNU/Linux, а команда hexer, используемая для просмотра файла-контейнера, была нужна лишь для демонстрации изменений (но и она доступна почти во всех дистрибутивах)

источник

📲 Мы в MAX

👉 @sysadminof
🔥5👍3
Собираем и запускаем Linux-0.01 в Minix 1.5, (почти) как это делал Линус Торвальдс

Я попытался повторить, насколько это возможно, действия Линуса Торвальдса по компиляции и запуску самой первой версии ядра Linux 0.01. Причины, побудившие Линуса начать разработка ядра, хорошо описаны в книге «Ради удовольствия: Рассказ нечаянного революционера» (далее J4F) и во множестве других источниках и мы не будем их касаться. А рассмотрим техническую сторону компиляции и запуску ядра Linux.

Непосредственно процесс сборки ядра по-unix'овски очень прост: достаточно выполнить команду make, и на выходе получаете готовый бинарный файл, который надо записать на дискету и загрузиться с неё. Но чтобы сборка прошла успешно, надо провести большую подготовку. Вот этим мы и займёмся. Я составил для вас очень подробное пошаговое руководство.

Сначала в эмуляторе 86Box создадим пустую виртуальную машину с характеристиками, близкими к компьютеру Линуса в то время, установим оригинальную версию операционной системы Minix 1.5.10, применим патчи «царя и бога Minix-386» (c) Брюса Эванса, поставим порт компилятора gcc версии 1.37.1 для Minix-386 от Алана Блэка (Alan W Black) и Ричарда Тобина (Richard Tobin), и в самом конце соберём и запустим ядро Linux с bash'ем внутри.

После каждого этапа я сохранял состояние виртуальной машины, жёсткого диска и образы дискет, которые подвергались изменению. Можете пройти все шаги самостоятельно или распаковать любой из архивов и продолжить выполнение инструкции с желаемого момента. Все дистрибутивы, скриншоты, конфигурации, это руководство, архивы с резервными копиями по каждому этапу и даже бинарный AppImage 86box (для Linux x86_64) можно найти в репозитории.

https://habr.com/ru/companies/vk/articles/752564/

📲 Мы в MAX

👉 @sysadminof
🔥4🤡2👍1
Media is too big
VIEW IN TELEGRAM
Защита Mikrotik от внешних угроз

— Почему не хватает firewall для защиты mikrotik.
— Почему не хватает защиты в /ip services.
— Как использовать службу neighbor.
— Как использовать tool mac server.
— Общие рекомендации по защите.
— Почему у нас не взломали ни одного роутера.
— Как и когда правильно обновлять.

источник

📲 Мы в MAX

👉 @sysadminof
👍9👎3🔥1
Media is too big
VIEW IN TELEGRAM
Что нельзя делать с SSD, если хотите спасти данные

Один из самых частых вопросов:
почему нельзя просто перепаять память SSD и восстановить данные?

В этом видео объясняю:

— как на самом деле работает SSD
— где хранятся важные данные (спойлер: не в контроллере)
— почему перепайка памяти не решает проблему
— что происходит при быстром форматировании
— почему команда TRIM уничтожает данные
— и какую ошибку чаще всего делают пользователи

📌 Важно:
SSD — это не жёсткий диск.
Ошибки здесь часто приводят к полной потере данных без возможности восстановления.

00:00 – Вопрос про перепайку памяти
00:40 – Почему это не работает
01:30 – Как устроен SSD
02:30 – Где хранится важная информация
03:30 – Что происходит при поломке
04:30 – Почему проблема «переезжает»
05:30 – Ошибка с блоками питания
06:30 – Что делать при сгоревшем SSD
07:30 – Почему нельзя форматировать
08:30 – Что делает TRIM
09:30 – Почему ничего не восстановится
10:30 – Главная ошибка пользователей
12:00 – Как нужно действовать правильно

источник

📲 Мы в MAX

👉 @sysadminof
👍5👎3🔥21
Media is too big
VIEW IN TELEGRAM
Firewall в Mikrotik: разбираем, как обеспечивать безопасность сети

Firewall дает огромные возможности по управлению сетевым трафиком, проходящим через Mikrotik.
Вы, как администратор сети, должны суметь разделить все потоки трафика. дать каждому из них свои права, а весь лишний трафик — заблокировать.

Firewall в Mikrotik по большей части позаимствован из IPTables из Linux.

02:27 Вопросы вебинара
03:23 Firewall filter
07:06 Работа по принципу «Если-То»
23:54 Filter Actions
57:15 Firewall NAT
1:03:33 NAT Actions
1:14:59 Connection State
1:30:49 Connection Tracking
1:31:22 Простая настройка firewall
1:33:16 Сложная настройка firewall
1:33:46 Address List
1:35:03 Блокирование сайтов через адрес листы с добавлением доменного имени
1:45:06 NAT Helpers
1:46:51 Полезные ссылки

источник

📲 Мы в MAX

👉 @sysadminof
🔥7👍41
Media is too big
VIEW IN TELEGRAM
Работа С Файловой Системой Linux

00:00 - Вступление
01:30 - Структура файлов
03:30 - Терминал
03:40 - pwd
04:50 - cd
07:30 - ls
09:31 - clear
11:05 - mkdir
12:06 - touch
12:47 - man
13:58 - nano
14:02 - vi/vim
15:41 - cat
16:18 - less
16:40 - more
16:54 - head
17:28 - tail
17:46 - echo
18:36 - rm
19:36 - mv
20:56 - cp
23:30 - sudo
24:24 - stat
24:50 - Запуск исполняемых файлов
25:30 - Текущий каталог(.)
26:10 - Заключение
26:25 - Концовка

источник

📲 Мы в MAX

👉 @sysadminof
🔥6👍4
Полезные сетевые утилиты linux

ip

Утилита управляет интерфейсами, сетевыми устройствами и туннелями. Всем сетевым стеком linux. Например:
ip addr

Покажет список всех сетевых адресов. Тоже самое делает утилита ifconfig без параметров.
ip route

Покажет таблицу роутинга. Тоже самое сделает команда route.
ip link set eth0 up

Поднимает интерфейс eth0. Это можно также сделать с помощью ifconfig.

Так зачем она нужна если все ее команды можно выполнить с помощью других утилит? Дело в том, что во многие компактные дистрибутивы (например Alpine или openwrt) не используют ifconfig, route и другие “большие” утилит. Там оставляют только ip. Вот с помощью нее и придется выполнять все сетевые задачи.


nc

Полное имя netcat - на него она тоже откликается. Это утилита, позволяет слушать и выполнять TCP и UDP соединении.

И так что может netcat?

Открываем одно окно терминала и делаем там nc -l 12345 это будет наш сервер. Отрываем другое окно и пишем в нем nc 127.0.0.1 12345 — это наш клиент. Печатаем там “Hello!” нажимаем enter. В первом окне видим эту фразу. Ура! Мы написали однонаправленный чат.

Эта утилита пригодиться чтобы проверить жив ли сервер и слушает ли от вообще на этом порту? С помощью nc можно переслать файл и даже просканировать порты. Http сервер еще можно написать.


socat

Это труба, которая позволяет соединить два сокета между собой. Mysql слушает только на local socket а мы хотим на его ходить по tcp. Выглядит это так: socat TCP-LISTEN:3307,reuseaddr,fork UNIX-CONNECT:/var/lib/mysql/mysql.sock

Конектор к netcat из предыдущего примера: socat - TCP4:127.0.0.1:80

Если вам нужно перебросить сокет в другое место присмотритесь к socat он вам скорее всего поможет.


netstat

Эта утилита показывает текущее состояние сетевого стека. Она даст вам ответ на вопросы: что у меня там на порту 9081 висит? netstat -nltp Что с моими tcp соединениями и кто прямо сейчас ко мне подключен? netstat -atp

У этой утилиты есть младший (или старший по возможностям) брат ss посмотрите на него тоже может он понравиться больше.


curl

Утилита для передачи файлов. Так написано в ее описании. Чем же она замечательна? Она умеет кучу протоколов: DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP. В каждом протоколе она знает множество версий, например HTTP она может до версии 2. Умеет подставлять хидера, куки, ходить по SSL, использовать proxy разных видов. Можно отлаживать http(s) соединение с помощью -v. Примеры:

curl http://artscene.textfiles.com/asciiart/unicorn

Единорог!

curl -v http://127.0.0.1:12345

Соединяемся с сервером из примера netcat. В консоле сервера увидим http запрос. После этого все остановиться curl будет ждать ответ. И если вы руками его введете покажет его.

📲 Мы в MAX

👉 @sysadminof
👍10
Media is too big
VIEW IN TELEGRAM
Шаблон Zabbix для мониторинга Active Directory

Как настроить мониторинг Active Directory с помощью zabbix, как настраивается zabbix agent (active).

📲 Мы в MAX

👉 @sysadminof
🔥12👍63
Linux-Commands

Шпаргалка по bash

Файловая система
-Просмотр содержимого папки
-Перемещение по файловой системе
-Создание папок и файлов
-Копирование файлов
-Переименование или перемещение файлов
-Удаление папок и файлов
Алиасы
Разное
Использование переменных
Подстановка команд в переменные
Математические операции
Управляющая конструкция if-then
Управляющая конструкция if-then-else
Конструкция CASE
Циклы
Сравнение чисел
Сравнение строк
Проверки файлов
Операторы

https://github.com/sergeevdm/Linux-Commands

📲 Мы в MAX

👉 @sysadminof
👍5
Как отлаживать 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";


📲 Мы в MAX

👉 @sysadminof
👍71🔥1
🆓 Ваши SQL-запросы работают, но через месяц их уже сложно прочитать и изменить?

С ростом логики запросы превращаются в набор вложенных подзапросов. Разобраться в них сложно, поддержка занимает время, а любые изменения несут риск сломать результат.

На открытом уроке разберём
как использовать обобщенные табличные выражения (CTE), чтобы писать сложные запросы по шагам.
Покажем, как упростить структуру, сделать код читаемым и работать с иерархиями через рекурсивные CTE.

🗓 Урок проходит в преддверии старта курса «PostgreSQL для администраторов баз данных и разработчиков». Если вы хотите писать SQL, который легко читать и поддерживать — подключайтесь 21 мая в 20:00 МСК.

🔗 Регистрация открыта: https://vk.cc/cXMQQT

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
1
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 и т.д., пока запрос не дойдет до получателя.

источник

📲 Мы в MAX

👉 @sysadminof
👍121👌1
Соответствие команд CMD Windows командам Linux

📲 Мы в MAX

👉 @sysadminof
👍10
Media is too big
VIEW IN TELEGRAM
Протокол NDP

Рассматриваем два сценария использования протокола NDP:
- Автоматическая настройка сетевой конфигурации. Компьютеры получают от маршрутизатора сетевые настройки в сообщении Router Advertisement.
- Определение MAC-адреса по известному IPv6 адресу. Компьютер, который хочет узнать MAC-адрес, высыдает сообщение NDP Neighbor Solicitation. Получатель отправляет свой MAC-адрес в ответ в пакете NDP Neighbor Advertisement. Информация сохраняется в таблице NDP (аналог ARP-таблицы в протоколе IPv4).

источник

📲 Мы в MAX

👉 @sysadminof
👍4😱1
👩‍💻 Открытый урок «Деплой на стероидах: ускоряем доставку через Золотой путь (Golden Path)»

🗓 Сегодня: 18 мая в 20:00 МСК

🆓 Бесплатно. Урок в рамках старта курса «Инженер платформенной инфраструктуры» от Otus.

Запуск нового сервиса часто превращается в сложный процесс: настройка CI/CD, инфраструктуры, доступов и окружений. Это замедляет разработку и увеличивает количество ошибок.

На вебинаре разберём концепцию Golden Path — готовых шаблонов и стандартов, которые позволяют запускать сервисы быстро, безопасно и одинаково для всех команд.

На вебинаре разберем:
- Почему деплой замедляет команды
- Что такое Golden Path и зачем он нужен
- Как стандартизировать запуск сервисов
- Роль шаблонов, CI/CD и developer portal
- Как сократить время запуска нового сервиса
- Частые ошибки при внедрении Golden Path

🔗 Ссылка на регистрацию: https://vk.cc/cXVkO4

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍1