cookie

Ми використовуємо файли cookie для покращення вашого досвіду перегляду. Натиснувши «Прийняти все», ви погоджуєтеся на використання файлів cookie.

avatar

ServerAdmin.ru

Авторская информация о системном администрировании. Информация о рекламе: @srv_admin_reklama_bot Автор: @zeroxzed Второй канал: @srv_admin_live Сайт: serveradmin.ru

Більше
Рекламні дописи
26 134
Підписники
+2524 години
+1437 днів
+40630 днів

Триває завантаження даних...

Приріст підписників

Триває завантаження даних...

Фото недоступнеДивитись в Telegram
Открытый практикум Linux by Rebrain: Пользователи Linux Успевайте зарегистрироваться. Количество мест строго ограничено! Запись практикума “DevOps by Rebrain” в подарок за регистрацию! 👉Регистрация Время проведения: 05 Июня (Среда) в 20:00 по МСК Программа практикума: 🔹Типы пользователей 🔹Где хранится информация о локальных пользователях 🔹Почему администратор не может восстановить ваш пароль? 🔹su, sudo, sudo su - что есть что и для чего? Кто ведёт? Андрей Буранов – Системный администратор в департаменте VK Play. 10+ лет опыта работы с ОС Linux. 8+ лет опыта преподавания. Входит в топ 3 лучших преподавателей образовательных порталов. Бесплатные практикумы по DevOps, Linux, Networks и Golang от REBRAIN каждую неделю. Подключайтесь! Реклама. ООО "РЕБРЕИН". ИНН 7727409582 erid: 2VtzqvFdMKE
Показати все...
👍 6👎 1
​​В ОС на базе Linux есть очень простой в настройке инструмент по ограничению сетевого доступа к сервисам. Он сейчас почти не применяется, так как не такой гибкий, как файрволы, но тем не менее работает до сих пор. Речь пойдёт про TCP Wrappers, которые используют библиотеку libwrap для ограничения доступа. По своей сути это файрвол уровня приложений, которые его поддерживают. Расскажу, как это работает. В большинстве Linux дистрибутивов есть файлы /etc/hosts.allow и /etc/hosts.deny. Сразу покажу пример, как всем ограничить доступ к SSH и разрешить только с указанных локальных подсетей. Добавляем в /etc/hosts.allow: sshd : 10.20.1.0/24 sshd : 192.168.13.0/24 И одновременно в /etc/hosts.deny: sshd : ALL Всё, теперь подключиться можно будет только из указанных сетей. При подключении из другого места в логе SSHD будут такие строки: # journalctl -u ssh -n 10 sshd[738]: refused connect from 10.8.2.2 (10.8.2.2) Не нужна ни перезагрузка, ни запуск каких-либо программ. Просто добавляете записи в указанные файлы и они сразу же применяются. Можно логировать заблокированные попытки: sshd : ALL \ : spawn /usr/bin/echo "$(/bin/date +"%%d-%%m-%%y %%T") SSH access blocked from %h" >> /var/log/libwrap В файле /var/log/libwrap будет аккуратная запись: 03-06-24 12:29:31 SSH access blocked from 10.8.2.2 Для того, чтобы эта функциональность работала, программа должна поддерживать указанную библиотеку. Проверить можно так: # ldd /usr/sbin/sshd | grep libwrap libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007f55228a2000) В Debian 12 sshd поддерживает, но так не во всех дистрибутивах. Надо проверять. Из более-менее популярного софта libwrap поддерживается в vsftpd, nfs-server, apcupsd, syslog-ng, nut, dovecot, stunnel, nagios, Nutanix Controller VM. Очевидно, что тот же iptables или nftables более функциональный инструмент и полагаться лучше на него. Но в каких-то простых случаях, особенно, если нужно ограничить только ssh, можно использовать и libwrap. Также можно продублировать в нём правила, чтобы в случае ошибки в файрволе, доступ к некоторым сервисам точно не был открыт. Ну и просто полезно знать, что есть такой инструмент. Мало ли, придётся столкнуться. #linux #security
Показати все...

👍 103👎 2
​​Есть популярный вопрос для собеседования администраторов Linux: ❓Расскажите, как происходит загрузка операционной системы на базе Linux. Тема, на самом деле полезная, в отличие от некоторых других, имеет прикладное значение, особенно если приходится переносить системы, либо сталкиваться с тем, что тот или иной сервер по какой-то причине не загружается. А причин может быть много. Не понимая процесс загрузки, решить их затруднительно. Расскажу эту тему своими словами с примерами из своей практики. 1️⃣ После запуска сервера или виртуалки, первым делом загружается bios или uefi. Bios ищет загрузчик на локальном или сетевом носителе и запускает его. Uefi может в себе содержать загрузчик. А может и нет. Если вы переносите виртуалку с одного гипервизора на другой, то обязательно учитывайте этот момент, используется bios или uefi. Если второе, то на другом гипервизоре нужно будет воспроизвести настройки uefi, чтобы виртуалка заработала. Если честно, я не совсем понимаю, зачем может быть нужен uefi для виртуальных машин, если не используется secure boot. Проще использовать обычный bios. Пример, как может на практике выглядеть перенос VM с uefi с HyperV на Proxmox. 2️⃣ Дальше загружается загрузчик с диска (не обязательно локального, может и сетевого). Для Linux обычно это GRUB. Я ничего другого не встречал, хотя есть и другие. У загрузчика есть небольшое меню и набор опций, которые иногда пригождаются. Например, если загрузчик по какой-то причине не смог загрузиться с диска или раздела, который у него указан загрузочным. Можно это сделать вручную через grub rescue. Пример, когда я так поступал, чтобы починить загрузку системы. ❗️Важно не забывать про загрузчик, когда вы используете в качестве загрузочного диска mdadm раздел софтового рейда. Загрузчик GRUB должен быть на всех дисках, входящих в рейд массив, чтобы в случае выхода из строя одного диска, вы могли загрузиться с любого другого. Он не реплицируется автоматически, так как mdadm работает на уровне разделов диска, а загрузчик располагается вне разделов. 3️⃣ В зависимости от настроек GRUB, загружается ядро Linux. Оно монтирует специально подготовленный образ файловой системы initramfs, загружаемый в оперативную память. Этот образ содержит все необходимые настройки и драйвера, чтобы загрузиться с нестандартный файловых систем, с LVM, с RAID, по сети и т.д. Там могут быть любые настройки. Можно выводить какую-то заставку, проверять диски и многое другое. Также с него запускается первый процесс init. Процесс пересборки initramfs вы можете наблюдать при обновлениях ядра в системе. В конце обычно пакетный менеджер подвисает на несколько секунд как раз на пересборке initramfs. Если ему помешать в этот момент, то потом можете не загрузиться с новым ядром, для которого не собрался initramfs. Я с таким сталкивался. А вот пример, когда с этим же столкнулся человек на своём ноуте. Мой совет с пересборкой initramfs ему помог. Иногда после переноса на другое железо, сервер или вируталка могут не запуститься, потому что в initramfs не будет поддержки необходимого железа. В этом случае initramfs нужно будет пересобрать с поддержкой всего, что необходимо для успешной загрузки. Это можно сделать либо на старом месте, пока система ещё работает, либо загрузиться с какого-то livecd. 4️⃣ После запуска Init начинает загружаться система инициализации и управления службами. Сейчас это почти везде SystemD. Здесь я особо не знаю, что рассказать. С какими-то проблемами если и сталкивался, то это уже отдельные моменты в работающей системе, которые относительно легко исправить, так как чаще всего к системе уже есть удалённый доступ. Написал всё так, как я это знаю и понимаю. Возможно в чём-то ошибаюсь, потому что в каждом из этих разделов есть много нюансов. Один только uefi чего стоит. Я как мог ужал материал, чтобы уместить в формат заметки и дать максимум информации, которая пригодится в реальной работе. #linux #grub
Показати все...

👍 153👎 4
Фото недоступнеДивитись в Telegram
Хотите разобраться с Kubernetes, но не знаете, с чего начать? Приглашаем 3 июня в 20:00 мск на бесплатный вебинар «Основы K8s: архитектура и абстракции» от Отус. Вебинар является бесплатной частью онлайн-курса «Инфраструктурная платформа на основе Kubernetes». ➡️ Регистрация на вебинар 🎙️ Спикер — Senior DevOps Engineer с широким технологическим стеком и множеством сертификаций от IBM, Google и Microsoft. На вебинаре мы разберем: ✅ ключевые аспекты Kubernetes для упрощения разработки и эксплуатации приложений; ✅ совместную работу абстракций, обеспечивающую высокую доступность, масштабируемость и безопасность приложений. Записывайтесь сейчас, а мы потом напомним. Участие бесплатно. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Показати все...
👍 8👎 6
​​Я некоторое время назад сделал подборку основных команд, которые использую при работе с Docker. За последнее время в комментариях увидел несколько команд для Docker Compose, которые сам не знал, но они полезны. Решил сделать такую же подборку и для Docker Compose. Сам их все не помню и либо лезу в свою шпаргалку, либо начинаю гуглить. Я тут не привожу самые очевидные команды, типа start, stop, restart с разными ключами и т.д. 📌 Запустить часть контейнеров: # docker compose up ct1 ct2 📌 Проверить файл конфигурации. Не знал об этой команде и всегда использовал внешние линтеры. Встроенный намного удобнее. # docker compose config 📌 Запустить новый контейнер и выполнить в нём команду: # docker compose run ct1 /scripts/start.js 📌 Запустить команду в работающем контейнере: # docker compose exec ct1 bash Поясню, в чём тут разница. На первый взгляд команды похожи. Run удобно использовать для выполнения какой-то команды из контейнера, который постоянно не запущен. Например, там какой-то один бинарник или скрипт, который запускается, отрабатывает и больше он не нужен. Удобно запустить его через run. Новый контейнер запустится, отработает и завершит работу. А exec удобно использовать, когда надо что-то запустить в работающем контейнере. Это аналог docker exec. 📌 Посмотреть все логи или логи контейнера: # docker compose logs # docker compose logs ct1 📌 Скопировать файлы из/в контейнер: # docker compose cp prometheus:/etc/prometheus/prometheus.yml ~/ # docker compose cp ~/prometheus/prometheus.yml prometheus:/etc/prometheus/ Последняя команда скопирует файл только если он лежит в директории с docker-compose.yml, который запущен. 📌 Приостановить и запустить контейнеры: # docker compose pause # docker compose unpause Для приостановки контейнеров используется механизм cgroups freezer. Процессам отправляется команда SIGSTOP для заморозки и SIGCONT для продолжения работы. 📌 Посмотреть список запущенных контейнеров: # docker compose top 📌 Посмотреть графическую схему всего docker-compose. Используется экспериментальная возможность экспорта содержимого композа в формат программы graphviz: # docker compose alpha viz --networks --ports --image Копируем полученный текст и вставляем в любой публичный онлайн редактор graphviz, например этот. Получаем наглядную схему связей контейнеров вместе с сетями и проброшенными портами. Удобно посмотреть на большой конфиг. Например, от mailcow. 📌Выполнить тестовую отработку команды без реальных действий: # docker compose cp prometheus:/etc/prometheus/prometheus.yml ~/ --dry-run Можно добавлять --dry-run к любой команде. Актуально для копирования файлов, так как там легко ошибиться с путём или файлом. Полный набор всех команд и возможностей Docker Compose можно посмотреть в документации: ⇨ https://docs.docker.com/compose/reference #docker
Показати все...

👍 86👎 4
Фото недоступнеДивитись в Telegram
Старт карьеры system-инженера💻 Технологическая компания КРОК открыла набор на бесплатный двухнедельный интенсив для студентов, которые хотят стартовать карьеру в linux – Летняя ИТ-школа. За время обучения ты узнаешь про:  - ИТ-инфраструктуру и её особенности - Базовые сетевые службы: служба каталогов, DHCP, DNS, File Server, Print Server - Виртуализацию и VDI - Основы работы резервного копирования - Службы унифицированных коммуникаций и системы мониторинга  Для тех, кто успешно пройдет обучение – оффер в команду КРОК ➡️ http://croc.global/270 Школа точно для тебя, если ты: - Учишься в вузе или выпустился в 23-24 гг.  - Готов приезжать в московский офис КРОК  - Хочешь стартовать карьеру в Linux Узнать все подробности и зарегистрироваться можно по ссылке – http://croc.global/270?erid=LjN8KXCKz
Показати все...
👍 13👎 9
🔝 ТОП постов за прошедший месяц. Все самые популярные публикации по месяцам можно почитать со соответствующему хэштэгу #топ. Отдельно можно посмотреть ТОП за прошлый год. Пользуясь случаем, хочу попросить проголосовать за мой канал, так как это открывает некоторые возможности по настройке (не только публикацию историй): https://t.me/boost/srv_admin. 📌 Больше всего просмотров: ◽️Связка Grafana + Influxdb + K6 для нагрузочного тестирования (12857) ◽️Песня про системных администраторов (12563) ◽️Комбинация Alt+Shif+3 в терминале bash (11870) 📌 Больше всего комментариев: ◽️Утро на удалёнке (208) ◽️Взлом СДЕК (163) ◽️Перенос ОС на базе Linux с помощью dd (83) 📌 Больше всего пересылок: ◽️Подборка заметок по базовым консольным программам Linux (💥938 не зря пол дня их собирал) ◽️Быстрый запуск Prometheus + Grafana (468) ◽️Сервис zonemaster.net для проверки DNS (449) 📌 Больше всего реакций: ◽️Заметка ко дню победы на 9-е мая (401) ◽️Комбинация Alt+Shif+3 в терминале bash (309) ◽️Взлом СДЕК (263) ◽️Подборка заметок по базовым консольным программам Linux (💥251) ◽️Комбинация Ctrl+s в терминале bash (242) Отмечу, что в заметки по не IT тематике постоянно приходят разные люди и говорят, что мне не стоит об этом писать на канале. Но реакция аудитории неизменно показывает, что этот формат находит отклик в читателях и в целом ими поддерживается. Писал бы чаще, но в выходные не хочется сидеть, комментарии разбирать, а без этого не обойтись. Слишком часто начинается какой-то балаган, оскорбления и ругань, которую я удаляю сразу. Многие этого не видят. А без комментариев заметки не люблю, так как не нравится односторонний формат общения, хотя это намного проще для писателя. #топ
Показати все...
👍 51👎 2
▶️ Всем хороших тёплых теперь уже летних выходных. Как обычно, ниже те видео из моих подписок за последнее время (обычно беру период в 2 недели), что мне показались интересными. В начале будет самое актуальное 😁 (хотя всех уже наверное задолбала эта тема) ⇨ Установка Adguard Home и разблокировка Docker Hub, ClamAV и TMDB Наглядная инструкция на тему настройки Adguard Home для обхода блокировок с той стороны путём перенаправления трафика к заблокированным доменам на отдельные DNS сервера. А они каким-то образом резолвят ответы так, что блокировка обходится. Интересное решение. Я не знал, что так вообще можно сделать. Не понял техническую реализацию такого обхода. 🔥How To Migrate ZABBIX from MySQL to PostgreSQL Set up TimescaleDB with Zabbix for Extra Performance Два полезных видео от Dmitry Lambert на тему перевода Zabbix с MySQL на PostgreSQL, а так же подключения TimescaleDB для увеличения производительности подсистемы хранения метрик. HTTP API | Компьютерные сети 2024 - 14 Система доменных имен DNS | Компьютерные сети 2024 - 15 Очередные уроки с курса по сетям от Созыкина Андрея. Установка XPEnology 7.2 на мини ПК с SSD NVME M2 Инструкция по установке XPEnology. Кто не знает, что это такое, рекомендую познакомиться. Я пользуюсь более 10-ти лет. Думаю, что в районе 12-13 лет уже. Proxmox Backup Server. Установка, настройка, тест, обзор функций. Очень подробный разбор PBS для создания бэкапов VM и не только в Proxmox. Кто с ним знаком, смотреть особо нет смысла. Кто не знаком, получит полное представление о нём. Proxmox Automation with Proxmox Helper Scripts! Обзор известной коллекции Proxmox Helper Scripts, про которую постоянно вспоминают в комментариях к заметка о Proxmox. Да я и сам писал ранее о них. Отдельно хочу упомянуть статью от этого автора у него на сайте про автоматизацию полива грядок на своём участке. Мне было интересно посмотреть, на базе чего это технически реализуется. Стоит всё это немало для нашего уровня жизни. Выбор VPN для использования в Mikrotik Очень подробный разбор всех вариантов VPN в Микротике от сертифицированного тренера Козлова Романа. Видео большое (2 часа), так как это лекция, а не смонтированный ролик по теме с выжимкой информации. Zammad - Open Source Helpdesk and Ticketing software for your MSP, IT or other business needs! Подробный обзор Zammad - одной из лучших open source систем для организации собственной HelpDesk службы. Я когда-то давно делал про неё заметку. I automated EVERYTHING in my HomeLab with Kestra Я не так давно писал про Kestra. Автор видео развернул у себя эту систему и рассказал, как её использует для автоматизации. Zero-Trust for DevOps! Twingate + Terraform + Kubernetes Подробное видео по использованию Twingate в Kubernetes. Это инструмент для довольно популярного последнее время направления по организации peer-to-peer соединений в рамках распределённой VPN сети. А так же для подключения внешних клиентов в эти сети. BEST Server Monitoring with TICK stack setup for FREE! Очень понравился TICK stack для мониторинга. Никогда раньше о нём не слышал. Это связка в docker-compose нескольких популярных open source продуктов: Telegraf, InfluxDB, Chronograf, Kapacitor. У автора есть серия статей по этой теме. Ссылки в описании к видео. Без вышки все? Нужно ли высшее образование DevOps, программисту, и др айти специалисту? Рассуждения автора на актуальную тему. Сам я лично так и не определился, нужно ли это или нет. У меня есть высшее техническое образование практически по моей специальности (математик-программист, были курсы и по администрированию, и по сетям, и по ОС и т.д.). Но не могу сказать, что на практике оно мне сильно помогло в работе. Для старта и получения работы больше помог сертификат Microsoft, который я получил перед окончанием вуза и поиском работы. #видео
Показати все...
Установка Adguard Home и разблокировка Docker Hub, ClamAV и TMDB

В этом материале я расскажу как установить Adguard Home на ваш Synology NAS и разблокировать сервисы Docker Hub, ClamAV и TMDB. Статья:

https://bafista.ru/ustanovka-adguard-home-i-razblokirovka-docker-hub-clamav-i-tmdb/

Сайт

https://bafista.ru/

Блог

https://bafista.ru/category/blog/

Группа в ВК

https://vk.com/alexandrlinux

Канал в телеграм

https://t.me/BafistaRU

Страничка на Бусти

https://boosty.to/bafista

Дзен

https://dzen.ru/bafista.ru

Канал ютуб

https://www.youtube.com/channel/UCYllVmnVVPQanhQf_Tk3Dfg

👍 72👎 3
00:10
Відео недоступнеДивитись в Telegram
Хостинг — это по любви. А в случае IHC — еще и с выгодным расчетом!🤵🏻‍♂️ Домены в подарок, помощь в переносе сайтов, скидки, тестовый период, бесплатные лицензии ispmanager, SSL-сертификаты и защита от DDoS-атак — новым клиентам открыты все горизонты в Интернет Хостинг Центре. Мы 15 лет хостим сайты, приложения, игры и корпоративные системы: уверены, что в нашей тарифной сетке найдется подходящий план для каждого. Мы знаем, что делаем, и делаем это отлично, чтобы вы могли сосредоточиться на своем бизнесе, а мы — на его поддержке🤝🏻 Выбирая нас, вы выбираете спокойствие и уверенность в том, что ваш онлайн-проект в надежных руках. Uptime от 99,9%, дата-центры не ниже уровня Tier III, неограниченный трафик, процессоры последнего поколения, специалисты техподдержки на связи 24/7 — в надежности наших услуг убедились уже 100 тыс. клиентов🌐 Многие, кстати, зарабатывают на привлечении рефералов до 50% от полученных нами оплат. Присоединяйтесь!🎁 Реклама, ООО Интернет-Хостинг, ИНН 7701838266.
Показати все...
ИХЦ_Реклама_31.05.mp42.65 MB
👍 67👎 15
​​Вчера свершилось знаменательное событие - заблокировали доступ к hub.docker.com с IP адресов в России. Теперь без лишних телодвижений не скачать образы из этого репозитория. Не очень понятно, зачем это сделали, почему только сейчас и в чём тут смысл, если обойти эту блокировку, как и многие другие, не представляет каких-то проблем. Расскажу несколько простых разных способов обхода этой блокировки. 1️⃣ Самый простой - переключиться на какое-то зеркало. Их сейчас много появится и встанет вопрос доверия к ним. Пока можно гугловское зеркало использовать, но его скорее всего тоже рано или поздно для нас заблокируют. Для этого достаточно создать конфиг /etc/docker/daemon.json, если у вас его нет, следующего содержания: { "registry-mirrors": ["https://mirror.gcr.io"] } Перезапускаем службу и пользуемся, как раньше. # systemctl restart docker Больше ничего менять не надо. 2️⃣ Использовать локально подключение докера к своему реджистри через прокси. Недавно я об этом рассказывал и там многие написали, типа зачем всё это, доступ не заблокирован. Потому что не будет вашего итальянского сыра ХАХАХАХА. Сегодня этот реджистри, завтра все остальные. Прокси тоже относительно просто решает вопрос для единичного хоста. 3️⃣ Можно глобально на общем шлюзе настроить VPN подключение к серверу за пределами РФ, маркировать весь трафик, что блокируется и отправлять его через VPN соединение. Я так делаю дома для себя и своих тестовых стендов. Рассказывал про эту настройку на примере Mikrotik. 4️⃣ Поднять собственный прокси для докера, который будет иметь доступ к hub.docker.com. Не важно, как это будет сделано у него: через VPN он будет подключаться, или сразу поднят на VPS за пределами РФ. Вы со своей стороны будете подключаться к этому прокси, а он будет по вашим запросам загружать образы. Проще всего подобный прокси поднять с помощью Nexus repository. Показываю, как это сделать. Я сразу взял VPS за пределами РФ и развернул там: # docker volume create --name nexus-data # docker run -d -p 8081:8081 -p 8082:8082 --name nexus \ -v nexus-data:/nexus-data sonatype/nexus3 В файле /var/lib/docker/volumes/nexus-data/_data/admin.password смотрим пароль от пользователя admin. Идём в веб интерфейс Nexus по IP адресу сервера на порт 8081. Переходим в раздел управления и добавляем новый репозиторий. Тип выбираем docker (proxy). Если вы сами к прокси будете подключаться через VPN или проксировать к нему запросы через ещё какой-то прокси, типа Nginx или HAproxy, то можно в свойствах репозитория выбрать только HTTP и порт 8082. Это упростит настройку. Рекомендую идти именно по этому пути, чтобы ограничить тем или иным способом доступ к этому репозиторию. Вы же не будете его открывать в общий доступ для всех. В таком случае можно будет установить флаг Allow anonymous docker pull. Не нужно будет на всех хостах аутентификацию проходить. В качестве Remote Storage можно указать https://registry-1.docker.io. Это докеровский репозиторий. Остальные настройки можно оставить по умолчанию, либо изменить в зависимости от ваших предпочтений. Также зайдите в раздел Security ⇨ Realms и добавьте Docker Bearer Token Realm. Без него аутентификация в реджистри не будет работать. После создания репозитория, можно его открыть. Там будет показан его url в зависимости от ваших настроек порта, http и адреса самого Nexus. Теперь его можно использовать в настройках /etc/docker/daemon.json: {     "insecure-registries": ["10.105.10.105:8082"],     "registry-mirrors": ["http://10.105.10.105:8082"] } Перезапускайте службу Docker и пробуйте. Можно аутентифицироваться в своём реджистри и что-то загрузить: # docker login 10.105.10.105:8082 # docker pull nginx Идём в веб интерфейс Nexus, смотрим обзор репозитория и видим там скачанный образ Nginx. Пока на практике каких-то реальный проблем с ограничением доступа нет. Если кто-то использует другие способы, поделитесь информацией. С помощью Nexus можно прокси для любых репозиториев делать, не только Docker. #devops #docker
Показати все...

👍 110👎 8