Системный Администратор (Сисадмин)

Настройка серверов Windows, Linux, сетевое оборудование Cisco Systems, D-Link, HP, Huawei, Juniper, MikroTik. Книги и мануалы для сисадминов.
По всем вопросам @evgenycarter

№ 4880860614

View in Telegram

Recent Posts

Как построить «достаточно хороший» CI/CD-конвейер и разрабатывать без сбоев?

На открытом вебинаре 10 декабря в 20:00 мск мы разберем, как создать достаточно хороший pipeline для автоматизации CI/CD!

💯Вы узнаете, как внедрить автоматизацию всех этапов: от сборки и тестирования до развертывания. Поделимся практиками настройки инструментов, таких как GitLab CI/CD, Jenkins и GitHub Actions, чтобы ваши проекты были готовы к стабильному и быстрому запуску.

🧑‍💻Спикер Кирилл Казаков — DevOps Lead в Simplinic.

🚀Повысьте скорость и надежность разработки, уменьшите сбои и ошибки. Научитесь автоматизировать конвейеры и доставлять продукт на рынок быстрее!

➡️Регистрируйтесь на вебинар и получите скидку 🎁 на участие в курсе «Инфраструктурная платформа на основе Kubernetes»: https://vk.cc/cFPLi3

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Полезные сетевые утилиты 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 будет ждать ответ. И если вы руками его введете покажет его.


👉@sysadminof
Работа С Файловой Системой 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 - Концовка

источник

👉@sysadminof
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 Полезные ссылки

источник

👉@sysadminof
Защита Mikrotik от внешних угроз

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

источник

👉@sysadminof
Дисковая и файловая подсистемы

Диски в Linux: LVMRAID - Программный RAID-массив средствами LVM (Logical Volume Management)
Диски в Linux: Перенос каталога /home на отдельный раздел/том LVM
Диски в Linux: Основы LVM - Logical Volume Management, Менеджер логических томов
Файловые системы в Linux: Квотирование в XFS
Хранение файлов в Linux: Индексные дескрипторы (inodes)
Хранение файлов в Linux: Жесткие ссылки (hard links)
Резервное сохранение в Linux: Использование утилит копирования
Резервное сохранение в Linux: Возможности жестких ссылок

источник

👉@sysadminof
Дисковая и файловая подсистемы

Диски в Linux: LVMRAID - Программный RAID-массив средствами LVM (Logical Volume Management)
Диски в Linux: Перенос каталога /home на отдельный раздел/том LVM
Диски в Linux: Основы LVM - Logical Volume Management, Менеджер логических томов
Файловые системы в Linux: Квотирование в XFS
Хранение файлов в Linux: Индексные дескрипторы (inodes)
Хранение файлов в Linux: Жесткие ссылки (hard links)
Резервное сохранение в Linux: Использование утилит копирования
Резервное сохранение в Linux: Возможности жестких ссылок

источник

👉@sysadminof
Собираем и запускаем 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/

👉@sysadminof
Ваши микросервисы тормозят? База данных перегружена? Решение есть — кэширование!

На открытом уроке «Кэширование в микросервисной архитектуре» мы разберём, как ускорить системы, сократить время отклика и снизить нагрузку. Вы узнаете про паттерны кэширования, типы кэшей и популярные инструменты вроде Redis и Memcached.

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

Спикер Сергей Прощаев — ведущий инженер-Java-разработчик в одной из крупнейших российских нефтяных и газодобывающих компаний.

🔴 Регистрируйтесь на вебинар 11 декабря в 20:00 мск! Урок пройдёт перед стартом курса «Microservice Architecture». Участники получат скидку на обучение: https://vk.cc/cFBrzN

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

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

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

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

источник

👉@sysadminof
Шпаргалка основных команд mysql по работе с базой данных и таблицам

Здесь в компактном виде собраны основные команды администрирование сервера MySQL посредством консоли, позволяющие получить информацию о состоянии баз данных, таблиц, просмотреть их структуру.

SHOW DATABASES; — список баз данных

SHOW TABLES [FROM db_name]; — список таблиц в базе

SHOW COLUMNS FROM таблица [FROM db_name]; — список столбцов в таблице

SHOW CREATE TABLE table_name; — показать структуру таблицы в формате «CREATE TABLE»

DESC table_name; — узнать полную структуру таблицы

SHOW INDEX FROM tbl_name; — список индексов

SHOW GRANTS FOR user [FROM db_name]; — привилегии для пользователя.

SHOW VARIABLES; — значения системных переменных

SHOW [FULL] PROCESSLIST; — статистика по mysqld процессам

SHOW STATUS; — общая статистика

SHOW TABLE STATUS [FROM db_name]; — статистика по всем таблицам в базе

USE db_name; — использовать базу данных, для которой будут выполнятся дальнейшие запросы

DELETE FROM table_name; — удалить все записи из таблицы. Сначала нужно выполнить USE db_name;

SELECT * FROM table_name; — просмотр всех записей из таблицы

👉@sysadminof
Научитесь проектировать отказоустойчивые хранилища для распределённых систем

Узнайте на открытом вебинаре, как минимизировать риски, настроить репликацию и автоматическое восстановление. Разберём актуальные практики с примерами на Cassandra, MongoDB и Ceph.

🔴 Регистрируйтесь на открытый вебинар «Обеспечение отказоустойчивости хранилищ» 10 декабря в 20:00 мск. Участникам — скидка на участие в курсе «Highload Architect»: https://vk.cc/cFzcEX

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Частые ошибки программирования на Bash

Качество скриптов, используемых для автоматизации и оптимизации работы системы, является залогом ее стабильности и долголетия, а также сохраняет время и нервы администратора этой системы. Несмотря на кажущуюся примитивность bash как языка программирования, он полон подводных камней и хитрых течений, способных значительно подпортить настроение как разработчику, так и администратору.

Большинство имеющихся руководств посвящено тому, как надо писать. Я же расскажу о том, как писать НЕ надо :-)

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

👉@sysadminof
Подборка Telegram каналов для программистов

Системное администрирование 📌
https://t.me/sysadmin_girl Девочка Сисадмин
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин

https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux

1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus

Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://t.me/game_devv Все о разработке игр

Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов

БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста

QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://t.me/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"

Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров

Английский 📌
https://t.me/UchuEnglish Английский с нуля

Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике

Excel лайфхак📌
https://t.me/Excel_lifehack

https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)

Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
See more posts

View in Telegram