Команды мониторинга и отладки
top
отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)ps -eafw
отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)ps -e -o pid,args --forest
вывести PID’ы и процессы в виде дереваpstree
отобразить дерево процессовkill -9 98989
kill -KILL 98989
«убить» процесс с PID 98989 «на смерть» (без соблюдения целостности данных)kill -TERM 98989
Корректно завершить процесс с PID 98989kill -1 98989
kill -HUP 98989
заставить процесс с PID 98989 перепрочитать файл конфигурацииlsof -p 98989
отобразить список файлов, открытых процессом с PID 98989lsof /home/user1
отобразить список открытых файлов из директории /home/user1strace -c ls > /dev/null
вывести список системных вызовов, созданных и полученных процессом lsstrace -f -e open ls > /dev/null
вывести вызовы бибилотекwatch -n1 ‘cat /proc/interrupts’
отображать прерывания в режиме реального времениlast reboot
отобразить историю перезагрузок системыlast user1
отобразить историю регистрации пользователя user1 в системе и время его нахождения в нейlsmod
вывести загруженные модули ядраfree -m
показать состояние оперативной памяти в мегабайтахsmartctl -A /dev/hda
контроль состояния жёсткого диска /dev/hda через SMARTsmartctl -i /dev/hda
проверить доступность SMART на жёстком диске /dev/hdatail /var/log/dmesg
вывести десять последних записей из журнала загрузки ядраtail /var/log/messages
вывести десять последних записей из системного журнала❤2
Настройка NVMe over TCP — для тех, кому надо подключить больше 1 диска единственной конфигурации из всех примеров в Сети
Технология NVMe через различные фабрики (далее NVMeOF) оформлена в качестве стандарта летом 2016 года, она была встроена в пятую ветку ядра Linux.
Поэтому, когда было решено мигрировать объемные базы данных с легаси-решений на общедоступные платформы, возник вопрос — можно ли применить эту технологию увеличения дискового пространства для создания зеркал локальных дисков?
Чтобы все зеркала не вышли из строя сразу, принимать такие диски надо бы небольшими группами с нескольких машин из разных стоек. Идея показалась достойной рассмотрения, поэтому создали небольшой стенд.
https://habr.com/ru/companies/beeline_tech/articles/770174/
Технология NVMe через различные фабрики (далее NVMeOF) оформлена в качестве стандарта летом 2016 года, она была встроена в пятую ветку ядра Linux.
Поэтому, когда было решено мигрировать объемные базы данных с легаси-решений на общедоступные платформы, возник вопрос — можно ли применить эту технологию увеличения дискового пространства для создания зеркал локальных дисков?
Чтобы все зеркала не вышли из строя сразу, принимать такие диски надо бы небольшими группами с нескольких машин из разных стоек. Идея показалась достойной рассмотрения, поэтому создали небольшой стенд.
https://habr.com/ru/companies/beeline_tech/articles/770174/
❤2👍1
Список полезных команд для работы с
Основные команды
1. Подключение к удаленному хосту:
Пример:
Подключается к хосту
2. Закрытие соединения:
Чтобы завершить сессию, используйте сочетание клавиш:
Затем введите:
3. Отправка текстового запроса после подключения:
Если подключились к порту, например, HTTP-сервера, можно отправить запрос вручную:
Это выполняет запрос к домашней странице на порту 80.
Встроенные команды
1. help
Показывает список доступных команд
2. open
Открывает новое соединение с указанным хостом:
3. close
Закрывает текущее соединение:
4. display
Показывает текущие параметры подключения:
5. mode
Переключает режим работы
6. send
Отправляет управляющие символы (например,
7. status
Показывает статус текущего соединения:
8. set и unset
Настраивают параметры подключения (например, установка режима эхо):
Примеры использования
1. Проверка доступности порта:
Чтобы проверить, открыт ли порт на удаленном сервере:
2. Проверка почтового сервера (SMTP):
Подключение к серверу SMTP:
Затем можно вручную ввести SMTP-команды, такие как:
3. Проверка DNS сервера:
Можно подключиться к DNS-серверу и проверить его ответы:
Эти команды помогут вам для отладки, диагностики и проверки сетевых служб.
telnet
, которые могут помочь при подключении и отладке сетевых служб:Основные команды
telnet
:1. Подключение к удаленному хосту:
telnet <hostname> <port>
Пример:
telnet example.com 80
Подключается к хосту
example.com
на порту 80 (HTTP).2. Закрытие соединения:
Чтобы завершить сессию, используйте сочетание клавиш:
Ctrl + ] (переход в режим команд)
Затем введите:
quit
3. Отправка текстового запроса после подключения:
Если подключились к порту, например, HTTP-сервера, можно отправить запрос вручную:
GET / HTTP/1.1
Host: example.com
Это выполняет запрос к домашней странице на порту 80.
Встроенные команды
telnet
(используйте в режиме команд после нажатия `Ctrl + ]`):1. help
Показывает список доступных команд
telnet
:
telnet> help
2. open
Открывает новое соединение с указанным хостом:
telnet> open <hostname> <port>
3. close
Закрывает текущее соединение:
telnet> close
4. display
Показывает текущие параметры подключения:
telnet> display
5. mode
Переключает режим работы
telnet
(например, line
или `character`):
telnet> mode line
6. send
Отправляет управляющие символы (например,
send escape
для отправки escape-секвенции):
telnet> send escape
7. status
Показывает статус текущего соединения:
telnet> status
8. set и unset
Настраивают параметры подключения (например, установка режима эхо):
telnet> set echo
telnet> unset echo
Примеры использования
telnet
:1. Проверка доступности порта:
Чтобы проверить, открыт ли порт на удаленном сервере:
telnet <hostname> <port>
2. Проверка почтового сервера (SMTP):
Подключение к серверу SMTP:
telnet smtp.example.com 25
Затем можно вручную ввести SMTP-команды, такие как:
EHLO example.com
3. Проверка DNS сервера:
Можно подключиться к DNS-серверу и проверить его ответы:
telnet <dns-server> 53
Эти команды помогут вам для отладки, диагностики и проверки сетевых служб.
❤1
mRemoteNG
Это форк mRemote: мультипротокольный менеджер удаленных соединений с открытым исходным кодом для Windows. mRemoteNG добавляет исправления ошибок и новые функции в mRemote и позволяет просматривать все ваши удаленные соединения в простом, но мощном интерфейсе с вкладками.
Поддерживаемые протоколы:
RDP (Remote Desktop Protocol)
VNC (Virtual Network Computing)
SSH (Secure Shell)
Telnet (TELecommunication NETwork)
HTTP/HTTPS (Hypertext Transfer Protocol)
rlogin (Remote Login)
Raw Socket Connections
Powershell remoting
https://mremoteng.org/
https://github.com/mRemoteNG/mRemoteNG
Это форк mRemote: мультипротокольный менеджер удаленных соединений с открытым исходным кодом для Windows. mRemoteNG добавляет исправления ошибок и новые функции в mRemote и позволяет просматривать все ваши удаленные соединения в простом, но мощном интерфейсе с вкладками.
Поддерживаемые протоколы:
RDP (Remote Desktop Protocol)
VNC (Virtual Network Computing)
SSH (Secure Shell)
Telnet (TELecommunication NETwork)
HTTP/HTTPS (Hypertext Transfer Protocol)
rlogin (Remote Login)
Raw Socket Connections
Powershell remoting
https://mremoteng.org/
https://github.com/mRemoteNG/mRemoteNG
❤2
Более чем 80 средств мониторинга системы Linux
По ссылке будет приведен список инструментов мониторинга. Есть как минимум 80 способов, с помощью которых ваша машинка будет под контролем.
https://habr.com/ru/companies/ua-hosting/articles/281519/
По ссылке будет приведен список инструментов мониторинга. Есть как минимум 80 способов, с помощью которых ваша машинка будет под контролем.
https://habr.com/ru/companies/ua-hosting/articles/281519/
❤1
Libtree
Утилита, позволяющая получить список разделяемых библиотек (shared libraries) в виде дерева, либо в виде путей до этих библиотек в системе.
1. Скачиваем libtree:
2. Проверяем нужный нам файл:
При необходимости углубиться и получить зависимости для отображаемых библиотек просто добавляем
Отобразить полный путь до файла на сервере можно с помощью опции
По умолчанию, информация о некоторых библиотеках не выводится в libtree. Подробнее об этом в выводе команды:
https://github.com/haampie/libtree
Утилита, позволяющая получить список разделяемых библиотек (shared libraries) в виде дерева, либо в виде путей до этих библиотек в системе.
1. Скачиваем libtree:
$ wget https://github.com/haampie/libtree/releases/download/v3.0.1/libtree_x86_64 -O libtree
$ chmod +x libtree
2. Проверяем нужный нам файл:
$ ./libtree /bin/nano
/bin/nano
├── libmagic.so.1 [default path]
│ └── libz.so.1 [default path]
├── libtinfo.so.6 [default path]
└── libncursesw.so.6 [default path]
└── libtinfo.so.6 [default path]
При необходимости углубиться и получить зависимости для отображаемых библиотек просто добавляем
-v
, -vv
или -vvv
соответственно.
$ ./libtree -vvv /bin/nano
/bin/nano
├── libmagic.so.1 [default path]
│ ├── libz.so.1 [default path]
│ │ └── libc.so.6 [default path]
│ │ └── ld-linux-x86-64.so.2 [default path]
│ └── libc.so.6 [default path]
│ └── ld-linux-x86-64.so.2 [default path]
├── libc.so.6 [default path]
│ └── ld-linux-x86-64.so.2 [default path]
├── libtinfo.so.6 [default path]
│ └── libc.so.6 [default path]
│ └── ld-linux-x86-64.so.2 [default path]
└── libncursesw.so.6 [default path]
├── libtinfo.so.6 [default path]
│ └── libc.so.6 [default path]
│ └── ld-linux-x86-64.so.2 [default path]
└── libc.so.6 [default path]
└── ld-linux-x86-64.so.2 [default path]
Отобразить полный путь до файла на сервере можно с помощью опции
-p
:
$ ./libtree -p -vvv /bin/ping
/bin/ping
├── /lib64/libcap.so.2 [default path]
│ └── /lib64/libc.so.6 [default path]
│ └── /lib64/ld-linux-x86-64.so.2 [default path]
├── /lib64/libc.so.6 [default path]
│ └── /lib64/ld-linux-x86-64.so.2 [default path]
└── /lib64/libidn2.so.0 [default path]
├── /lib64/libunistring.so.2 [default path]
│ └── /lib64/libc.so.6 [default path]
│ └── /lib64/ld-linux-x86-64.so.2 [default path]
└── /lib64/libc.so.6 [default path]
└── /lib64/ld-linux-x86-64.so.2 [default path]
По умолчанию, информация о некоторых библиотеках не выводится в libtree. Подробнее об этом в выводе команды:
$ ./libtree --help
https://github.com/haampie/libtree
❤2👍1
Перенос VM с Hyper-V на Proxmox
Перенос виртуальной машины (VM) с Hyper-V на Proxmox включает несколько шагов, поскольку Hyper-V и Proxmox используют разные форматы виртуальных дисков. Hyper-V использует формат VHDX, а Proxmox предпочитает формат QCOW2 или RAW. Основная задача заключается в конвертации дисков и настройке виртуальной машины на новом гипервизоре.
📌1. Подготовка виртуальной машины в Hyper-V
1. Выключите виртуальную машину в Hyper-V.
Чтобы избежать проблем с консистентностью данных, убедитесь, что VM выключена перед экспортом.
2. Экспортируйте виртуальную машину.
Откройте Hyper-V Manager и выполните экспорт виртуальной машины:
- Выберите нужную виртуальную машину.
- Нажмите "Экспортировать" и выберите директорию для сохранения экспортированных файлов.
В результате экспорт сохранит всю конфигурацию виртуальной машины и файлы дисков (обычно в формате VHD или VHDX).
📌2. Конвертация виртуального диска
Proxmox поддерживает несколько форматов виртуальных дисков, таких как
1. Перенесите диск (VHDX/VHD) на сервер Proxmox.
Скопируйте файл виртуального диска с Hyper-V на сервер Proxmox с помощью SCP или другого метода передачи файлов.
Пример использования SCP:
2. Установите `qemu-utils` (если он не установлен).
Для конвертации используйте утилиту
3. Конвертируйте VHDX в формат QCOW2 или RAW.
Выполните команду для конвертации:
- В QCOW2:
- В RAW:
-
-
📌3. Создание новой VM на Proxmox
1. Создайте новую виртуальную машину на Proxmox.
В интерфейсе Proxmox:
- Нажмите "Создать VM".
- Укажите настройки (например, процессоры, память, сетевые адаптеры), соответствующие параметрам вашей VM на Hyper-V.
- На этапе создания жесткого диска выберите небольшой размер временного диска (он не будет использоваться).
2. Подмените созданный диск на сконвертированный.
После создания VM:
- Перейдите в директорию, где хранится диск новой VM:
- Удалите временный диск и замените его на сконвертированный диск:
3. Проверьте и отредактируйте конфигурацию виртуальной машины.
Откройте файл конфигурации VM, который находится по пути
📌4. Запуск виртуальной машины
1. Запустите виртуальную машину в Proxmox.
В интерфейсе Proxmox запустите VM и проверьте, корректно ли она работает.
2. Установите необходимые драйвера.
Если в Hyper-V VM использовала специфичные драйвера, возможно, потребуется установить новые драйвера в ОС, чтобы она корректно функционировала в Proxmox (например, драйвера для сетевого адаптера или виртуальных дисков).
Заключение
После выполнения этих шагов виртуальная машина должна корректно работать на платформе Proxmox. Если возникнут проблемы с драйверами или загрузкой системы, возможно, потребуется дополнительно настроить параметры виртуальной машины или обновить конфигурацию ОС.
Перенос виртуальной машины (VM) с Hyper-V на Proxmox включает несколько шагов, поскольку Hyper-V и Proxmox используют разные форматы виртуальных дисков. Hyper-V использует формат VHDX, а Proxmox предпочитает формат QCOW2 или RAW. Основная задача заключается в конвертации дисков и настройке виртуальной машины на новом гипервизоре.
Шаги для переноса VM с Hyper-V на Proxmox
📌1. Подготовка виртуальной машины в Hyper-V
1. Выключите виртуальную машину в Hyper-V.
Чтобы избежать проблем с консистентностью данных, убедитесь, что VM выключена перед экспортом.
2. Экспортируйте виртуальную машину.
Откройте Hyper-V Manager и выполните экспорт виртуальной машины:
- Выберите нужную виртуальную машину.
- Нажмите "Экспортировать" и выберите директорию для сохранения экспортированных файлов.
В результате экспорт сохранит всю конфигурацию виртуальной машины и файлы дисков (обычно в формате VHD или VHDX).
📌2. Конвертация виртуального диска
Proxmox поддерживает несколько форматов виртуальных дисков, таких как
QCOW2
и RAW
. Вы можете использовать утилиту qemu-img
для конвертации формата.1. Перенесите диск (VHDX/VHD) на сервер Proxmox.
Скопируйте файл виртуального диска с Hyper-V на сервер Proxmox с помощью SCP или другого метода передачи файлов.
Пример использования SCP:
scp /path/to/your/disk.vhdx user@proxmox:/var/lib/vz/images/
2. Установите `qemu-utils` (если он не установлен).
Для конвертации используйте утилиту
qemu-img
. На Proxmox по умолчанию установлена эта утилита, но если её нет, установите:
apt-get install qemu-utils
3. Конвертируйте VHDX в формат QCOW2 или RAW.
Выполните команду для конвертации:
- В QCOW2:
qemu-img convert -f vhdx -O qcow2 /path/to/your/disk.vhdx /var/lib/vz/images/VMID/vm-disk.qcow2
- В RAW:
qemu-img convert -f vhdx -O raw /path/to/your/disk.vhdx /var/lib/vz/images/VMID/vm-disk.raw
-
/path/to/your/disk.vhdx
— путь к вашему файлу VHDX.-
/var/lib/vz/images/VMID/vm-disk.qcow2
— путь, куда будет сохранен новый виртуальный диск, с указанием идентификатора VM (`VMID`).📌3. Создание новой VM на Proxmox
1. Создайте новую виртуальную машину на Proxmox.
В интерфейсе Proxmox:
- Нажмите "Создать VM".
- Укажите настройки (например, процессоры, память, сетевые адаптеры), соответствующие параметрам вашей VM на Hyper-V.
- На этапе создания жесткого диска выберите небольшой размер временного диска (он не будет использоваться).
2. Подмените созданный диск на сконвертированный.
После создания VM:
- Перейдите в директорию, где хранится диск новой VM:
/var/lib/vz/images/VMID/
.- Удалите временный диск и замените его на сконвертированный диск:
mv /path/to/vm-disk.qcow2 /var/lib/vz/images/VMID/
3. Проверьте и отредактируйте конфигурацию виртуальной машины.
Откройте файл конфигурации VM, который находится по пути
/etc/pve/qemu-server/VMID.conf
, и убедитесь, что строка с указанием диска ссылается на ваш новый файл:
scsi0: local:VMID/vm-disk.qcow2
📌4. Запуск виртуальной машины
1. Запустите виртуальную машину в Proxmox.
В интерфейсе Proxmox запустите VM и проверьте, корректно ли она работает.
2. Установите необходимые драйвера.
Если в Hyper-V VM использовала специфичные драйвера, возможно, потребуется установить новые драйвера в ОС, чтобы она корректно функционировала в Proxmox (например, драйвера для сетевого адаптера или виртуальных дисков).
Заключение
После выполнения этих шагов виртуальная машина должна корректно работать на платформе Proxmox. Если возникнут проблемы с драйверами или загрузкой системы, возможно, потребуется дополнительно настроить параметры виртуальной машины или обновить конфигурацию ОС.
❤1😁1
📌 Руководство-шпаргалка по UFW (Uncomplicated Firewall)
▪️Uncomplicated Firewall — простой интерфейс для управления
▪️Основы
▪️Разрешение и запрет трафика
▪️Расширенные параметры
▪️Политики по умолчанию
▪️Проверка и отладка
▪️Советы
- Разреши SSH до включения UFW:
- Для сервера: сначала запрети всё входящее, затем добавляй нужные порты.
- Используй
- Делай резервные копии правил (
▪️Uncomplicated Firewall — простой интерфейс для управления
iptables
в Ubuntu/Debian.▪️Основы
# Включить UFW
sudo ufw enable
# Отключить UFW
sudo ufw disable
# Проверить статус
sudo ufw status verbose
# Перезапустить (сбросить) UFW
sudo ufw reset
▪️Разрешение и запрет трафика
# Разрешить порт
sudo ufw allow 22 # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443 # HTTPS
# Разрешить диапазон портов
sudo ufw allow 1000:2000/tcp
# Запретить порт
sudo ufw deny 23 # Telnet
# Разрешить IP
sudo ufw allow from 192.168.1.100
# Разрешить IP к порту
sudo ufw allow from 10.0.0.1 to any port 22
# Запретить IP к порту
sudo ufw deny from 192.168.1.200 to any port 80
▪️Расширенные параметры
# Ограничить подключение (анти-флуд)
sudo ufw limit ssh/tcp
# Удалить правило
sudo ufw delete allow 22
# Интерфейсы и подсети
sudo ufw allow in on eth0 from 192.168.1.0/24 to any port 3306
▪️Политики по умолчанию
# Запретить всё входящее, разрешить исходящее
sudo ufw default deny incoming
sudo ufw default allow outgoing
▪️Проверка и отладка
# Сухой запуск (не применяет правила)
sudo ufw --dry-run enable
# Просмотр всех правил с номерами
sudo ufw status numbered
▪️Советы
- Разреши SSH до включения UFW:
sudo ufw allow ssh
- Для сервера: сначала запрети всё входящее, затем добавляй нужные порты.
- Используй
limit
для SSH — защита от брутфорса.- Делай резервные копии правил (
ufw status > ufw-backup.txt
).❤2
Горячие клавиши VirtualBox
Основные ярлыки в VirtualBox
Host ярлыки в VirtualBox
Alt ярлыки в VirtualBox
Основные ярлыки в VirtualBox
F1
: Отображает справку.Ctrl + D
Мы получаем доступ к виртуальному медиа-менеджеру.Ctrl + G
: Мы получаем доступ к настройкам VirtualBox.Ctrl + S
: Открываем окно настроек виртуальной машины.Ctrl + I
: Импорт виртуализированной службы.Ctrl + E
: Экспорт виртуализированной службы.Ctrl + L
: Показывает журнал событий виртуальной машины.Ctrl + N
: Создает новую виртуальную машину.Ctrl + P
: Мы приостанавливаем виртуальную машину.Ctrl + R
: Мы удаляем виртуальную машину.CTRL+Q
: Мы выходим из приложения.Ctrl + Alt + L
: Блокировка сеансаCtrl + Alt +
⬆ или ⬇: Переход между различными рабочими столамиCtrl + Alt + Shift +
⬆ или ⬇: Расположение рабочих столов, один на другом или под другим.Ctrl+Alt+ T
: Открываем новый терминалCtrl+Alt+ Tab
: Мы переключаемся между компонентами системы.Ctrl + Windows +
⬆ или ⬇: Максимизировать или минимизировать окноCtrl + Windows + D
Показать текущий рабочий стол.Host ярлыки в VirtualBox
F1
: Отображает справку.Host + F
: Вход в полноэкранный режим.Host + A
: Настройка размера окна.Host + L
: Вход в режим «fluid».Host + G
: Отключить автоматическую подгонку экрана гостя.Host + I
: Отключить интеграцию мыши.Host + S
: Создание снимка.Host + N
: Диалоговое окно информации о сеансе (это информация о машине плюс данные выполнения).Host + P
: Приостановка виртуальной машины.Host + R
: Перезапуск виртуальной машины.Host + Q
: Закрыть виртуальную машину.Host + H
: ACPI отключен.Host + Del
: Это то же самое, что нажатие Ctrl + Alt + Del
.Host + Пробел
: Отправка Ctrl + Alt + Backspace
на систему гостя (специфично для GNU / Linux).Alt ярлыки в VirtualBox
Alt+Tab
: Переключение между приложениями.Alt+Shift+Tab
: Переключение между приложениями в обратном направлении.Alt+F1
: Открытие меню поиска.Alt+F2
: Открытие окна запуска.Alt+F7
: Прокрутка окна.Alt + F8 +
⬆ или ⬇: Изменение размера окна.❤1
This media is not supported in your browser
VIEW IN TELEGRAM
RustScan – Инструмент для быстрого сканирования портов
Данный проект может похвастаться высокой скоростью работы(Сканирует все 65 тыс. портов за 3 секунды), гибкой расширяемостью и адаптивным методом работы.
https://github.com/RustScan/RustScan
Данный проект может похвастаться высокой скоростью работы(Сканирует все 65 тыс. портов за 3 секунды), гибкой расширяемостью и адаптивным методом работы.
https://github.com/RustScan/RustScan
❤1
📌 Сортировка данных в консоли
▪️ Основные команды сортировки
1️⃣ sort – основная утилита для сортировки строк в файле или потоке вывода.
▪️ Сортирует строки в алфавитном порядке.
2️⃣ sort -r – сортировка в обратном порядке.
3️⃣ sort -n – сортировка чисел.
▪️ Работает корректно с числами, учитывает их величину.
4️⃣ sort -h – сортировка с учётом суффиксов (K, M, G).
▪️ Полезно для файловых размеров: 10K, 2M, 5G.
5️⃣ sort -k – сортировка по колонке.
▪️ Здесь сортировка идёт по 2-й колонке (числовая).
6️⃣ sort | uniq – удаление дубликатов после сортировки.
▪️ Показывает только уникальные строки.
Полезный трюк: сортировка процессов по использованию памяти
▪️ Выводит топ-10 процессов по потреблению памяти.
Используйте эти команды для эффективной работы в консоли!
▪️ Основные команды сортировки
1️⃣ sort – основная утилита для сортировки строк в файле или потоке вывода.
sort файл.txt
▪️ Сортирует строки в алфавитном порядке.
2️⃣ sort -r – сортировка в обратном порядке.
sort -r файл.txt
3️⃣ sort -n – сортировка чисел.
sort -n числа.txt
▪️ Работает корректно с числами, учитывает их величину.
4️⃣ sort -h – сортировка с учётом суффиксов (K, M, G).
sort -h размер.txt
▪️ Полезно для файловых размеров: 10K, 2M, 5G.
5️⃣ sort -k – сортировка по колонке.
sort -k2,2 -n данные.txt
▪️ Здесь сортировка идёт по 2-й колонке (числовая).
6️⃣ sort | uniq – удаление дубликатов после сортировки.
sort файл.txt | uniq
▪️ Показывает только уникальные строки.
Полезный трюк: сортировка процессов по использованию памяти
ps aux --sort=-%mem | head -10
▪️ Выводит топ-10 процессов по потреблению памяти.
Используйте эти команды для эффективной работы в консоли!
❤1
Подборка часто используемых команд для первоначальной настройки устройств MikroTik: имя устройства, DNS сервера, Email, время, доступы и т.д.
Установки имени устройства
Установка своих DNS серверов и отключение получения их по DHCP
Настройка email клиента для работы с Yandex.Mail
Для корректной работы разрешите в настройках профиля авторизацию SMTP по обычному паролю или [рекомендуется] используйте пароли приложений (почта)
Настройка синхронизации времени по NTP и MikroTik Cloud Time (Москва)
Изменение количества строк системного лога
Очистка системного лога (оставляет сообщение о смене настроек лога)
Контроль доступа с IP адресов домена
Это позволяет использовать DynamicDNS для записей своего домена, и получать доступ к устройству с IP адресов, которые будут резолвится с домена. RouterOS будет сам обновлять записи и access-list при изменении записи в домене.
Обратите внимание, в конце 2 строки с move. Это сделано для того, чтобы правило корректно двигалось на первое место при включенном fasttrack (то есть первое место), а также при отключенном (на нулевое место)
Отключение ненужных служб доступа (web тоже отключается, осторожно)
Фикс MTU (нужен редко, но метко)
Заблокировать доступ к WiFi по MAC-адресу
Поместить клиента WiFi в отдельный VLAN по MAC-адресу
Настройка пароля и безопасности WiFi на default профиль
Включение пробросов портов SSH
Установки имени устройства
/system identity set name=MyHomeMikrotik
Установка своих DNS серверов и отключение получения их по DHCP
/ip dns set servers=8.8.8.8,1.1.1.1
/ip dhcp-client set [find ] use-peer-dns=no
Настройка email клиента для работы с Yandex.Mail
Для корректной работы разрешите в настройках профиля авторизацию SMTP по обычному паролю или [рекомендуется] используйте пароли приложений (почта)
/tool e-mail
set address=smtp.yandex.ru from=example@yandex.ru password=example-pass port=587 start-tls=yes user=example@yandex.ru
Настройка синхронизации времени по NTP и MikroTik Cloud Time (Москва)
/system ntp client set enabled=yes server-dns-names=time.google.com,0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org,3.pool.ntp.org
/system clock set time-zone-autodetect=no
/system clock set time-zone-name=Europe/Moscow
/ip cloud set update-time=yes
Изменение количества строк системного лога
/system logging action set memory memory-lines=10000
Очистка системного лога (оставляет сообщение о смене настроек лога)
/system logging action set memory memory-lines=1
/system logging action set memory memory-lines=10000
Контроль доступа с IP адресов домена
Это позволяет использовать DynamicDNS для записей своего домена, и получать доступ к устройству с IP адресов, которые будут резолвится с домена. RouterOS будет сам обновлять записи и access-list при изменении записи в домене.
Обратите внимание, в конце 2 строки с move. Это сделано для того, чтобы правило корректно двигалось на первое место при включенном fasttrack (то есть первое место), а также при отключенном (на нулевое место)
/ip firewall address-list
add address=access.example.con list=DomainIPsAccess
/ip firewall filter
add action=accept chain=input src-address-list=DomainIPsAccess comment="Allow DomainIPsAccess"
move [find comment="Allow DomainIPsAccess"] 1
move [find comment="Allow DomainIPsAccess"] 0
Отключение ненужных служб доступа (web тоже отключается, осторожно)
/ip service disable www,ftp,api,api-ssl,telnet
/ip service enable ssh,winbox
/ip service set ssh address=""
/ip service set winbox address=""
Фикс MTU (нужен редко, но метко)
/ip firewall mangle
add chain=postrouting out-interface-list=WAN protocol=tcp tcp-flags=syn,!ack action=change-mss new-mss=clamp-to-pmtu comment="MTU Fix" passthrough=yes
Заблокировать доступ к WiFi по MAC-адресу
/interface wireless access-list authentication=no mac-address=8A:EA:B7:2E:38:C1
Поместить клиента WiFi в отдельный VLAN по MAC-адресу
/interface wireless access-list
add interface=all mac-address=8A:EA:B7:2E:38:C1 vlan-id=99 vlan-mode=use-tag
Настройка пароля и безопасности WiFi на default профиль
/interface wireless security-profiles set default mode=dynamic
-keys authentication-types=wpa2-psk unicast-ciphers=aes-ccm group-ciphers=aes-ccm
wpa2-pre-shared-key=bigpassword
Включение пробросов портов SSH
/ip ssh set forwarding-enabled=both
👍1
Как найти количество открытых файлов в Linux
Чтобы узнать количество открытых файлов в Linux, можно воспользоваться следующими командами:
1. Использовать
Эта команда покажет общее количество открытых файлов в системе, где
2. Использовать
Этот файл содержит три числа, разделенные табуляцией:
- Первое число — текущее количество открытых файлов.
- Второе число — количество файлов, которые находятся в ожидании.
- Третье число — максимальное количество файлов, которое система может открыть.
3. Подсчитать открытые файлы для определенного процесса:
Если нужно узнать количество открытых файлов конкретного процесса, можно использовать:
Замените
4. Использовать
Замените
Чтобы узнать количество открытых файлов в Linux, можно воспользоваться следующими командами:
1. Использовать
lsof
(List Open Files) для подсчета открытых файлов в системе:
lsof | wc -l
Эта команда покажет общее количество открытых файлов в системе, где
wc -l
подсчитывает количество строк, то есть количество открытых файлов.2. Использовать
/proc/sys/fs/file-nr
для просмотра счетчика открытых файлов:
cat /proc/sys/fs/file-nr
Этот файл содержит три числа, разделенные табуляцией:
- Первое число — текущее количество открытых файлов.
- Второе число — количество файлов, которые находятся в ожидании.
- Третье число — максимальное количество файлов, которое система может открыть.
3. Подсчитать открытые файлы для определенного процесса:
Если нужно узнать количество открытых файлов конкретного процесса, можно использовать:
lsof -p PID | wc -l
Замените
PID
на идентификатор процесса, который вас интересует.4. Использовать
lsof
для подсчета открытых файлов конкретным пользователем:
lsof -u username | wc -l
Замените
username
на имя пользователя, чтобы увидеть количество открытых файлов этим пользователем.❤1
Настройка фаервола в Ubuntu с помощью утилиты UFW
UFW (Uncomplicated Firewall) — удобный интерфейс для управления политиками безопасности межсетевого экрана. Наши серверы постоянно подвергаются различным атакам или сканируются в поиске уязвимостей. Как только эти уязвимости находятся, мы рискуем стать частью ботнета, раскрыть конфиденциальные данные или потерять деньги из-за сбоев в работе веб-приложений. Одной из первых мер по снижению рисков безопасности является грамотная настройка правил межсетевого экрана. В нашем руководстве мы рассмотрим основные команды и правила работы с утилитой UFW.
UFW (Uncomplicated Firewall) — удобный интерфейс для управления политиками безопасности межсетевого экрана. Наши серверы постоянно подвергаются различным атакам или сканируются в поиске уязвимостей. Как только эти уязвимости находятся, мы рискуем стать частью ботнета, раскрыть конфиденциальные данные или потерять деньги из-за сбоев в работе веб-приложений. Одной из первых мер по снижению рисков безопасности является грамотная настройка правил межсетевого экрана. В нашем руководстве мы рассмотрим основные команды и правила работы с утилитой UFW.
❤1
📌 Шпаргалка по настройке Postfix
▪️1. Установка Postfix
Ubuntu/Debian:
CentOS/RHEL:
После установки выбрать "Internet Site" и ввести доменное имя сервера.
▪️2. Основные конфигурационные файлы
📂 /etc/postfix/main.cf – главный конфиг
📂 /etc/postfix/master.cf – управление службами
📂 /etc/postfix/virtual – виртуальные почтовые ящики
📂 /etc/aliases – почтовые алиасы
Перезапуск после изменений:
▪️3. Основные параметры в
▪️4. Разрешение отправки почты
Добавить в
▪️5. Настройка SASL (Аутентификация)
Установить SASL:
Настроить
Добавить в
Перезапустить службы:
▪️6. Настройка DKIM (Подпись почты)
Установить OpenDKIM:
Настроить Postfix (
Сгенерировать ключ DKIM:
Добавить в DNS TXT-запись для
▪️7. Настройка SPF (Защита от подмены)
Добавить в DNS TXT-запись:
Проверка SPF:
▪️8. Настройка DMARC (Доп. защита)
Добавить в DNS TXT-запись:
▪️9. Очередь почты в Postfix
Просмотр очереди:
Удалить все письма:
Перезапустить доставку писем:
▪️10. Логирование и отладка
Проверить логи почты:
Проверить конфигурацию Postfix:
▪️1. Установка Postfix
Ubuntu/Debian:
sudo apt update && sudo apt install postfix -y
CentOS/RHEL:
sudo yum install postfix -y
После установки выбрать "Internet Site" и ввести доменное имя сервера.
▪️2. Основные конфигурационные файлы
📂 /etc/postfix/main.cf – главный конфиг
📂 /etc/postfix/master.cf – управление службами
📂 /etc/postfix/virtual – виртуальные почтовые ящики
📂 /etc/aliases – почтовые алиасы
Перезапуск после изменений:
sudo systemctl restart postfix
▪️3. Основные параметры в
main.cf
myhostname = mail.example.com # Имя почтового сервера
mydomain = example.com # Доменное имя
myorigin = $mydomain # Отправитель по умолчанию
inet_interfaces = all # Разрешить работу на всех интерфейсах
inet_protocols = ipv4 # Только IPv4 (по умолчанию IPv6 тоже включен)
mydestination = $myhostname, localhost.$mydomain, localhost
relayhost = # Ретрансляция отключена
▪️4. Разрешение отправки почты
Добавить в
main.cf
:
mynetworks = 127.0.0.0/8, 192.168.1.0/24 # Разрешенные сети
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
▪️5. Настройка SASL (Аутентификация)
Установить SASL:
sudo apt install sasl2-bin -y
Настроить
/etc/default/saslauthd
:
START=yes
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
Добавить в
main.cf
:
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain = $mydomain
Перезапустить службы:
sudo systemctl restart saslauthd postfix
▪️6. Настройка DKIM (Подпись почты)
Установить OpenDKIM:
sudo apt install opendkim opendkim-tools -y
Настроить Postfix (
main.cf
):
milter_protocol = 2
milter_default_action = accept
smtpd_milters = unix:/run/opendkim/opendkim.sock
non_smtpd_milters = unix:/run/opendkim/opendkim.sock
Сгенерировать ключ DKIM:
sudo opendkim-genkey -b 2048 -d example.com -D /etc/opendkim/keys -s default -v
Добавить в DNS TXT-запись для
default._domainkey.example.com
.▪️7. Настройка SPF (Защита от подмены)
Добавить в DNS TXT-запись:
example.com TXT "v=spf1 mx ~all"
Проверка SPF:
nslookup -type=txt example.com
▪️8. Настройка DMARC (Доп. защита)
Добавить в DNS TXT-запись:
_dmarc.example.com TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"
▪️9. Очередь почты в Postfix
Просмотр очереди:
mailq
Удалить все письма:
postsuper -d ALL
Перезапустить доставку писем:
postqueue -f
▪️10. Логирование и отладка
Проверить логи почты:
sudo tail -f /var/log/mail.log
Проверить конфигурацию Postfix:
postconf -n
❤2
Как найти количество открытых файлов в Linux
Чтобы узнать количество открытых файлов в Linux, можно воспользоваться следующими командами:
1. Использовать
Эта команда покажет общее количество открытых файлов в системе, где
2. Использовать `/proc/sys/fs/file-nr` для просмотра счетчика открытых файлов:
Этот файл содержит три числа, разделенные табуляцией:
- Первое число — текущее количество открытых файлов.
- Второе число — количество файлов, которые находятся в ожидании.
- Третье число — максимальное количество файлов, которое система может открыть.
3. Подсчитать открытые файлы для определенного процесса:
Если нужно узнать количество открытых файлов конкретного процесса, можно использовать:
Замените
4. Использовать
Замените
Чтобы узнать количество открытых файлов в Linux, можно воспользоваться следующими командами:
1. Использовать
lsof
(List Open Files) для подсчета открытых файлов в системе:
lsof | wc -l
Эта команда покажет общее количество открытых файлов в системе, где
wc -l
подсчитывает количество строк, то есть количество открытых файлов.2. Использовать `/proc/sys/fs/file-nr` для просмотра счетчика открытых файлов:
cat /proc/sys/fs/file-nr
Этот файл содержит три числа, разделенные табуляцией:
- Первое число — текущее количество открытых файлов.
- Второе число — количество файлов, которые находятся в ожидании.
- Третье число — максимальное количество файлов, которое система может открыть.
3. Подсчитать открытые файлы для определенного процесса:
Если нужно узнать количество открытых файлов конкретного процесса, можно использовать:
lsof -p PID | wc -l
Замените
PID
на идентификатор процесса, который вас интересует.4. Использовать
lsof
для подсчета открытых файлов конкретным пользователем:
lsof -u username | wc -l
Замените
username
на имя пользователя, чтобы увидеть количество открытых файлов этим пользователем.❤1