Admin Guides | Сисадмин
11.4K subscribers
1.23K photos
19 videos
34 files
557 links
Обучающий канал по ОС Linux & Windows для начинающих и действующих администраторов.

Админ, реклама: @Ak_Mihail
Биржа: https://telega.in/c/admguides

РКН: https://kurl.ru/nQejS
Download Telegram
😁
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣23😭9👍3🥱1🤨1
Настройка локального кэширующего DNS на Linux с systemd-resolved

Если у вас установлен Linux с systemd, скорее всего, в системе уже есть systemd-resolved, но он не активирован. Давайте его настроим.

1️⃣Проверяем, работает ли systemd-resolved

Откройте терминал и выполните команду:

resolvectl status

Если в ответе указаны DNS-серверы и их параметры, значит, systemd-resolved уже запущен.
Если появляется ошибка Unit dbus-org.freedesktop.resolve1.service not found., значит, сервис отключён.

Дополнительно можно проверить статус службы:

sudo systemctl status systemd-resolved.service

2️⃣ Включаем и добавляем в автозапуск

sudo systemctl start systemd-resolved.service
sudo systemctl enable systemd-resolved.service


Проверяем, что служба успешно запустилась:

sudo systemctl is-active systemd-resolved.service


Если вывод active, значит, всё работает.

3️⃣ Настраиваем серверы для DNS-запросов

Открываем конфигурационный файл:

sudo nano /etc/systemd/resolved.conf


Находим строку #DNS= и добавляем быстрые публичные DNS, например Cloudflare:

DNS=1.1.1.1 1.0.0.1  # Cloudflare Public DNS


Можно также использовать Google Public DNS:

DNS=8.8.8.8 8.8.4.4


Сохраняем изменения (Ctrl + X → Y → Enter) и перезапускаем службу:

sudo systemctl restart systemd-resolved.service


Проверяем, что новые DNS применились:

resolvectl status


4️⃣ Подключаем systemd-resolved к системе

Удаляем старый /etc/resolv.conf и создаём символьную ссылку:

sudo mv /etc/resolv.conf /etc/resolv.conf.backup
sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf


Перезапускаем сервис:

sudo systemctl restart systemd-resolved.service


5️⃣ Проверяем работу локального DNS-кэша

Проверяем, какие DNS-серверы теперь используются:

cat /etc/resolv.conf


Ожидаемый вывод должен содержать строку:

nameserver 127.0.0.53


Это значит, что система использует локальный DNS-кэш.

Проверяем, работает ли кэширование:

resolvectl query example.com


Запускаем несколько раз и сравниваем время выполнения. Первый запрос должен занять немного больше времени, а последующие выполняться мгновенно.

Теперь ваш Linux использует локальный DNS-кэш, что ускоряет соединение и снижает нагрузку на сеть.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥52
SSH Port Forwarding в Linux – основные виды туннелей

SSH-туннели – это один из самых мощных инструментов, который используют системные и сетевые администраторы.

Они позволяют перенаправлять трафик через защищённое SSH-соединение, обеспечивая безопасную передачу данных между системами.


Что такое переброс порта SSH?

SSH позволяет создавать туннель между несколькими системами и направлять через него сетевой трафик.

Этот механизм лежит в основе VPN и SOCKS Proxy. Существует три типа SSH-туннелей:

Локальный порт forwarding (Local Port Forwarding) – позволяет получать доступ к удалённым ресурсам через локальную систему. Работает по принципу Remote Access VPN.

Удалённый port forwarding (Remote Port Forwarding) – даёт удалённой системе доступ к локальным сервисам.

Динамический port forwarding (Dynamic Port Forwarding) – создаёт SOCKS-прокси для передачи трафика приложений через зашифрованный туннель. Это помогает обходить блокировки сайтов.

Пример использования SSH-туннеля

Допустим, у вас есть сервис, который передаёт данные в открытом виде или использует нешифрованный протокол.

Чтобы обезопасить соединение, можно направить его трафик через SSH-туннель.


Ещё одно распространённое применение – доступ к внутренним ресурсам компании извне. Это похоже на Site-to-Site VPN, где указывается, какой трафик заворачивается в туннель.

Сколько туннелей можно создать?

Теоретически – до 65 535 (по количеству портов в сети). Однако важно учитывать, что:
Некоторые порты зарезервированы (например, 80 – HTTP, 443 – HTTPS).
Локальный порт не обязательно должен совпадать с удалённым. Например, можно перенаправить 8080 → 80.

Лучше использовать порты в диапазоне 2000–10000, так как порты ниже 2000 зарезервированы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍122🔥1
💬 Вопрос на собеседовании для DevOps-инженера

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.


Вопрос: Как работает OverlayFS и почему оно используется в контейнеризации?

Ответ: OverlayFS — это файловая система наложений, которая объединяет несколько директорий (слоев) в единую структуру. Она широко используется в контейнерных средах, таких как Docker и Kubernetes, для эффективного управления файловыми системами контейнеров.

Основные принципы:
Lowerdir: неизменяемый базовый слой (образ контейнера).
Upperdir: изменяемый слой, в который записываются изменения.
Merged: конечный результат, который видит пользователь.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍111
Настройка и тестирование SSH-туннелей

Локальный порт forwarding

Позволяет перенаправить трафик с локального компьютера на удалённую систему.

Синтаксис:

ssh -L local_port:remote_ip:remote_port [email protected]


Пример:

ssh -L 8080:www.example1.com:80 example2.com


Этот туннель направляет все запросы на 8080 порт через example2.com к example1.com:80.

Тестирование туннеля с netcat

Чтобы проверить работу переадресации:

nc -v remote_ip port_number


Если соединение успешно, утилита выдаст “Успех!”.

Автоматизация (Autossh)

Для постоянного SSH-туннеля без разрывов можно использовать autossh.

Установка:

sudo apt-get install autossh


Запуск:

autossh -L 80:example1.com:80 example2.com


Этот туннель будет автоматически восстанавливаться при обрывах связи.

Удалённый port forwarding

Позволяет удалённой системе получить доступ к сервисам локальной сети.

Синтаксис:

ssh -R remote_port:local_ip:local_port [email protected]


Пример:

ssh -R 8080:localhost:80 [email protected]


Теперь пользователь на [email protected] сможет обратиться к вашему локальному веб-серверу (порт 80) через 8080.

Динамическое перенаправление портов (SOCKS-прокси)

Если нужно обходить блокировки, можно создать SOCKS-прокси через SSH.

Синтаксис:

ssh -D local_port [email protected]


Пример:

ssh -D 1234 [email protected]


Теперь в браузере можно настроить SOCKS-прокси на локальный порт 1234, и весь трафик пойдёт через SSH-туннель.

Просмотр активных SSH-туннелей

Чтобы увидеть все текущие туннели, выполните:

lsof -i | grep ssh


Если нужно отображение IP-адресов, используйте:

lsof -i -n | grep ssh


Ограничение port forwarding в SSH

Чтобы запретить или ограничить переадресацию портов, нужно отредактировать /etc/ssh/sshd_config:

sudo nano /etc/ssh/sshd_config


Добавляем:

AllowTCPForwarding no  # Отключить SSH-туннели
AllowTCPForwarding local # Разрешить только локальный forwarding
AllowTCPForwarding remote # Разрешить только удалённый forwarding


После этого перезапускаем SSH:

sudo systemctl restart sshd


Уменьшение задержки в SSH-туннелях

SSH-туннели работают по TCP поверх TCP, что иногда создаёт задержки. Если трафика много, лучше использовать VPN.

Альтернатива – sshuttle, который уменьшает задержки при пересылке трафика.

Установка:

sudo apt-get install sshuttle


Запуск туннеля:

sudo sshuttle -r user@remote_ip -x remote_ip 0/0 vv


Чтобы убедиться, что IP-адрес изменился:

curl ipinfo.io


Теперь SSH-туннель будет работать без значительных задержек и обеспечивать безопасную передачу данных.
👍17
💬 Вопрос на собеседовании для сисадмина

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.


Вопрос: В чем разница между объявлением переменной export VAR="VALUE" и VAR="VALUE" в bash?

Ответ: При объявлении переменной через export - переменная будет доступна в любых других процессах, при обычном объявлении переменной - переменная будет доступна только в запущенном процессе.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥2
Торвальдс продолжит внедрение Rust в Linux вопреки возражениям

Линус Торвальдс подтвердил, что Rust станет частью ядра Linux, несмотря на сопротивление мейнтейнеров. 


Некоторые, включая Кристофа Хеллвига, считают, что новый язык увеличивает фрагментацию кода и усложняет поддержку, но Торвальдс настаивает на его интеграции, заявляя, что разработчикам придётся работать с Rust, нравится им это или нет.

В августе 2024 года он выразил разочарование медленным внедрением Rust, отметив, что многие разработчики не хотят учить новый язык.

В сентябре проект столкнулся с кризисом — лидер Rust for Linux ушёл из-за «нетехнических проблем».


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

Несмотря на споры, Торвальдс уверен — Rust в Linux неизбежен.
💊13👍61👎1
Автоматическая смена паролей пользователей Linux

Жизнь системного администратора — это постоянная борьба за безопасность. Нужно следить за серверами, защищать сеть и решать возникающие проблемы.

Один из важных аспектов — управление паролями пользователей. Их необходимо менять с определенной периодичностью.


В этой статье разберем, как автоматизировать смену паролей в Linux.

Срок действия паролей

Чтобы узнать, когда последний раз менялся пароль пользователя и когда он заэкспайрится, используйте команду:

chage -l username

Она покажет:
• Дату последней смены пароля.
• Когда пароль истекает.
• Сколько дней осталось до истечения.
• Когда учетная запись заэкспайрится.
• Минимальный и максимальный срок между сменами пароля.

Заставляем пользователя менять пароль каждые 90 дней

Чтобы установить срок действия пароля в 90 дней, выполните команду:

sudo chage -M 90 username


Проверить настройки можно командой:

chage -l username


Устанавливаем срок действия учетной записи

Допустим, у вас есть пользователи Иван и Петр, которым нужен доступ только на два дня. Создаем учетные записи:

sudo adduser ivan  
sudo adduser petr


Задаем пароли:

sudo passwd ivan  
sudo passwd petr


Теперь ограничим срок действия учетных записей:

sudo chage -E $(date -d "+2 days" +%Y-%m-%d) ivan  
sudo chage -E $(date -d "+2 days" +%Y-%m-%d) petr


После истечения срока можно удалить пользователей:

sudo chage -E -1 ivan  
sudo chage -E -1 petr


Сколько времени на смену пароля?

Допустим, пароль Геннадия заэкспайрился в воскресенье. Дадим ему 5 дней на смену пароля перед блокировкой аккаунта:

sudo chage -I 5 gennady  


Если он не сменит пароль и учетная запись заблокируется, снять ограничение можно так:

sudo chage -I -1 gennady  


Предупреждения для пользователей

Чтобы заранее предупредить пользователя о скорой смене пароля (например, за 7 дней):

sudo chage -W 7 gennady  


Защищаемся от частой смены паролей

Если кто-то решил менять пароль каждый день, можно задать минимальный срок в 14 дней:

sudo chage -m 14 sergey  


А если передумали — убрать ограничение:

sudo chage -m 0 sergey  


Настроив автоматическую смену паролей, вы уменьшите риск компрометации учетных записей и сделаете систему более безопасной.
👍253🔥2
Active Directory и LDAP – в чем разница?

Active Directory (AD) — это служба каталогов от Microsoft, которая управляет пользователями, группами, устройствами и ресурсами в корпоративной сети.

LDAP (Lightweight Directory Access Protocol) — это открытый протокол, который используется для запроса и управления данными в службах каталогов.

Проще говоря: AD — это база данных, а LDAP — способ общения с ней.


Что такое Active Directory?

Active Directory — это централизованное хранилище данных, выполняющее несколько ключевых функций:
Аутентификация пользователей — проверка логина и пароля перед входом в систему.
Управление группами и ресурсами — контроль доступа к файлам, принтерам, серверам и т. д.
Администрирование политик безопасности — применение групповых политик (GPO) для управления настройками компьютеров и пользователей.

Microsoft AD поддерживает два протокола: Kerberos и LDAP. Это позволяет реализовать Single Sign-On (SSO) — возможность входа в систему без повторного ввода пароля.

Однако AD не является кроссплатформенной системой, поэтому компании часто используют дополнительные решения для управления доступом.


Active Directory — не единственная служба каталогов. Существуют и другие:
Red Hat Directory Server
OpenLDAP
Apache Directory Server

Также AD можно интегрировать с Asterisk, что позволяет использовать его для управления телефонными системами.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥62🤯1
Какой механизм позволяет ядру Linux выгружать редко используемые страницы памяти на диск?
Anonymous Quiz
55%
Swap
23%
Page Cache
4%
OOM Killer
18%
Kernel Paging
👍8🤣6
Восстановление root-пароля в Ubuntu

Забыли root-пароль в Ubuntu? Не паникуйте! Сбросить пароль можно за несколько минут. Мы рассмотрим два способа восстановления: через Recovery Mode и альтернативный метод через Grub.

Эти методы работают на обычных системах, а также в виртуальных машинах (VMware, VirtualBox).

Способ 1: Сброс пароля через Recovery Mode

Этот метод удобен, если у вас есть доступ к меню загрузки Grub.

Шаг 1: Вход в режим восстановления
1. Перезагрузите компьютер.
2. Если меню Grub не появляется автоматически, нажимайте Shift во время загрузки.
3. В меню выберите Advanced Options for Ubuntu.
4. Найдите вариант с (recovery mode) и выберите его.

После небольшой загрузки появится меню восстановления.

Шаг 2: Переход в командную строку root
1. В списке выберите Root (Drop to root shell prompt).
2. Нажмите Enter – вы попадете в терминал с root-доступом.

Шаг 3: Разрешение записи в корневой раздел

По умолчанию корневой раздел доступен только для чтения, поэтому перед изменением пароля нужно разрешить запись:

mount -rw -o remount /


Шаг 4: Сброс пароля
1. Посмотрите список пользователей:

ls /home


Здесь будут показаны все пользовательские папки – выберите нужного пользователя.

2. Сбросьте пароль:

passwd username


(вместо username подставьте имя пользователя).

3. Дважды введите новый пароль.

Шаг 5: Перезагрузка системы
1. Введите команду выхода:

exit


2. Вернетесь в меню восстановления – выберите Resume boot для загрузки системы.
3. После перезагрузки можно войти с новым паролем.

Способ 2: Сброс пароля через Grub

Этот метод подходит, если Recovery Mode недоступен или не работает.

Шаг 1: Изменение параметров в Grub
Перезагрузите компьютер и нажимайте Shift, пока не появится меню Grub.
Дальше выберите Ubuntu и нажмите E (редактировать параметры загрузки). И найдите строку, начинающуюся с linux, замените ro на rw и добавьте в конец:

init=/bin/bash


Нажмите Ctrl + X, чтобы загрузиться в систему.

Теперь вы окажетесь в командной строке bash без пароля.

Шаг 2: Смена пароля
Введите команду:

passwd username


Дважды введите новый пароль. И перезагрузите систему командой:

shutdown -r now


После перезагрузки вы сможете войти в систему с новым паролем.

Возможные ошибки и их решение

Ошибка “Authentication token manipulation error”

Проблема: Файловая система доступна только для чтения.
Решение: Разрешите запись перед изменением пароля:

mount -rw -o remount /


Нет пункта “Recovery Mode” в Grub

Проблема: В меню загрузки отсутствует пункт Recovery Mode.
Решение:
• Выберите Ubuntu в Grub, нажмите E для редактирования параметров.
• В конце строки загрузки добавьте single.
• Нажмите Ctrl + X или F10, чтобы загрузиться в терминал суперпользователя.

Ошибка “end Kernel panic” при загрузке

Проблема: Ошибка загрузки ядра.
Решение: Удалите параметр splash boot при редактировании загрузки в Grub.

Ошибка “Failed to connect to bus” при перезагрузке

Проблема: Некорректное завершение системы после смены пароля.
Решение: Используйте команду:

exec /sbin/init
Please open Telegram to view this post
VIEW IN TELEGRAM
👍375🤨1
🧓🏻📱 “Дед, ну не тупи!” – или как не отстать от технологий, а зарабатывать на этом!

Помните, как учили деда пользоваться кнопочным телефоном?
Он держал его, как инопланетный артефакт. Не понимал, куда нажимать. Вы злились, объясняли, но он всё равно не понимал.

Теперь представьте: в будущем ваши внуки так же будут учить ВАС. Вы будете смотреть на нейросети, технологии и ИИ с таким же ужасом 🤯

Звучит страшно? НО ВЫХОД ЕСТЬ!

💻👉🏻
Hey, Tech! | Технологии и AI - место, где тебе не дадут устареть. Где ты каждый день будешь узнавать, как развивается мир технологий, что стоит за нейросетями и как они могут работать на тебя и твой кошелек.

💰 Мы рассказываем о свежих способах заработка на нейросетях, новых платформах и трендах.

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

📲 Подпишись на Hey, Tech! | Технологии и AI и забудь о страхе стать “дедом, который не шарит”.
6👍5😁3
💬 Вопрос на собеседовании для DevOps-инженера

Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.


Вопрос: Как работает Keepalived и зачем он нужен?

Ответ: Keepalived — это сервис для настройки отказоустойчивости и балансировки трафика с помощью VRRP (Virtual Router Redundancy Protocol). Он позволяет автоматически переключать виртуальный IP-адрес (VIP) между узлами при сбоях.

Основные компоненты:
VRRP-инстанс: следит за состоянием узлов и управляет VIP.
Script-checks: выполняет пользовательские проверки работоспособности.
Notify-скрипты: запускаются при смене активного узла.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3
Типичный путь сисадмина
🔥30😁20👍3
🤔Что нужно, чтобы настроить разработку, тестирование и развертывание наиболее рациональным образом?

👉🏻 Сделали развернутый обзор актуальных DevOps инструментов в 2025 году

Расскажем:
✔️ Основные категории DevOps инструментов
✔️ Развернутый обзор популярных DevOps инструментов
✔️ Почему DevOps инструменты необходимы?

👉🏻Забрать разбор в боте

Реклама ООО «Слёрм» ИНН 3652901451
👍1
Как определить версию Linux?

Linux — это целое семейство операционных систем, и иногда бывает необходимо узнать, какая именно версия установлена.

Особенно это актуально при установке программ, обновлениях или настройке системы.


Самый простой способ — использовать команду:

hostnamectl


Она покажет название дистрибутива, его версию, кодовое имя и текущую версию ядра.

Важное уточнение

Часто всю систему называют просто Linux, но технически это неверно. Linux — это только ядро системы, а GNU — это набор библиотек и инструментов, которые делают систему полноценной. Вместе они образуют GNU/Linux, хотя в обиходе принято сокращать до просто Linux.

Дополнительные способы определения версии

Проверка пакетного менеджера

Если hostnamectl вам не помог, можно определить систему по ее пакетному менеджеру. В Linux чаще всего используются три основных менеджера пакетов:
rpm – для Red Hat-подобных систем (RHEL, CentOS, Fedora)
dpkg – для Debian-подобных систем (Debian, Ubuntu, Mint)
pacman – для Arch Linux и его производных (Manjaro)

Чтобы проверить, какой пакетный менеджер установлен, выполните:

for i in rpm dpkg pacman; do which $i; done 2>/dev/null


Вывод покажет путь к используемому менеджеру. Например:
• /usr/bin/dpkg – указывает на Debian/Ubuntu
• /bin/rpm – указывает на Red Hat (RHEL, CentOS, Fedora)

Проверка версии дистрибутива

CentOS и RHEL

Для CentOS:

cat /etc/centos-release


Для RHEL:

cat /etc/redhat-release


Для Fedora аналогично:

cat /etc/fedora-release


Debian, Ubuntu, Mint

cat /etc/issue


Этот файл содержит информацию о версии дистрибутива.

Arch Linux

Для Arch Linux проверять версию бессмысленно, так как при каждом обновлении (pacman -Syu) система становится актуальной версией.

Проверка системных параметров

Версия ядра и архитектура

Узнать версию ядра и разрядность системы можно командой:

uname -a


Вывод будет содержать информацию о версии ядра и архитектуре процессора (x86_64, arm и т. д.).

Архитектура процессора

Чтобы узнать детали о процессоре, используйте команду:

lscpu


Она покажет модель процессора, количество ядер, тактовую частоту и разрядность.
👍15👎1
‼️ Администрация нашего канала специально для вас купила доступ в частный клуб за 1500 долларов

Тезисно: в канале будут сигналы, новости, обзор рынка, которых нет в официальном доступе, общение с единомышленниками, обучение - без него никуда и конечно юмор.

До завтрашнего дня оставлю доступ в канал бесплатным. Все, кто успеет подписаться - останутся бесплатно навсегда. Кто захочет подписаться после 25 февраля, смогут сделать это только платно 👇

Вступить — https://t.iss.one/+vRkxpCeXULlkMDli
💊14😁3🤪3👍1🔥1
Morse Micro представила Wi-Fi HaLow маршрутизатор с дальностью до 16 км

Morse Micro выпустила маршрутизатор MM−HL1−EXT на базе Wi-Fi HaLow (IEEE 802.11ah). Он передаёт данные на 16 км в открытой местности и до 3 км в городе.

Работает в диапазонах 900 МГц (США) и 868 МГц (EMEA), обеспечивая устойчивый сигнал, но с ограничением скорости до 32 Мбит/с. Также поддерживает Wi-Fi 4 (2,4 ГГц) с пиковыми 300 Мбит/с.


Внутри двухъядерный MediaTek MT7621A, 256 МБ ОЗУ и чип MM6108 (мощность 23 дБм). Есть порты Ethernet WAN/LAN, USB-C и поддержка OpenWrt 23.05.

Маршрутизатор уже продаётся в США, Канаде и Австралии за $99.

В сентябре Morse Micro установила рекорд, передав Wi-Fi HaLow на 15,9 км.
👍16🔥61😁1
Какой параметр ядра можно использовать для включения защиты от атак типа “Stack Smashing”?
Anonymous Quiz
33%
kernel.randomize_va_space
18%
kernel.nx
24%
fs.protected_symlinks
25%
net.ipv4.tcp_syncookies
👍5