NetworkAdmin.ru
Kanalga Telegram’da o‘tish
Авторский блог про сетевое и системное администрирование. Сайт: networkadmin.ru Реклама: @dad_admin Биржа: https://telega.in/c/networkadminru
Ko'proq ko'rsatish4 723
Obunachilar
Ma'lumot yo'q24 soatlar
-57 kunlar
Ma'lumot yo'q30 kunlar
Postlar arxiv
4 723
🛡 Настройка безопасного SSH-соединения
Чтобы минимизировать риски и усилить защиту сервера, необходимо настроить SSH-соединение с дополнительными мерами безопасности. Сегодня рассмотрим ключевые шаги для улучшения безопасности SSH.
1️⃣ Отключение входа по паролю. Использование паролей может быть уязвимо к атакам типа brute-force. Настройка входа по SSH-ключам делает подключение гораздо более защищенным.
Создание SSH-ключа:
ssh-keygen -t rsa -b 4096
Добавление ключа на сервер:
ssh-copy-id user@server_ip
После успешного добавления ключа, в файле /etc/ssh/sshd_config измените строку: PasswordAuthentication no
2️⃣ Изменение стандартного порта SSH. Для предотвращения автоматизированных сканирований лучше изменить стандартный порт с 22 на менее очевидный.
Для этого Измените строку в файле /etc/ssh/sshd_config: Port 2222
3️⃣ Ограничение входа по IP-адресам. Если возможно, настройте брандмауэр для разрешения подключения к SSH только с определенных IP-адресов.
Используйте ufw для настройки правил:
sudo ufw allow from 192.168.1.100 to any port 2222
sudo ufw enable
4️⃣ Настройка двухфакторной аутентификации (2FA). Установка двухфакторной аутентификации добавляет дополнительный уровень защиты.
Установите Google Authenticator:
sudo apt install libpam-google-authenticator
Настройте PAM для использования 2FA, добавив строку в /etc/pam.d/sshd: auth required pam_google_authenticator.so
5️⃣ Ограничение числа попыток подключения. Используйте fail2ban для защиты от атак грубой силы.
Установите fail2ban:
sudo apt install fail2ban
Настройте его в /etc/fail2ban/jail.local:
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
6️⃣ Отключение входа для root. Чтобы защитить сервер, запретите прямой вход root-пользователя.
В файле /etc/ssh/sshd_config измените: PermitRootLogin no
Комбинация использования SSH-ключей, изменения порта, ограничения доступа и дополнительных мер, таких как 2FA и fail2ban, делает сервер значительно менее уязвимым к атакам.
#linux #security
🧑💻 NetworkAdmin4 723
Уйти в пентест? Стать devops-инженером или системным администратором?
Только вам решать, куда расти, если вы знаете Linux.
Курс "Основы Linux" обучит вас тонкостям работы с ОС: от работы в командной строке до создания прикладных программ.
⏺ 80% практики
⏺ сопровождение куратора
⏺ финальный проект для портфолио — курс завершает проектная работа
⏺ сертификат или удостоверение о повышении квалификации
Старт: 17 февраля. Оставьте заявку на сайте или напишите нашему менеджеру @Codeby_Academy
Присоединяйтесь и узнайте все о Linux и смежном ПО: от основ командной строки до развертывания Kubernetes!
4 723
👀 Логирование пользовательских сессий в Linux
Для логирования пользовательских сессий, включая команды и действия на сервере, одним из инструментов является
auditd. Он предоставляет детальное логирование и позволяет отслеживать действия пользователей в системе.
1️⃣ Установка и настройка auditd
Установка auditd:
sudo apt update
sudo apt install auditd audispd-plugins
Настройка правил логирования: Правила логирования определяются в файле /etc/audit/audit.rules. Добавим правило для логирования всех команд пользователей:
echo '-a always,exit -F arch=b64 -S execve -k commands' | sudo tee -a /etc/audit/audit.rules
2️⃣ Скрипт для сбора и перемещения логов. Bash-скрипт, который будет собирать логи, сортировать их по пользователю и дате, и перемещать на удаленный сервер.
#!/bin/bash
LOG_DIR="/var/log/audit"
DEST_SERVER="user@remote-server:/path/to/logs"
TEMP_DIR="/tmp/audit_logs"
# Создание временной директории
mkdir -p $TEMP_DIR
# Сбор логов по пользователям
ausearch -k commands | while read -r line; do
USER=$(echo "$line" | grep -oP '(?<=uid=)[0-9]+')
TIMESTAMP=$(echo "$line" | grep -oP '(?<=time=)[0-9]+' | head -n 1)
DATE=$(date -d @$TIMESTAMP "+%Y-%m-%d_%H-%M-%S")
USERNAME=$(id -nu $USER)
# Создание файла лога
echo "$line" >> "$TEMP_DIR/${USERNAME}_${DATE}.log"
done
# Перемещение логов на удаленный сервер
scp $TEMP_DIR/* $DEST_SERVER
# Очистка временной директории
rm -rf $TEMP_DIR
Данный скрипт можно добавить в крон на сервере и тогда с установленной периодичностью данные будут автоматически перещаться.
#linux #security
🧑💻 NetworkAdmin4 723
Давно присматриваетесь к системному администрированию Linux? У нас отличные новости!
23 января стартует конференция «Администрирование Linux для начинающих».
Мы приглашаем начинающих сисадминов Linux, администраторов Windows, разработчиков, специалистов по тестированию и вообще всех, кто интересуется темой администрирования.
Вы узнаете:
- Чем отличается проприетарный софт от свободного, а свободный – от бесплатного?
- Почему Windows популярен?
- Так ли хорош Linux на самом деле и так ли плох Windows?
- Что не так с MacOs?
Вы научитесь:
- Работать с текстом в терминале Linux
- Использовать текстовые утилиты
- Искать файлы по тексту
- Фильтровать вывод команд
Спикеры: Андрей Буранов, системный администратор VK, и Николай Лавлинский, технический директор «Метод Лаб»
Бонус! Всем участникам – скидка 7% на любой курс и 5 полезных материалов по Linux.
23 января, 19:00 МСК
Присоединяйтесь!
Записаться на конференцию - https://otus.pw/6CJg/?erid=2W5zFJrK5Dz
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
4 723
👤 Восстановление доверительных отношений с доменом после отката Windows
При откате Windows к старому снапшоту или резервной копии, можно столкнуться с ситуацией, когда компьютер выпадает из домена. Это приводит к ошибке при попытке входа под доменным пользователем:
"Не удалось установить доверительные отношения между рабочей станцией и доменом."
Когда компьютер добавляется в домен, для него создается учетная запись с паролем. Этот пароль хранится как на компьютере, так и в базе Active Directory (AD). Если после восстановления из снапшота пароли не совпадают, компьютер не может установить защищенный канал с доменом.
Для восстановления доверительных отношений с доменом и синхронизации пароля компьютера с AD можно использовать PowerShell:
▪️ Проверка статуса доверительных отношений:
Test-ComputerSecureChannel -Verbose
Эта команда проверит, существуют ли проблемы с доверительными отношениями между рабочей станцией и доменом.
▪️ Восстановление доверительных отношений:
Test-ComputerSecureChannel -Repair -Credential networkadminru\\admin
Замените networkadminru\\admin на ваши учетные данные администратора домена. Эта команда попытается восстановить доверительные отношения, синхронизируя пароль компьютера с AD.
Таким образом можно быстро восстановить работоспособность компьютера в домене и избежать дальнейших проблем с доступом.
#domain #windows
🧑💻 NetworkAdmin4 723
🏳️ Мониторинг в Zabbix с использованием Bash-скриптов
Zabbix предоставляет широкие возможности для мониторинга систем, и одним из самых гибких инструментов является ключ
system.run. Он позволяет выполнять любые Bash-скрипты на мониторируемых хостах и возвращать их результаты для последующего анализа.
1️⃣ Настройка элемента данных
Для начала необходимо создать элемент данных, который будет запускать Bash-скрипт:
1. В веб-интерфейсе Zabbix перейдите в раздел "Конфигурация" -> "Хосты".
2. Выберите хост и перейдите в раздел "Элементы данных".
3. Нажмите "Создать элемент данных" и заполните поля:
• Имя: Назовите элемент, например, "Custom Bash Script".
• Ключ: Укажите system.run["/path/to/your/script.sh"].
4.. Тип информации: Выберите тип возвращаемых данных (например, числовое значение).
2️⃣ Пример Bash-скрипта для мониторинга
Простой скрипт, который проверяет количество активных соединений к веб-серверу:
#!/bin/bash
netstat -an | grep ':80' | wc -l
Этот скрипт подсчитывает количество активных соединений к порту 80 и возвращает результат.
3️⃣ Расширенные возможности
Для более сложного мониторинга, например, статуса кластера, можно использовать следующий Bash-скрипт:
#!/bin/bash
CLUSTER_NODES=("node1" "node2" "node3")
STATUS=""
for NODE in "${CLUSTER_NODES[@]}"
do
NODE_STATUS=$(ssh $NODE 'systemctl is-active cluster-service')
STATUS+="$NODE: $NODE_STATUS\n"
done
echo -e $STATUS
Этот скрипт подключается к каждому узлу кластера через SSH и проверяет статус службы cluster-service. Результаты возвращаются в формате "имя узла: статус".
#monitoring #zabbix
🧑💻 NetworkAdmin4 723
👩💻 Установка срока действия учетной записи в Linux
В некоторых случаях может потребоваться установить срок действия учетной записи пользователя в Linux, чтобы она автоматически отключалась после определенного времени. Это полезно для временных учетных записей или обеспечения безопасности. Сегодня рассмотрим, как установить срок действия учетной записи с помощью командной строки.
Использование команды chage
Команда
chage позволяет управлять сроком действия пароля и учетной записи пользователя.
1️⃣ Просмотр текущих настроек учетной записи:
Чтобы узнать текущие параметры учетной записи, используйте следующую команду:
chage -l <имя_пользователя>
Эта команда выведет информацию о дате последнего изменения пароля, сроке действия и других параметрах.
2️⃣ Установка срока действия учетной записи:
Чтобы установить дату, после которой учетная запись будет отключена, используйте команду:
sudo chage -E <YYYY-MM-DD> <имя_пользователя>
Например, чтобы отключить учетную запись пользователя testuser 1 февраля 2025 года, выполните:
sudo chage -E 2025-02-01 testuser
3️⃣ Удаление срока действия учетной записи:
Если необходимо снять ограничение по сроку действия учетной записи, используйте:
sudo chage -E -1 <имя_пользователя>
Это отключит автоматическое отключение учетной записи.
Использование useradd и usermod
При создании нового пользователя также можно сразу установить срок действия учетной записи.
1️⃣ Создание пользователя с ограниченным сроком действия:
sudo useradd -e <YYYY-MM-DD> <имя_пользователя>
Например:
sudo useradd -e 2025-02-01 tempuser
2️⃣ Изменение срока действия для существующего пользователя:
sudo usermod -e <YYYY-MM-DD> <имя_пользователя>
Установка срока действия учетной записи - это один из способов управления временными пользователями и повышения безопасности системы. Команды chage, useradd и usermod позволяют гибко настраивать учетные записи в Linux, обеспечивая необходимый уровень контроля и защиты.
#linux #users
🧑💻 NetworkAdmin4 723
👑 Изменение приоритета сетевых адаптеров на хосте Windows через PowerShell
Изменение приоритета сетевых адаптеров в Windows позволяет указать, какое соединение должно использоваться по умолчанию. Это особенно полезно, если у вас есть несколько сетевых подключений и вы хотите оптимизировать их использование.
Шаги для изменения приоритета сетевых адаптеров через PowerShell:
1️⃣ Получение списка сетевых адаптеров. Для начала нужно получить список всех сетевых интерфейсов и их текущие метрики. Это можно сделать с помощью команды:
Get-NetIPInterface
Эта команда выведет таблицу с информацией о всех сетевых интерфейсах, включая их индекс, имя (Alias), состояние, тип интерфейса и текущую метрику (InterfaceMetric).
2️⃣ Изменение метрики сетевого интерфейса. Для изменения приоритета сетевого адаптера нужно изменить его метрику. Чем ниже значение метрики, тем выше приоритет интерфейса. Используйте следующую команду для изменения метрики:
Set-NetIPInterface -InterfaceAlias "Имя адаптера" -InterfaceMetric 10
Замените "Имя адаптера" на имя нужного сетевого интерфейса, а 10 - на желаемое значение метрики. Например:
Set-NetIPInterface -InterfaceAlias "Ethernet" -InterfaceMetric 10
3️⃣ Проверка изменений. После изменения метрики рекомендуется проверить настройки, чтобы убедиться, что изменения были применены:
Get-NetIPInterface
Проверяем, что метрика интерфейса изменилась на нужное значение.
Изменение приоритета сетевых адаптеров - это быстрый и удобный способ управления сетевыми подключениями. Этот метод позволяет точно настраивать приоритеты и обеспечивает большую гибкость в управлении сетью без необходимости использования графического интерфейса.
#network #windows
🧑💻 NetworkAdmin4 723
⚡️ Рунет умер. Пользователи из России массово жалуются на проблемы со связью. Сбоят операторы связи, соцсети, маркетплейсы, не открываются вообще никакие сайты.
Сейчас вроде бы все оживает..Но аккуратнее в следующий раз с желаниями
#юмор
🧑💻 NetworkAdmin
4 723
🕹️ Тестирование пропускной способности интернета через командную строку
Тестирование скорости интернета - важная задача для диагностики сетевых проблем и проверки качества соединения. В Windows и Linux это можно сделать прямо из командной строки, используя различные утилиты и команды. Рассмотрим, как это сделать на обеих платформах.
📱 Тестирование в Windows
1️⃣ Использование PowerShell и Measure-Command:
В Windows PowerShell можно использовать команду Measure-Command, чтобы измерить время, необходимое для загрузки файла.
Measure-Command { Invoke-WebRequest -Uri "http://speedtest.tele2.net/1MB.zip" -OutFile "1MB.zip" }
Эта команда загружает файл размером 1MB и измеряет время, за которое это происходит. На основе этого времени можно вычислить скорость загрузки.
2️⃣ Использование wget или curl:
В Windows 10 и новее wget и curl доступны из коробки.
curl -o nul -w "%{speed_download}\n" http://speedtest.tele2.net/1MB.zip
Команда curl загрузит файл и выведет скорость загрузки.
📱 Тестирование в Linux
1️⃣ Использование wget:
В Linux утилита wget позволяет загружать файлы из интернета и измерять скорость загрузки.
wget --output-document=/dev/null http://speedtest.tele2.net/1MB.zip
После выполнения команды wget покажет среднюю скорость загрузки.
2️⃣ Использование curl:
curl также можно использовать для тестирования скорости.
curl -o /dev/null -w "\nSpeed: %{speed_download} bytes/sec\n" http://speedtest.tele2.net/1MB.zip
Эта команда загрузит файл и покажет скорость в байтах в секунду.
3️⃣ Использование speedtest-cli:
Утилита speedtest-cli позволяет легко тестировать скорость интернета, подключаясь к ближайшему серверу.
sudo apt install speedtest-cli
speedtest-cli
Команда выведет скорость загрузки и отдачи.
#network #windows #linux
🧑💻 NetworkAdmin4 723
🎧 Установка операционных систем из ISO по сети с помощью iVentoy
iVentoy - это расширение для популярного инструмента Ventoy, которое позволяет загружать и устанавливать операционные системы с ISO-образов по сети (PXE). С его помощью можно быстро развернуть ОС на нескольких машинах без необходимости использования физических носителей.
▪️ Преимущества iVentoy
• Удобство: Не нужно создавать отдельные загрузочные диски для каждого устройства.
• Гибкость: Поддержка множества ISO-образов на одном сервере.
• Скорость: Быстрая установка благодаря сетевому развертыванию.
• Простота настройки: Легко настроить и интегрировать в существующую инфраструктуру.
▪️ Шаги по установке и настройке iVentoy
1️⃣ Подготовка сервера. Убедитесь, что сервер, который вы собираетесь использовать для сетевой загрузки, настроен и доступен по сети. Он должен иметь DHCP-сервер для назначения IP-адресов и TFTP-сервер для передачи файлов.
2️⃣ Установка Ventoy и iVentoy. Скачайте последнюю версию Ventoy с официального сайта и установите её на USB-накопитель или жесткий диск. Затем загрузите iVentoy и скопируйте его файлы в папку с Ventoy.
wget https://github.com/ventoy/Ventoy/releases/download/v1.0.xx/ventoy-x.x.xx-linux.tar.gz
tar -xvf ventoy-x.x.xx-linux.tar.gz
cd ventoy-x.x.xx
sudo sh Ventoy2Disk.sh -i /dev/sdX
wget https://github.com/ventoy/iVentoy/releases/download/v1.0.xx/iventoy-x.x.xx.tar.gz
tar -xvf iventoy-x.x.xx.tar.gz
cp -r iventoy /path/to/ventoy/
3️⃣ Настройка PXE-загрузки. Настройте DHCP-сервер для предоставления информации о загрузке PXE. Добавьте следующий блок в конфигурацию DHCP:
next-server <IP-адрес вашего TFTP-сервера>;
filename "pxelinux.0";
4️⃣ Добавление ISO-образов. Скопируйте необходимые ISO-образы в каталог /ventoy/iso. Убедитесь, что образы поддерживаются Ventoy.
5️⃣ Запуск iVentoy. Перезагрузите сервер и запустите iVentoy. Выберите нужный ISO-образ через сетевую загрузку на клиентских машинах.
sudo ./iventoy --start
#install #oc
🧑💻 NetworkAdmin4 723
💻 Настоящие читы для программистов/разработчиков!
Hacking & InfoSec Base — Самая большая в телеграме библиотека книг по хакингу и ИБ;
Программистика — Лучший канал про Python;
Coding Base — огромное количество полезных ресурсов, репозиториев статей для разработчиков;
GameDev Base — Множество крутых приёмов и лайвхаков для геймдев разработчиков;
IT библиотека — самая крупная коллекция книг по программированию;
🫵 Подпишись и прокачивай свои навыки с невиданной скоростью!
4 723
🔄 Резервное копирование драйверов в Windows
Windows позволяет быстро экспортировать установленные драйверы. Это удобно при переустановке системы или создании резервной копии.
▪️ Экспорт всех драйверов:
Export-WindowsDriver –Online -Destination C:\drivers
Все сторонние драйверы вместе с файлами INF, SYS, CAT и DLL будут экспортированы в указанный каталог.
▪️ Установка драйверов из каталога:
pnputil.exe /add-driver C:\drivers\*.inf /subdirs /install
▪️ Экспорт одного драйвера (например, Realtek):
Найдите имя INF-файла:
Get-WindowsDriver -Online | where {($_.ProviderName -like "Realtek") -and ($_.ClassName -like "Net")}
Экспортируйте драйвер:
pnputil.exe /export-driver oem20.inf C:\drivers\realtek
#windows #backup #powershell
🧑💻 NetworkAdmin4 723
🧹 Как автоматически очистить диск при срабатывании триггера в Zabbix
Zabbix - мощный инструмент мониторинга, который помогает следить за состоянием ваших серверов. Одна из частых задач - мониторинг свободного места на диске. Рассмотрим сценарий: при малом количестве места на диске и сработал триггер Zabbix и нужно автоматически освободить место путем создания бэкапа файлов и перемещения их на другой сервер.
▪️ Настройка триггера в Zabbix:
Создайте триггер, который будет срабатывать при достижении порога свободного места на диске. Например, если свободное место на /dev/sda1 меньше 10%:
{server:vfs.fs.size[/,pfree].last()}<10
▪️ Скрипт для создания бэкапа и перемещения файлов: Создайте скрипт на сервере, который будет выполнять резервное копирование и перенос файлов:
#!/bin/bash
# Директория для архивирования
SOURCE_DIR="/dev/sda1/path/to/files"
BACKUP_DIR="/backup/$(date +%Y%m%d)"
REMOTE_SERVER="user@remote_server"
REMOTE_PATH="/remote/backup/path"
# Создаем директорию для бэкапа
mkdir -p $BACKUP_DIR
# Архивируем файлы старше 1 месяца
find $SOURCE_DIR -type f -mtime +30 -print0 | tar -czvf $BACKUP_DIR/backup_$(date +%Y%m%d).tar.gz --null -T -
# Переносим архив на удаленный сервер
scp $BACKUP_DIR/backup_$(date +%Y%m%d).tar.gz $REMOTE_SERVER:$REMOTE_PATH
# Удаляем файлы старше 1 месяца из исходной директории
find $SOURCE_DIR -type f -mtime +30 -delete
# Логирование
echo "Backup and cleanup completed on $(date)" >> /var/log/backup_cleanup.log
SOURCE_DIR - путь к директории на /dev/sda1, откуда будут архивироваться файлы. BACKUP_DIR - локальная директория для временного хранения архивов. REMOTE_SERVER и REMOTE_PATH - параметры удаленного сервера и пути, куда будут перемещаться архивы.▪️ Автоматизация через Zabbix: Добавьте действие (action) в Zabbix, которое будет запускать скрипт при срабатывании триггера: Перейдите в Configuration > Actions. Создайте новое действие и настройте его так, чтобы оно выполнялось при срабатывании триггера на малое количество места. В секции Operations укажите команду для выполнения скрипта:
/path/to/backup_script.sh
▪️ Тестирование и настройка уведомлений: Проверьте срабатывание триггера и убедитесь, что скрипт выполняется корректно. Дополнительно можно настроить уведомления о выполнении операции через почту или мессенджер.
Этот подход помогает автоматизировать рутинные задачи и предотвращать проблемы, связанные с нехваткой места на диске.
#backup #linux #zabbix
🧑💻 NetworkAdmin4 723
🎄 Уважаемые подписчики!
С наступающим вас Новым годом!
Пусть он принесет вам радость, тепло и исполнение всех желаний.
🍾 — за Вас.
Хочу сообщить, что я ухожу на небольшие каникулы до 9 января. Вернусь к вам полным сил и вдохновения!До встречи в новом году! 🗓
4 723
🔔 Как отправить красивые уведомления через PowerShell
Для отправки уведомлений пользователям удалённых Windows-компьютеров можно использовать скрипт PowerShell RemoteSendToastNotification.ps1.
▪️ Основные функции скрипта:
• Создание уведомлений с заголовком, текстом, иконками.
• Поддержка кнопок действий (например, открыть ссылку).
• Отправка на удалённые компьютеры через PowerShell Remoting.
▪️ Пример использования:
Уведомление о перезагрузке сервера:
.\RemoteSendToastNotification.ps1 -ComputerName "hostname" `
-Title "Внимание!" `
-Message "Сервер будет перезагружен через 10 минут. Сохраните данные." `
-IconPath "C:\Images\warning.png"
Интерактивное уведомление с кнопкой:
.\RemoteSendToastNotification.ps1 -ComputerName "hostname" `
-Title "Обновление системы" `
-Message "Нажмите для подробностей." `
-ActionButton @{ "Подробнее" = "https://example.com" }
#powershell #windows #microsoft
🧑💻 NetworkAdmin | ⚙️ EasyTools4 723
🔔 Как отправить уведомление пользователю на удалённый Windows-компьютер?
Для оповещения пользователей на удалённых компьютерах можно использовать стандартные инструменты Windows.
Команду MSG или PowerShell-скрипты.▪️ Команда MSG Отправка сообщения конкретному пользователю:
MSG username /server:hostname "Сервер будет перезагружен через 10 минут. Закройте документы."Здесь username — имя пользователя, а hostname — имя удалённого сервера. Отправка сообщения всем пользователям сервера:
MSG * /server:hostname "Срочное сообщение всем!"
* указывает, что сообщение получат все активные пользователи сервера.
Ставьте 🔥, и следующий пост будет про PowerShell скрипт.
#msg #windows #microsoft
🧑💻 NetworkAdmin | ⚙️ EasyTools4 723
📀 Резервное копирование с bup
Если ищете эффективное и экономичное решение для резервного копирования, обратите внимание на bup.
Эта программа использует алгоритмы rsync для фрагментации данных и проверки контрольных сумм, а также хранит данные в формате git-репозитория.
Это позволяет легко создавать инкрементные копии, экономя место, особенно если данные повторяются между разными хостами.
▪️ Установка на Debian:
git clone https://github.com/bup/bup
cd bup
git checkout 0.33
apt-get build-dep bup
apt install python3-pip
pip install tornado
make && make install
▪️ Инициализация репозитория:
export BUP_DIR=/mnt/backup
source ~/.bashrc
bup init
▪️ Создание бэкапа:
bup index /etc
bup save -n local-etc /etc
▪️ Восстановление:
bup restore -C ./dest local-etc/latest/etc
#bup #backup #linux
🧑💻 NetworkAdmin | ⚙️ EasyTools
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
