Системный администратор - Сетевые технологии - Компьютерная помощь
6.88K subscribers
3.11K photos
4.46K videos
1.06K files
660 links
Канал для системных администраторов или те кто работает в ИТ сфере.
📚КНИГИ ПО
💠Cisco systems
💠Mikrotik
💠VoIP
💠Linux
💠 Windows server
💠 Сетевые технологии
📽Видеоуроки
🤝Поддержка
Наша группа: @SySAD
Feedback bot: @SySADbot
Download Telegram
🛠Настройка и диагностика сети (ip, ifconfig, netstat, ss, traceroute, ping)

🏷 IP-адресация и настройка сети
📌 Просмотр текущих сетевых настроек
ip a          # Показать IP-адреса всех интерфейсов
ip addr show # То же самое, но полный вывод
ip r # Просмотр маршрутов (марштизация)
ip link show # Показать сетевые интерфейсы и их состояние


📌 Настройка IP-адреса (временная, до перезагрузки)
ip addr add 192.168.1.100/24 dev eth0  # Добавить IP к интерфейсу eth0
ip addr del 192.168.1.100/24 dev eth0 # Удалить IP


📌 Назначение шлюза (маршрут по умолчанию)
ip route add default via 192.168.1.1


📌 Изменение MAC-адреса (требует отключения интерфейса)
ip link set dev eth0 down
ip link set dev eth0 address 00:11:22:33:44:55
ip link set dev eth0 up




🔍 Диагностика сети
📌 Проверка соединения (ping)
ping 8.8.8.8         # Проверка доступности IP
ping -c 5 8.8.8.8 # Отправить 5 пакетов
ping -i 0.5 8.8.8.8 # Интервал 0.5 сек
ping -s 1024 8.8.8.8 # Размер пакета 1024 байта


📌 Трассировка маршрута (traceroute)
traceroute 8.8.8.8      # Маршрут до IP-адреса
traceroute -I 8.8.8.8 # Использовать ICMP вместо UDP

(если нет traceroute, установите: apt install traceroute)

📌 Просмотр открытых соединений и портов
netstat -tulnp         # Список слушающих портов (старый инструмент)
ss -tulnp # Современная альтернатива netstat
ss -s # Краткая статистика TCP
ss -ant | grep LISTEN # Фильтр активных TCP-портов


📌 Проверка DNS (nslookup, dig)
nslookup google.com       # Запрос DNS через nslookup
dig google.com # Запрос DNS через dig
dig google.com +short # Вывести только IP-адрес


📌 Просмотр ARP-таблицы
ip neigh show        # Аналог "arp -a"


📌 Просмотр таблицы маршрутизации
ip route show        # Аналог "route -n"


📌 Поиск сетевого интерфейса по IP
ip -o addr show | grep "192.168.1.100"




🛠 Дополнительные утилиты
📌 Проверка доступности порта (nc/nmap)
nc -zv 192.168.1.1 22    # Проверить, открыт ли порт 22
nmap -p 22 192.168.1.1 # Аналогично, но через nmap


📌 Тестирование скорости соединения (iperf3)
iperf3 -s            # Запустить сервер (на принимающей стороне)
iperf3 -c 192.168.1.1 # Клиент, тест скорости к указанному IP


📌 Просмотр DHCP-записей (если работает dhclient)
cat /var/lib/dhcp/dhclient.leases




🔥 Полезные команды для быстрого анализа
ip a | grep inet          # Быстрый просмотр IP-адресов
ss -ant | grep ESTAB # Список активных соединений
ip route get 8.8.8.8 # Проверить маршрут до IP
arp -a # Таблица ARP


@sysadmin1
👍72🎉21🔥1
📌 Шпаргалка по основным командам терминала

🔹 Работа с файлами и каталогами
📂 ls – показать список файлов
📂 cd – перейти в каталог (cd /home/user/docs)
📂 pwd – текущий путь
📂 mkdir – создать папку (mkdir new_folder)
📂 rm – удалить файл (rm file.txt)
📂 rm -r – удалить папку (rm -r folder/)
📂 cp – копировать (cp file.txt backup/)
📂 mv – переместить/переименовать (mv old.txt new.txt)

🔍 Поиск и фильтрация
🔎 find – поиск файлов (find / -name "file.txt")
🔎 grep – поиск текста в файлах (grep "error" log.txt)
🔎 awk – работа с текстом (awk '{print $1}' file.txt)
🔎 sed – замена в файле (sed 's/old/new/g' file.txt')

💡 Полезные флаги:
-r → рекурсивно
-f → без запроса
-i → с подтверждением
-v → подробный вывод

@sysadmin1
👍42🔥2🎉1🏆1
Шпаргалка по процессам и управлению ими в Linux

1. Просмотр процессов
- ps aux — вывести список всех процессов с подробной информацией
- ps -ef — альтернативный формат списка процессов
- ps -u username — показать процессы конкретного пользователя
- ps -p PID — получить информацию о конкретном процессе

2. Мониторинг процессов в реальном времени
- top — отображает список запущенных процессов в реальном времени
- Shift + M — сортировка по памяти
- Shift + P — сортировка по CPU
- k — завершить процесс по PID
- q — выход
- htop — улучшенный вариант top (устанавливается отдельно: sudo apt install htop)
- F5 — древовидное отображение процессов
- F9 — завершить процесс
- q — выход

3. Завершение процессов
- kill PID — завершить процесс по его идентификатору
- kill -9 PID — принудительное завершение процесса (сигнал SIGKILL)
- killall process_name — завершить все процессы с указанным именем
- pkill process_name — завершить процесс по имени (аналог killall)
- xkill — позволяет кликнуть по окну для его завершения (устанавливается: sudo apt install x11-utils)

4. Приоритеты процессов (nice, renice)
- nice -n 10 command — запустить команду с приоритетом +10
- renice -n 5 -p PID — изменить приоритет процесса на +5
- renice -n -10 -u username — изменить приоритет всех процессов пользователя

5. Управление службами (systemctl)
- systemctl list-units --type=service — список активных служб
- systemctl start service — запустить службу
- systemctl stop service — остановить службу
- systemctl restart service — перезапустить службу
- systemctl status service — статус службы
- systemctl enable service — включить автозапуск службы
- systemctl disable service — отключить автозапуск службы
- systemctl mask service — полностью отключить службу
- systemctl unmask service — вернуть службу в рабочее состояние

6. Управление процессами в фоне
- command & — запустить процесс в фоне
- jobs — список фоновых процессов
- fg %N — перевести процесс №N в передний план
- bg %N — перевести процесс №N в фоновый режим
- nohup command & — запустить процесс, игнорируя выход из системы
- disown -h %N — отключить процесс от терминала

7. Дополнительные команды
- uptime — как долго работает система
- pidof process_name — получить PID процесса по имени
- watch -n 1 command — выполнять команду каждые 1 сек
- strace -p PID — трассировка системных вызовов процесса

@sysadmin1
👍3🔥2🏆211
📌Примеры типовых операций в bash-скриптах

1. Работа с переменными
#!/bin/bash
name="Админ"
echo "Привет, $name!"


2. Чтение ввода от пользователя
#!/bin/bash
read -p "Введите ваше имя: " user_name
echo "Привет, $user_name!"



3. Условные операторы (if-else)
#!/bin/bash
read -p "Введите число: " num

if [ $num -gt 10 ]; then
echo "Число больше 10"
elif [ $num -eq 10 ]; then
echo "Число равно 10"
else
echo "Число меньше 10"
fi



4. Циклы
4.1 Цикл for
#!/bin/bash
for i in {1..5}; do
echo "Цикл $i"
done


4.2 Цикл while
#!/bin/bash
count=1
while [ $count -le 5 ]; do
echo "Счетчик: $count"
((count++))
done



5. Работа с аргументами
#!/bin/bash
echo "Первый аргумент: $1"
echo "Второй аргумент: $2"
echo "Все аргументы: $@"
echo "Количество аргументов: $#"

Запуск: ./script.sh arg1 arg2


6. Работа с файлами
6.1 Проверка существования файла
#!/bin/bash
file="test.txt"
if [ -f "$file" ]; then
echo "Файл существует"
else
echo "Файл не найден"
fi


6.2 Чтение файла построчно
#!/bin/bash
while IFS= read -r line; do
echo "Строка: $line"
done < "file.txt"



7. Функции
#!/bin/bash
function приветствие() {
echo "Привет, $1!"
}

приветствие "Админ"



8. Редиректы и работа с потоками
8.1 Запись вывода в файл
echo "Привет, мир!" > output.txt

8.2 Добавление в файл
echo "Новая строка" >> output.txt

8.3 Перенаправление stderr в файл
ls /не_существующая_папка 2> error.log

8.4 Перенаправление stdout и stderr
ls /не_существующая_папка > output.log 2>&1



9. Запуск команд и проверка их выполнения
#!/bin/bash
mkdir test_dir

if [ $? -eq 0 ]; then
echo "Папка успешно создана"
else
echo "Ошибка при создании папки"
fi



10. Работа с массивами
#!/bin/bash
arr=("яблоко" "банан" "апельсин")

echo "Первый элемент: ${arr[0]}"
echo "Все элементы: ${arr[@]}"

for fruit in "${arr[@]}"; do
echo "Фрукт: $fruit"
done



11. Таймер / ожидание
#!/bin/bash
echo "Ожидание 5 секунд..."
sleep 5
echo "Продолжаем работу!"



12. Использование команд grep, awk, sed
12.1 Поиск строки в файле
grep "поиск" файл.txt

12.2 Замена текста в файле (sed)
sed -i 's/старый/новый/g' файл.txt

12.3 Извлечение данных (awk)
awk '{print $2}' файл.txt



13. Фоновые процессы
./долгий_скрипт.sh &



14. Cron (Автоматический запуск скрипта)
Открыть cron:
crontab -e

Добавить задачу (например, запуск скрипта каждую минуту):
* * * * * /home/user/script.sh



15. Остановка и завершение процессов
ps aux | grep my_script.sh   # Найти процесс
kill 12345 # Убить процесс по PID
killall my_script.sh # Убить все процессы с таким именем


@sysadmin1
👍52🎉2🔥1🤩1
🚀 Ускоряем загрузку Linux: Оптимизация системы


🔹 1. Анализ задержек при загрузке
Сначала нужно понять, что замедляет загрузку. Для этого используем команду:
systemd-analyze blame

Она покажет список сервисов и время их старта.

🔹 2. Отключение ненужных сервисов
Если есть службы, которые не нужны при загрузке, отключаем их:
sudo systemctl disable <service_name>
sudo systemctl mask <service_name>

Например, если не используете Bluetooth:
sudo systemctl disable bluetooth


🔹 3. Оптимизация GRUB
Проверьте, сколько времени GRUB ждёт перед загрузкой:
grep GRUB_TIMEOUT /etc/default/grub

Если там больше 5 секунд, можно уменьшить до 1-2 секунд:
sudo sed -i 's/GRUB_TIMEOUT=[0-9]\+/GRUB_TIMEOUT=2/' /etc/default/grub
sudo update-grub


🔹 4. Включение параллельной загрузки
Добавьте в grub параметр quiet splash для ускорения загрузки:
sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="[^"]*/& quiet splash/' /etc/default/grub
sudo update-grub


🔹 5. Очистка автозапуска
Просмотр списка автозапускаемых сервисов:
systemctl list-unit-files --state=enabled

Отключаем всё ненужное!

После этих настроек ваш Linux будет загружаться быстрее, а сервер – работать эффективнее. 🚀

@sysadmin1
👍3🔥2🎉21💯1
🔐 Права в Linux. Часть 1

📌 1. Базовые права доступа
Каждый файл и директория в Linux имеют владельца, группу и права доступа, которые задаются тремя наборами битов:

r (4) Чтение (read)

w (2) Запись (write)

x (1) Исполнение (execute)

Формат прав:

-rwxr-xr-- 1 user group 1234 Feb 27 10:00 file.txt

Расшифровка:
- - — тип файла (d — директория, - — обычный файл, l — ссылка и т. д.)
- rwx — права владельца
- r-x — права группы
- r-- — права остальных пользователей



⚙️ 2. Изменение прав: chmod
Изменяет права доступа к файлу или директории.

📍 Символьный способ (+, -, =)

chmod u+x file.txt # Добавить владельцу право на выполнение
chmod g-w file.txt # Убрать у группы право на запись
chmod o=r file.txt # Установить права "только чтение" для остальных
chmod a+x script.sh # Сделать исполняемым для всех


📍 Цифровой способ (восьмеричная нотация)
Каждое право обозначается числом:
- r = 4
- w = 2
- x = 1

Пример:
chmod 755 script.sh  # Владелец (7) - rwx, группа (5) - r-x, остальные (5) - r-x
chmod 644 file.txt # Владелец (6) - rw-, группа (4) - r--, остальные (4) - r--




🏷 3. Изменение владельца: chown
Изменяет владельца и группу файла.

📍 Основные команды
chown user file.txt         # Изменить владельца
chown user:group file.txt # Изменить владельца и группу
chown :group file.txt # Изменить только группу
chown -R user:group dir/ # Рекурсивно изменить владельца/группу в каталоге




🎭 4. Специальные биты (SUID, GUID, Sticky Bit)

🏆 SUID (Set User ID)
Если установлен на исполняемом файле, процесс выполняется от имени владельца файла, а не от имени пользователя, который его запустил.

Пример:
chmod u+s /usr/bin/passwd  # Установка SUID
ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 53232 Feb 27 10:00 /usr/bin/passwd

(s вместо x) у владельца обозначает, что активен SUID.

🏅 GUID (Set Group ID)
Если установлен на исполняемом файле, программа выполняется с правами группы файла.
Если установлен на директории, все созданные файлы наследуют группу директории.

Пример:
chmod g+s directory/       # Установка SGID на директорию
chmod 2755 script.sh # Установка SGID через числовой код
ls -ld directory/
drwxr-sr-x 2 user group 4096 Feb 27 10:00 directory/

(s вместо x) у группы обозначает, что активен SGID.

📌 Sticky Bit
Применяется к директориям, запрещая пользователям удалять чужие файлы в общем каталоге (например, /tmp).

Пример:
chmod +t /tmp             # Установка Sticky Bit
chmod 1777 /tmp # Эквивалентная команда в числовом виде
ls -ld /tmp
drwxrwxrwt 10 root root 4096 Feb 27 10:00 /tmp

(t вместо x) у остальных означает, что активен Sticky Bit.

@sysadmin1
🔥4👍21🎉1💯1
🔐 Права в Linux. Часть 2

🔏 5. Расширенные ACL (Access Control List)

Позволяют задавать более гибкие права, чем стандартная система rwx.

📍 Проверка ACL

getfacl file.txt


📍 Добавление прав пользователю

setfacl -m u:username:rw file.txt

(Пользователь username получит права rw на файл.)

📍 Удаление прав у пользователя
setfacl -x u:username file.txt


📍 Наследование ACL в директориях

setfacl -m d:u:username:rw directory/




⚙️ 6. Маска umask (маска прав)

Определяет, какие права не будут установлены при создании новых файлов и директорий.

📍 Проверка текущегоерка ACL

umask


📍 Задание нового Control

umask 022 # Новые файлы 644 (rw-r--r--), директории 755 (rwxr-xr-x)
umask 077 # Новые файлы 600 (rw-------), директории 700 (rwx------)

📌 Формула:

Права по умолчанию – umask = Итоговые права
Файлы: 666 – umask
Директории: 777 – umask


Пример:
- umask 022 → 666 - 022 = 644 (rw-r--r--)
- umask 077 → 666 - 077 = 600 (rw-------)

🛠 Быстрые команды для проверки и настройки прав
ls -l          # Просмотр прав файлов
stat file.txt # Детальная информация о файле
chmod 750 file # Изменение прав файла
chown user:group file # Изменение владельца
setfacl -m u:username:rw file # Установка ACL


💡 Полезные ссылки:
- man chmod
- man chown
- man setfacl
- man umask

@sysadmin1
👍3🔥31🎉1
Шпаргалка по Proxmox VE – мощной платформе для виртуализации на основе KVM и LXC с поддержкой кластеризации и Ceph.


🛠 Установка и настройка Proxmox
1. Загрузка ISO:
Скачать образ Proxmox VE и записать его на флешку (Rufus, dd).

2. Установка:
- Выбрать диск для установки.
- Задать пароль root и e-mail.
- Настроить сеть (можно оставить DHCP).

3. Доступ к Web-интерфейсу:
Открыть в браузере:


https://<IP-сервера>:8006

Логин: root, пароль – указанный при установке.



⚙️ Основные команды Proxmox
🔹 Работа с сервисами
systemctl restart pve-cluster  # Перезапуск кластера
systemctl restart pvedaemon # Перезапуск веб-интерфейса
systemctl restart pveproxy # Перезапуск веб-прокси
systemctl restart pvestatd # Перезапуск статистики


🔹 Управление виртуальными машинами (VM)
qm list                     # Список всех ВМ
qm start <vmid> # Запуск ВМ
qm stop <vmid> # Остановка ВМ
qm shutdown <vmid> # Корректное выключение ВМ
qm config <vmid> # Просмотр конфигурации ВМ
qm snapshot <vmid> <name> # Создать снимок ВМ
qm restore <vmid> <backup> # Восстановление из резервной копии


🔹 Управление контейнерами (LXC)
pct list                   # Список контейнеров
pct start <ctid> # Запуск контейнера
pct stop <ctid> # Остановка контейнера
pct shutdown <ctid> # Корректное выключение контейнера
pct exec <ctid> -- <cmd> # Выполнить команду внутри контейнера
pct console <ctid> # Подключиться к консоли контейнера




📦 Хранилища и резервные копии
🔹 Подключение NFS-хранилища
pvesm add nfs <name> --server <IP> --export <path> --content images,backup


🔹 Резервное копирование (VM и контейнеры)
vzdump <vmid> --dumpdir /backup --mode snapshot


🔹 Восстановление из резервной копии
vzdump --restore <backupfile> <vmid>




Кластеризация и Ceph
🔹 Создание кластера
На главном узле:
pvecm create <cluster-name>

На других узлах:
pvecm add <master-ip>

Проверка:
pvecm status


🔹 Ceph (для хранения данных)
Установка Ceph
pveceph install

Создание монитора Ceph
pveceph create
pveceph mon create
pveceph mgr create

Добавление OSD-диска
pveceph osd create /dev/sdX




🔧 Дополнительно
🔹 Удаление подписки Proxmox (убираем окно "No valid subscription")
sed -i.bak "s|if (data.status !== 'Active')|if (false)|g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy


🔹 Обновление Proxmox
apt update && apt dist-upgrade -y


🔹 Установка Webmin (удобная панель управления сервером)
apt install -y wget
wget http://prdownloads.sourceforge.net/webadmin/webmin_2.101_all.deb
dpkg -i webmin_2.101_all.deb
apt --fix-broken install -y

После установки Webmin доступен на порту 10000:

https://<IP-сервера>:10000


@sysadmin1
2👍1🔥1🎉1
📌 Шпаргалка по управлению сервисами и демонами (systemctl, service, init.d)

🔹 Systemd (systemctl)
systemctl — основная утилита для управления сервисами в системах с Systemd (например, Ubuntu 16+, CentOS 7+, Debian 8+).

Запуск, остановка, перезапуск сервиса
systemctl start <service>      # Запустить сервис
systemctl stop <service> # Остановить сервис
systemctl restart <service> # Перезапустить сервис
systemctl reload <service> # Перезагрузить конфигурацию без остановки
systemctl reload-or-restart <service> # Перезапустить, если нельзя перезагрузить


🛠 Статус сервиса
systemctl status <service>     # Проверить статус сервиса
systemctl is-active <service> # Проверить, запущен ли сервис (active/inactive)
systemctl is-enabled <service> # Проверить, включен ли сервис при загрузке (enabled/disabled)


⚙️ Автозапуск при старте системы
systemctl enable <service>   # Включить автозапуск
systemctl disable <service> # Отключить автозапуск
systemctl mask <service> # Запретить запуск сервиса
systemctl unmask <service> # Разрешить запуск сервиса


📜 Логи сервиса
journalctl -u <service>       # Показать логи сервиса
journalctl -xe # Посмотреть детальные ошибки и события
journalctl --since "30 min ago" -u <service> # Логи за последние 30 минут


🔄 Перезагрузка Systemd
systemctl daemon-reexec   # Перезапустить systemd без перезагрузки системы
systemctl daemon-reload # Обновить конфигурацию сервисов




🔹 SysV Init (service, init.d)
Для старых систем без systemd (например, CentOS 6, Debian 7) используются SysV Init и скрипты в /etc/init.d/.

Запуск, остановка, перезапуск
service <service> start      # Запустить сервис
service <service> stop # Остановить сервис
service <service> restart # Перезапустить сервис
service <service> reload # Перезагрузить конфигурацию без остановки


🛠 Статус сервиса
service <service> status     # Проверить статус сервиса


⚙️ Автозапуск при старте системы
chkconfig <service> on       # Включить автозапуск
chkconfig <service> off # Отключить автозапуск
chkconfig --list <service> # Проверить, включен ли сервис при старте


📂 Ручное управление через init.d
/etc/init.d/<service> start   # Запустить сервис
/etc/init.d/<service> stop # Остановить сервис
/etc/init.d/<service> restart # Перезапустить сервис
/etc/init.d/<service> status # Проверить статус




🔹 Upstart (service, initctl)
Использовался в Ubuntu 9.10 – 14.10.

Управление сервисами
service <service> start       # Запустить сервис
service <service> stop # Остановить сервис
service <service> restart # Перезапустить сервис
service <service> status # Проверить статус сервиса
initctl list # Список всех сервисов


⚙️ Автозапуск
echo "manual" | sudo tee /etc/init/<service>.override  # Отключить автозапуск
sudo rm /etc/init/<service>.override # Включить автозапуск




🔹 Дополнительно
🔍 Найти сервис в системе
systemctl list-units --type=service  # Список всех сервисов
systemctl list-unit-files | grep enabled # Все включенные сервисы


🗑 Удаление сервиса
systemctl disable <service>
systemctl stop <service>
rm -f /etc/systemd/system/<service>.service
systemctl daemon-reload




🔥 Совет:
Если не знаете, какой менеджер используется в вашей системе, выполните:
ps --pid 1 -o comm=

Если ответ systemd → используйте systemctl, если initservice или init.d.

@sysadmin1
2👍1🔥1👏1
📌 Файлы конфигурации сети в Linux

1️⃣ /etc/resolv.conf – Настройки DNS
🔹 Основные директивы:
- nameserver <IP> – Указывает DNS-сервер
- search <домен> – Определяет домен по умолчанию
- options <параметры> – Дополнительные настройки (например, timeout:2)

🔹 Пример:
nameserver 8.8.8.8
nameserver 1.1.1.1
search example.com
options timeout:2 attempts:3


⚠️ Важно! В системах с NetworkManager или systemd-resolved resolv.conf может перезаписываться!
Проверить: ls -l /etc/resolv.conf (если это симлинк – управляется сервисом).



2️⃣ /etc/hosts – Сопоставление IP и доменных имен
🔹 Используется для локального DNS-резолвинга.

🔹 Пример:
127.0.0.1   localhost
192.168.1.10 server.localdomain server


📌 Применение:
- Подмена IP-адресов для тестирования
- Ускорение доступа к локальным ресурсам



3️⃣ /etc/network/interfaces (Debian-based) – Настройки сетевых интерфейсов
🔹 Используется в Debian, Ubuntu (если не задействован NetworkManager)

🔹 Пример настройки статического IP:
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 1.1.1.1


💡 Основные параметры:
- auto <интерфейс> – Автозапуск при загрузке
- iface <интерфейс> inet <тип>static, dhcp, manual
- address <IP> – Статический IP
- gateway <IP> – Шлюз
- dns-nameservers <IP> – DNS-серверы



4️⃣ NetworkManager – Современный способ управления сетью
🔹 Конфиги хранятся в /etc/NetworkManager/
🔹 Использует nmcli, nmtui для настройки

🔹 Пример подключения к Wi-Fi:
nmcli device wifi list
nmcli device wifi connect "MySSID" password "MySecretPass"


🔹 Проверка статуса сетевого подключения:
nmcli general status
nmcli connection show


🔹 Настройка статического IP:
nmcli con mod eth0 ipv4.addresses 192.168.1.100/24
nmcli con mod eth0 ipv4.gateway 192.168.1.1
nmcli con mod eth0 ipv4.dns "8.8.8.8 1.1.1.1"
nmcli con mod eth0 ipv4.method manual
nmcli con up eth0


⚠️ Важно! В CentOS/RHEL используется nmcli, а в Ubuntu/Debian – netplan.



📌 Проверка сетевого соединения:
ping -c 4 8.8.8.8        # Проверка связи с сервером
dig google.com # Проверка DNS
ip a # Вывод IP-адресов интерфейсов


🔹 Где еще могут храниться настройки?
- /etc/netplan/*.yaml – В Ubuntu 18.04+ (заменил /etc/network/interfaces)
- /etc/sysconfig/network-scripts/ifcfg-* – В CentOS/RHEL


📢 Используйте правильный инструмент для вашей ОС и следите за тем, чтобы изменения в конфигах не перезаписывались сервисами! 🚀

@sysadmin1
🔥2🤩2👌2🎉1🏆1
🎯 Мониторинг загрузки процессора и уведомление в Telegram 🎯

Сервер начал тормозить, а вы не знаете почему? 🤔 Напишите скрипт, который мониторит загрузку CPU и при превышении порога отправляет уведомление в Telegram!

📌 Скрипт для мониторинга CPU и отправки уведомлений

#!/bin/bash

# Порог загрузки CPU в процентах
THRESHOLD=80

# Токен бота и ID чата в Telegram
TELEGRAM_BOT_TOKEN="your_bot_token"
CHAT_ID="your_chat_id"

# Получаем среднюю загрузку CPU за 1 минуту
CPU_LOAD=$(awk '{print $1}' /proc/loadavg | awk '{print int($1)}')

# Проверяем, превышен ли порог
if [ "$CPU_LOAD" -ge "$THRESHOLD" ]; then
MESSAGE="⚠️ Внимание! Высокая загрузка CPU: ${CPU_LOAD}%"
curl -s -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" \
-d chat_id="$CHAT_ID" \
-d text="$MESSAGE"
fi


🔹 Как использовать?
1️⃣ Сохраните скрипт в файл, например, cpu_monitor.sh.
2️⃣ Дайте права на выполнение:

   chmod +x cpu_monitor.sh

3️⃣ Добавьте в cron для проверки каждые 5 минут:

   crontab -e

Добавьте строку:

   */5 * * * * /path/to/cpu_monitor.sh


Теперь при высокой нагрузке процессора вы получите уведомление в Telegram и сможете быстро принять меры! 🚀

@sysadmin1
2👍1🔥1🎉1
📌 Резервное копирование и восстановление (tar, rsync, cron, BorgBackup)


🛠 1. Архивация с tar
📦 Создать архив:
tar -cvzf backup.tar.gz /путь/к/директории

📂 Распаковать архив:
tar -xvzf backup.tar.gz -C /путь/куда/распаковать

🔎 Просмотреть содержимое архива:
tar -tvf backup.tar.gz

📝 Архивация с исключением файлов:
tar --exclude='/путь/к/исключаемой_папке' -cvzf backup.tar.gz /путь/к/директории



🔄 2. Синхронизация с rsync
📤 Копирование файлов с сохранением структуры и прав:
rsync -av /источник/ /назначение/

🌍 Синхронизация по SSH:
rsync -avz -e ssh /источник/ user@host:/назначение/

🧹 Удаление устаревших файлов в целевой папке:
rsync -av --delete /источник/ /назначение/

📄 Исключение файлов:
rsync -av --exclude='*.log' /источник/ /назначение/



3. Автоматизация с cron
📅 Редактирование задач:
crontab -e

📌 Примеры:
- Запуск резервного копирования каждый день в 3:00

  0 3 * * * tar -cvzf /backup/backup_$(date +\%F).tar.gz /важные_данные

- Автоматическая синхронизация раз в час

  0 * * * * rsync -av /данные/ /backup/


📌 Проверка запланированных задач:
crontab -l


🏆 4. Бэкап с BorgBackup
Инициализация хранилища:
borg init --encryption=repokey /backup/repo

📦 Создание резервной копии:
borg create --stats /backup/repo::backup-$(date +%F) /данные

🛠 Восстановление данных:
borg extract /backup/repo::backup-2024-02-26

📜 Просмотр списка резервных копий:
borg list /backup/repo

🧹 Удаление старых бэкапов (например, старше 7 дней):
borg prune --keep-daily=7 /backup/repo



🔥 Вывод:
- tar — простая архивация
- rsync — синхронизация данных
- cron — автоматизация
- BorgBackup — мощное решение для резервного копирования

@sysadmin1
👍3💯21🔥1🎉1
Ata Elahi, Alex Cushman - Computer Networks – 2023 .pdf
19.4 MB
📖 Computer Networks: Data Communications, Internet and Security

Год: 2023
Автор: Ata Elahi, Alex Cushman

Книга рассматривает фундаментальные принципы компьютерных сетей и передачи данных, начиная с основ цифровых коммуникаций и заканчивая современными интернет-технологиями. Авторы объясняют работу локальных сетей (LAN), интернет-протоколов и технологий передачи голоса по IP. Также затрагиваются беспроводные сети и технологии связи с низким энергопотреблением, включая ZigBee, 6LoWPAN и LoRa.

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


#network

@sysadmin1
👍5🏆21🔥1🎉1
This media is not supported in your browser
VIEW IN TELEGRAM
HTTP (HyperText Transfer Protocol)

Данные передаются в открытом виде, и любой в сети может их перехватить или прочитать – протокол небезопасен.
Пример: http://example.com

Шифрование отсутствует, поэтому соединение уязвимо для атак.

HTTPS (HTTP Secure)

Данные передаются в зашифрованном виде, и злоумышленники не могут их прочитать или изменить – соединение считается безопасным.
Пример: https://example.com

Данные защищены.

@Sysadmin1
🔥6👍211🎉1