Андервольтинг в Linux центрального процессора (CPU)
Андервольтинг – это процесс снижения напряжения, подаваемого на центральный процессор (CPU), с целью уменьшения тепловыделения и энергопотребления.
Для Linux отсутствует официальная программа для андервольтинга, поэтому энтузиасты нашли способы менять напряжение на процессоре методами обратной инженерии и создали свои собственные утилиты:
• undervolt
• iuvolt
• intel-undervolt
Мы рассмотрим утилиту intel-undervolt, написанную на C.
Установка intel-undervolt
Скачивание исходного кода:
Настройка и установка:
Команда для запуска программы:
Режимы программы
read: Прочитать и отобразить текущие значения
apply: Применить значения из конфигурационного файла
measure: Измерить потребление энергии
Опции: -f, --format <формат> (terminal, csv)
-s, --sleep <интервал> (интервал сна в секундах)
daemon: Запустить в режиме службы
Настройка андервольтинга
Для настройки intel-undervolt нужно изменить значения в конфигурационном файле /etc/intel-undervolt.conf:
Пример конфигурационного файла:
Пример настройки андервольтинга
Для установки андервольтинга на 25.84 мВ для кэша процессора:
Ограничение мощности
Можно задать свои значения для TDP (Thermal Design Power). TDP имеет значение на короткое и длительное время турбобуста:
Пример:
Здесь TDP установлено на 35 для короткого турбобуста (5 секунд) и на 25 для длительного турбобуста (60 секунд).
Лимит температуры
Установка предела температуры для термального троттлинга:
Если максимальная температура установлена на 100°C, то результирующий лимит будет 100 - 20 = 80°C.
Применение настроек
После изменения конфигурационного файла нужно применить настройки:
Режим службы
Для автоматического применения настроек используйте intel-undervolt-loop.service.
Измените интервал обновления в конфигурации:
Это значение в миллисекундах, по умолчанию 5 секунд.
Андервольтинг – это процесс снижения напряжения, подаваемого на центральный процессор (CPU), с целью уменьшения тепловыделения и энергопотребления.
Для Linux отсутствует официальная программа для андервольтинга, поэтому энтузиасты нашли способы менять напряжение на процессоре методами обратной инженерии и создали свои собственные утилиты:
• undervolt
• iuvolt
• intel-undervolt
Мы рассмотрим утилиту intel-undervolt, написанную на C.
Установка intel-undervolt
Скачивание исходного кода:
git clone https://github.com/kitsunyan/intel-undervolt
cd intel-undervolt/
Настройка и установка:
./configure --enable-systemd --enable-openrc
make
sudo make install
sudo systemctl daemon-reload
Команда для запуска программы:
intel-undervolt РЕЖИМ [ОПЦИИ]...
Режимы программы
read: Прочитать и отобразить текущие значения
apply: Применить значения из конфигурационного файла
measure: Измерить потребление энергии
Опции: -f, --format <формат> (terminal, csv)
-s, --sleep <интервал> (интервал сна в секундах)
daemon: Запустить в режиме службы
Настройка андервольтинга
Для настройки intel-undervolt нужно изменить значения в конфигурационном файле /etc/intel-undervolt.conf:
sudo gedit /etc/intel-undervolt.conf
Пример конфигурационного файла:
# Включение или отключение триггеров (elogind)
enable no
# CPU андервольтинг
undervolt 0 'CPU' 0
undervolt 1 'GPU' 0
undervolt 2 'CPU Cache' 0
undervolt 3 'System Agent' 0
undervolt 4 'Analog I/O' 0
# Интервал обновления демона
interval 5000
# Действия демона
daemon undervolt:once
daemon power
daemon tjoffset
Пример настройки андервольтинга
Для установки андервольтинга на 25.84 мВ для кэша процессора:
apply 2 'CPU Cache' -25.84
Ограничение мощности
Можно задать свои значения для TDP (Thermal Design Power). TDP имеет значение на короткое и длительное время турбобуста:
power package ${short_term} ${long_term}
power package ${short_term}/${time_window} ${long_term}/${time_window}Пример:
power package 35/5 25/60
Здесь TDP установлено на 35 для короткого турбобуста (5 секунд) и на 25 для длительного турбобуста (60 секунд).
Лимит температуры
Установка предела температуры для термального троттлинга:
tjoffset -20
Если максимальная температура установлена на 100°C, то результирующий лимит будет 100 - 20 = 80°C.
Применение настроек
После изменения конфигурационного файла нужно применить настройки:
sudo intel-undervolt apply
Режим службы
Для автоматического применения настроек используйте intel-undervolt-loop.service.
Измените интервал обновления в конфигурации:
interval 5000
Это значение в миллисекундах, по умолчанию 5 секунд.
👍14❤3
Вышел Wireshark 4.2.6
Версия 4.0.0 популярного сетевого инструмента была представлена 4 октября 2022 года. 15 ноября 2023 года вышла версия Wireshark 4.2.0.
Предыдущая стабильная версия анализатора была представлена 15 мая. Стабильный релиз Wireshark 1.0.0 состоялся в 2008 году.
Код проекта распространяется под стандартной общественной лицензией GPLv2.
В Wireshark 4.2.6 разработчики исправили баги и ошибки (уязвимости), обнаруженные в ходе тестирования, а также внесли изменения и дополнения в код проекта, включая обновления в поддержке протоколов:
• DHCP
• E.212
• MySQL
• NAS-5GS
• PKT CCC
• ProtoBuf
• RADIUS
• RLC-LTE
• RTP
• SIP
• SPRT
• Thrift
• Wi-SUN
11 июля 2024 года вышла стабильная версия свободного программного сетевого анализатора Wireshark 4.2.6.
Версия 4.0.0 популярного сетевого инструмента была представлена 4 октября 2022 года. 15 ноября 2023 года вышла версия Wireshark 4.2.0.
Предыдущая стабильная версия анализатора была представлена 15 мая. Стабильный релиз Wireshark 1.0.0 состоялся в 2008 году.
Код проекта распространяется под стандартной общественной лицензией GPLv2.
В Wireshark 4.2.6 разработчики исправили баги и ошибки (уязвимости), обнаруженные в ходе тестирования, а также внесли изменения и дополнения в код проекта, включая обновления в поддержке протоколов:
• DHCP
• E.212
• MySQL
• NAS-5GS
• PKT CCC
• ProtoBuf
• RADIUS
• RLC-LTE
• RTP
• SIP
• SPRT
• Thrift
• Wi-SUN
Также доработали поддержку пакетов log3gpp.
👍18
7 полезных команд в Linux
Рассмотрим еще 7 команд для эффективной работы в системе Linux.
⏺ grpck — проверка целостности информации о группах, а именно: все записи в /etc/group и /etc/gshadow имеют правильный формат и содержат допустимые данные.
⏺ halt — указание аппаратному обеспечению компьютера остановить все исполняющиеся в данный момент процессы. Основное применение — перезагрузка или выключение системы.
⏺ ifup — задействует (поднимает) сетевой интерфейс, позволяя ему передавать и получать данные.
⏺ hdparm — получение информации о жестком диске, изменении интервалов записи, настроек DMA (сокр. от «Direct Memory Access»).
⏺ ipcrm — удаление IPC-ресурсов (сокр. от «Inter-Process Communication») и связанных с ними данных.
⏺ let — вычисление арифметических выражений для переменных оболочки.
⏺ look — выводит строки, начинающиеся с заданной подстроки.
Рассмотрим еще 7 команд для эффективной работы в системе Linux.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.«vgextend <vloume_group_name> /dev/sdb».Please open Telegram to view this post
VIEW IN TELEGRAM
👍22👏4❤1
Как вывести от определённого столбца до последнего в командной строке Linux
В этом посте рассмотрим, как вывести данные с определённого столбца до последнего в командной строке Linux. Например:
• Как вывести со второго столбца до последнего
• Как вывести с третьего столбца до последнего
• Как вывести с четвёртого столбца до последнего
• Как вывести с n-го столбца до последнего
• Как вывести последний столбец
Для этих целей можно использовать команды cut и awk.
Использование команды cut
Как вывести с n-го столбца до последнего:
Используйте следующую команду, заменив «N» на номер столбца, с которого необходимо начать вывод:
Вывести со второго столбца до последнего:
Пример:
Вывести с третьего столбца до последнего:
Пример:
Вывести с четвёртого столбца до последнего:
Пример:
Использование команды awk
Как вывести с n-го столбца до последнего:
В awk вы можете использовать следующую команду:
Этот пример очистит содержимое первых трёх столбцов и покажет все колонки, начиная с четвёртого столбца.
Для удаления лишних пробелов используйте команду sed:
Или:
Вывести со второго столбца до последнего:
Примеры:
Вывести с третьего столбца до последнего:
Примеры:
Вывести с четвёртого столбца до последнего:
Примеры:
Как вывести последний столбец
Для вывода последнего столбца с помощью awk используйте команду:
Пример:
Если вы хотите обойтись без awk, используйте следующую команду:
Пример:
В этом посте рассмотрим, как вывести данные с определённого столбца до последнего в командной строке Linux. Например:
• Как вывести со второго столбца до последнего
• Как вывести с третьего столбца до последнего
• Как вывести с четвёртого столбца до последнего
• Как вывести с n-го столбца до последнего
• Как вывести последний столбец
Для этих целей можно использовать команды cut и awk.
Использование команды cut
Как вывести с n-го столбца до последнего:
Используйте следующую команду, заменив «N» на номер столбца, с которого необходимо начать вывод:
cut -fN- -d' '
Вывести со второго столбца до последнего:
cut -f2- -d' '
Пример:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | cut -f2- -d' '
Вывести с третьего столбца до последнего:
cut -f3- -d' '
Пример:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | cut -f3- -d' '
Вывести с четвёртого столбца до последнего:
cut -f4- -d' '
Пример:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | cut -f4- -d' '
Использование команды awk
Как вывести с n-го столбца до последнего:
В awk вы можете использовать следующую команду:
awk '{$1=$2=$3=""; print $0}'Этот пример очистит содержимое первых трёх столбцов и покажет все колонки, начиная с четвёртого столбца.
Для удаления лишних пробелов используйте команду sed:
awk '{$1=$2=$3=""; print $0}' | sed -r "s/^\s+//g"Или:
awk '{$1=$2=$3=""; $0=$0; $1=$1; print}'Вывести со второго столбца до последнего:
awk '{$1=""; print $0}' | sed -r "s/^\s+//g"
awk '{$1=""; $0=$0; $1=$1; print}'Примеры:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=""; print $0}' | sed -r "s/^\s+//g"
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=""; $0=$0; $1=$1; print}'Вывести с третьего столбца до последнего:
awk '{$1=$2=""; print $0}' | sed -r "s/^\s+//g"
awk '{$1=$2=""; $0=$0; $1=$1; print}'Примеры:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=$2=""; print $0}' | sed -r "s/^\s+//g"
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=$2=""; $0=$0; $1=$1; print}'Вывести с четвёртого столбца до последнего:
awk '{$1=$2=$3=""; print $0}' | sed -r "s/^\s+//g"
awk '{$1=$2=$3=""; $0=$0; $1=$1; print}'Примеры:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=$2=$3=""; print $0}' | sed -r "s/^\s+//g"
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{$1=$2=$3=""; $0=$0; $1=$1; print}'Как вывести последний столбец
Для вывода последнего столбца с помощью awk используйте команду:
awk '{print $NF}'Пример:
echo 'vddp vddpi vss cb0 cb1 cb2 cb3 ct0 ct1 ct2 ct3' | awk '{print $NF}'Если вы хотите обойтись без awk, используйте следующую команду:
rev | cut -d' ' -f1 | rev
Пример:
echo 'vddp vddpi vss' | rev | cut -d' ' -f1 | rev
🔥11👍9❤2
Что делает команда fio в Linux?
Anonymous Quiz
63%
Тестирует производительность ввода-вывода дисков
20%
Управляет файловыми системами
3%
Конфигурирует параметры сети
14%
Мониторит использование памяти
❤6👍3
Одновременное использование нескольких OpenVPN на одном сервере
Вы можете одновременно использовать несколько OpenVPN процессов на одном сервере, настроив их для работы на разных портах и предоставляя отдельные виртуальные частные сети, не пересекающиеся друг с другом.
Шаги по настройке
1️⃣ Разные порты для служб OpenVPN
Все OpenVPN службы должны использовать уникальные порты. UDP и TCP могут использовать одинаковые номера портов, если они работают на разных протоколах. Например:
2️⃣ Диапазон адресов виртуальной частной сети
В конфигурационном файле указываются разные диапазоны IP адресов для каждой службы OpenVPN:
3️⃣ Маршрутизация трафика
Включите NAT для трафика всех виртуальных частных сетей, чтобы они могли подключаться к Интернету.
Пример конфигурации файла
Проверьте настройки NAT командой:
4️⃣ Настройка статичных локальных адресов
Если вы назначаете статичные IP для клиентов, используйте уникальные имена клиентов и диапазоны IP адресов для каждой сети OpenVPN.
5️⃣ Запуск и добавление служб в автозагрузку
Используйте systemctl для управления службами OpenVPN. Например, для запуска службы с конфигурацией server-tcp.conf:
Вы можете одновременно использовать несколько OpenVPN процессов на одном сервере, настроив их для работы на разных портах и предоставляя отдельные виртуальные частные сети, не пересекающиеся друг с другом.
Шаги по настройке
Все OpenVPN службы должны использовать уникальные порты. UDP и TCP могут использовать одинаковые номера портов, если они работают на разных протоколах. Например:
2021-11-02 09:26:50 us=736094 TCP/UDP: Socket bind failed on local address [AF_INET][undef]:53: Address already in use (errno=98)
2021-11-02 09:26:50 us=736216 Exiting due to fatal error
В конфигурационном файле указываются разные диапазоны IP адресов для каждой службы OpenVPN:
server 10.8.0.0 255.255.255.0
server 10.8.1.0 255.255.255.0
server 10.8.2.0 255.255.255.0
Включите NAT для трафика всех виртуальных частных сетей, чтобы они могли подключаться к Интернету.
Пример конфигурации файла
/root/bin/vpn_route.sh:#!/bin/sh
DEV='ens3'
PRIVATE=10.8.0.0/24
sysctl net.ipv4.ip_forward=1
iptables -I FORWARD -j ACCEPT
iptables -t nat -I POSTROUTING -s $PRIVATE -o $DEV -j MASQUERADE
iptables -t nat -I POSTROUTING -s 10.8.1.0/24 -o $DEV -j MASQUERADE
iptables -t nat -I POSTROUTING -s 10.8.2.0/24 -o $DEV -j MASQUERADE
Проверьте настройки NAT командой:
iptables -L -t nat
Если вы назначаете статичные IP для клиентов, используйте уникальные имена клиентов и диапазоны IP адресов для каждой сети OpenVPN.
Используйте systemctl для управления службами OpenVPN. Например, для запуска службы с конфигурацией server-tcp.conf:
sudo systemctl start openvpn-server@server-tcp.service
systemctl status openvpn-server@server-tcp.service
journalctl -xeu openvpn-server@server-tcp.service
sudo systemctl enable openvpn-server@server-tcp.service
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤1
Релиз Linux 6.10
14 июля 2024 года Линус Торвальдс представил стабильный релиз ядра Linux 6.10.
Исходный код доступен на kernel.org, а коммит релиза — на GitHub и Makefile.
Linux 6.10 включает 14 564 исправления от 1 989 разработчиков, патч размером 41 МБ изменяет 12 509 файлов, добавлено 547 663 строки кода, удалено 312 464.
Около 41% изменений связаны с драйверами устройств, 15% — с кодом для аппаратных архитектур, 13% — с сетевым стеком, 5% — с файловыми системами и 4% касаются внутренних подсистем ядра.
Основные новшества:
⏺ Драйвер Panthor DRM для Arm Mali.
⏺ Поддержка графики Intel Xe2 и AMD ROCm/AMDKFD.
⏺ Улучшенная производительность IO_uring и AES-XTS на современных процессорах.
⏺ Поддержка Steam Deck IMU, RISC-V, и Rust.
⏺ Подсистема ntsync для игр Linux/Wine.
⏺ JIT-компилятор BPF для ARCv2.
⏺ Поддержка Rust обновлена до 1.78.0.
⏺ ARM получила Clang CFI и LPAE privileged-access-never.
⏺ OverlayFS теперь поддерживает создание временных файлов с O_TMPFILE.
Поддержка нового оборудования включает платы Radxa ROCK 3C, процессоры Intel Arrow Lake-H, ноутбуки Lenovo Thinkbook и ASUS ROG 2024, и контроллер Machenike G5 Pro.
🔥 Ожидается, что релиз Linux 6.11 состоится в середине или конце сентября 2024 года.
14 июля 2024 года Линус Торвальдс представил стабильный релиз ядра Linux 6.10.
Новая версия вышла по графику, спустя два месяца после Linux 6.9.
Исходный код доступен на kernel.org, а коммит релиза — на GitHub и Makefile.
Linux 6.10 включает 14 564 исправления от 1 989 разработчиков, патч размером 41 МБ изменяет 12 509 файлов, добавлено 547 663 строки кода, удалено 312 464.
Около 41% изменений связаны с драйверами устройств, 15% — с кодом для аппаратных архитектур, 13% — с сетевым стеком, 5% — с файловыми системами и 4% касаются внутренних подсистем ядра.
Основные новшества:
Поддержка нового оборудования включает платы Radxa ROCK 3C, процессоры Intel Arrow Lake-H, ноутбуки Lenovo Thinkbook и ASUS ROG 2024, и контроллер Machenike G5 Pro.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Логи в Linux. Модули и сервер логов
Обсудим работу с модулями в rsyslogd, интеграцию rsyslogd и journald, а также настройку центрального сервера логов.
Модули rsyslogd
Модули делают rsyslogd расширяемым и позволяют включать дополнительные функции.
В rsyslogd используются различные типы модулей:
⏺ Модули ввода (im): определяют, откуда rsyslogd будет получать сообщения.
⏺ Модули вывода (om): позволяют отправлять сообщения в разные места, например, в базы данных.
⏺ Другие модули: синтаксического анализа, модификации сообщений и т.д.
Модули позволяют поддерживать обратную совместимость с оригинальным syslog, одновременно вводя новые функции.
Пример использования модуля imfile
Модуль imfile используется для мониторинга входного файла и записи новых событий в rsyslogd.
Параметры модуля imfile
⏺ $InputFileName: Имя файла, который отслеживает модуль.
⏺ $InputFileTag: Тег, используемый при записи логов.
⏺ $InputFileStateFile: Имя файла, который rsyslog использует для внутреннего отслеживания изменений.
⏺ $InputRunFileMonitor: Параметр для запуска непрерывного мониторинга входного файла.
⏺ $InputFileFacility: Название объекта rsyslog, используемого в этом модуле.
⏺ $InputFileSeverity: Приоритет (тип сообщения), используемый при логировании.
⏺ $InputFilePollInterval: Интервал опроса входного файла.
Пример использования модуля ommysql
Модуль ommysql позволяет записывать сообщения в MySQL или MariaDB.
Для отправки сообщений в MySQL требуется немного настроек. Необходимо загрузить модуль вывода ommysql и добавить строку для отправки всех сообщений в модуль ommysql, настроенный во второй строке.
Параметры включают:
• Имя сервера базы данных.
• Название базы данных.
• Имя пользователя для подключения к базе данных.
• Пароль пользователя.
❗️ Убедитесь, что файл конфигурации защищен от несанкционированного доступа.
Обсудим работу с модулями в rsyslogd, интеграцию rsyslogd и journald, а также настройку центрального сервера логов.
Модули rsyslogd
Модули делают rsyslogd расширяемым и позволяют включать дополнительные функции.
В rsyslogd используются различные типы модулей:
Модули позволяют поддерживать обратную совместимость с оригинальным syslog, одновременно вводя новые функции.
Пример использования модуля imfile
Модуль imfile используется для мониторинга входного файла и записи новых событий в rsyslogd.
$ModLoad imfile
$InputFileName /var/log/httpd/access_log
$InputFileTag apache-access:
$InputFileStateFile state-apache-access
$InputRunFileMonitor
$InputFileFacility local1
$InputFileSeverity info
$InputFilePollInterval 30
Параметры модуля imfile
Пример использования модуля ommysql
Модуль ommysql позволяет записывать сообщения в MySQL или MariaDB.
$ModLoad ommysql
*.* :ommysql:myservername,rsyslog,dbuser,password
Для отправки сообщений в MySQL требуется немного настроек. Необходимо загрузить модуль вывода ommysql и добавить строку для отправки всех сообщений в модуль ommysql, настроенный во второй строке.
Параметры включают:
• Имя сервера базы данных.
• Название базы данных.
• Имя пользователя для подключения к базе данных.
• Пароль пользователя.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
Please open Telegram to view this post
VIEW IN TELEGRAM
😁46👍7🤬6🌚1🤣1
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.Если дело касается максимизации эффективности непрерывной интеграции, то вариантов предостаточно.
Однако наиболее известными являются:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Какая команда в Linux используется для анализа и управления приоритетами ввода-вывода процессов?
Anonymous Quiz
36%
ionice
29%
nice
13%
renice
21%
ioprio_set
👍12
Логи в Linux. Модули и сервер логов. Часть 2
Первая часть тут
Подключение journald к rsyslog
Journald отправляет сообщения в rsyslog по умолчанию. Это настроено в файле /etc/systemd/journald.conf с параметром ForwardToSyslog=yes.
В rsyslog.conf необходимы следующие строки:
Первая строка отключает прием логов через модуль imuxsocks. Вторая строка определяет имя файла состояния, который rsyslogd использует для отслеживания синхронизации между rsyslogd и journald.
Настройка удаленного логирования
Центральный сервер логов позволяет хранить сообщения на удаленном сервере, что повышает безопасность и упрощает анализ логов. Для настройки удаленного логирования:
⏺ Настройте rsyslogd на сервере для приема сообщений через модули imudp или imtcp.
⏺ Откройте соответствующий порт в файерволе.
⏺ Настройте клиентские серверы для отправки сообщений на удаленный сервер логов.
Пример настройки
На сервере для приема сообщений (server2):
На клиентском сервере (server1):
Для отправки сообщений по TCP используйте двойной @, для UDP — одинарный @.
Преимущества использования удаленного сервера логов
⏺ Безопасность: Сообщения, хранящиеся на удаленном сервере, защищены от злоумышленников.
⏺ Хранение: Больше места для хранения сообщений, возможность настройки logrotate для более длительного хранения сообщений.
⏺ Удобство: Анализ логов с одного сервера проще, чем подключение к нескольким серверам.
Первая часть тут
Подключение journald к rsyslog
Journald отправляет сообщения в rsyslog по умолчанию. Это настроено в файле /etc/systemd/journald.conf с параметром ForwardToSyslog=yes.
В rsyslog.conf необходимы следующие строки:
$OmitLocalLogging on
$IMJournalStateFile imjournal.state
Первая строка отключает прием логов через модуль imuxsocks. Вторая строка определяет имя файла состояния, который rsyslogd использует для отслеживания синхронизации между rsyslogd и journald.
Настройка удаленного логирования
Центральный сервер логов позволяет хранить сообщения на удаленном сервере, что повышает безопасность и упрощает анализ логов. Для настройки удаленного логирования:
Пример настройки
На сервере для приема сообщений (server2):
$ModLoad imtcp
$InputTCPServerRun 514
firewall-cmd --add-port=514/tcp --permanent
firewall-cmd --reload
На клиентском сервере (server1):
*.* @@адрес-сервера-server2:514
systemctl restart rsyslog
Для отправки сообщений по TCP используйте двойной @, для UDP — одинарный @.
Преимущества использования удаленного сервера логов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
Please open Telegram to view this post
VIEW IN TELEGRAM
😁32
HEX редакторы в Linux
HEX редактор (или шестнадцатеричный редактор) — это инструмент, который позволяет просматривать и редактировать двоичные файлы, отображая их содержимое в шестнадцатеричном (HEX) формате.
Эти редакторы полезны для работы с низкоуровневыми данными, такими как структуры файлов, прошивки, двоичные протоколы, и даже для отладки программного обеспечения.
Как работает HEX редактор?
HEX редакторы представляют данные в виде двух столбцов: шестнадцатеричные значения байтов и их ASCII-эквиваленты.
Это позволяет пользователям видеть как числовые, так и текстовые представления данных.
Основные функции HEX редакторов
• Просмотр и редактирование байтов: Возможность изменять отдельные байты данных.
• Поиск и замена: Поиск определённых последовательностей байтов и их замена.
• Анализ структуры файлов: Возможность видеть заголовки файлов и другие структуры.
• Работа с большими файлами: Поддержка больших двоичных файлов, что часто важно для анализа образов дисков и прошивок.
Лучшие HEX редакторы для Linux
⏺ GHex — это простой и удобный графический HEX редактор для GNOME. Он позволяет легко просматривать и редактировать двоичные файлы. Интуитивно понятный интерфейс и возможность редактирования данных в реальном времени делают его отличным выбором для пользователей, которые предпочитают работать в графической среде.
⏺ HexEdit — мощный командный HEX редактор с множеством функций. Он предлагает интерактивный интерфейс с цветовой подсветкой, что упрощает анализ данных. HexEdit поддерживает работу с большими файлами и позволяет эффективно искать и заменять последовательности байтов.
⏺ Bless — это мощный и универсальный HEX редактор с графическим интерфейсом. Bless предлагает многофункциональный интерфейс с вкладками и поддержкой плагинов, что делает его подходящим для комплексного анализа и редактирования данных. Он также хорошо справляется с большими файлами и различными типами данных.
HEX редактор (или шестнадцатеричный редактор) — это инструмент, который позволяет просматривать и редактировать двоичные файлы, отображая их содержимое в шестнадцатеричном (HEX) формате.
Эти редакторы полезны для работы с низкоуровневыми данными, такими как структуры файлов, прошивки, двоичные протоколы, и даже для отладки программного обеспечения.
Как работает HEX редактор?
HEX редакторы представляют данные в виде двух столбцов: шестнадцатеричные значения байтов и их ASCII-эквиваленты.
Например, байт с шестнадцатеричным значением 41 будет отображаться как буква 'A'.
Это позволяет пользователям видеть как числовые, так и текстовые представления данных.
Основные функции HEX редакторов
• Просмотр и редактирование байтов: Возможность изменять отдельные байты данных.
• Поиск и замена: Поиск определённых последовательностей байтов и их замена.
• Анализ структуры файлов: Возможность видеть заголовки файлов и другие структуры.
• Работа с большими файлами: Поддержка больших двоичных файлов, что часто важно для анализа образов дисков и прошивок.
Лучшие HEX редакторы для Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.Первый, с использованием команды systool. Например так:
# systool -c fc_host -v | grep «port_name»
Второй способ — просмотреть содержимое файла классов в файловой системе sys:
# cat /sys/class/fc_host/host*/port_name
0x7001639028cbeca0
0x7001639028cbefa2
0x7001639028cbf5d8
0x7001639028cbf6da
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🤔5
Настройка SSH и MOTD баннера в CentOS
Для каждого сервера полезно установить баннер, который может предупредить злоумышленников о возможных последствиях взлома, а также предоставлять важную информацию пользователям после успешной авторизации.
В CentOS есть две сущности: баннер и MOTD (Message of the Day).
Баннер отображается после ввода логина, а MOTD показывается после успешной авторизации.
Настройка SSH баннера
Создайте файл /etc/issue.net и добавьте текст вашего баннера. Например:
В файле /etc/issue.net добавьте:
********************************************
Настройка SSH для отображения баннера:
Отредактируйте конфигурационный файл SSH /etc/ssh/sshd_config:
Найдите и раскомментируйте (или добавьте) строку:
Перезапустите службу SSH, чтобы изменения вступили в силу:
Настройка MOTD
Отредактируйте файл /etc/motd для добавления сообщения дня. Например:
В файле /etc/motd добавьте:
Обновление информации:
MOTD отображается автоматически после успешного входа в систему.
Если вам нужно, чтобы информация обновлялась динамически, вы можете использовать скрипты в директории /etc/profile.d/ или отредактировать файл /etc/profile.
Пример скрипта для динамического MOTD
Создайте скрипт в директории /etc/profile.d/, который будет генерировать динамическое сообщение:
Добавьте следующий код:
Сделайте скрипт исполняемым:
Для каждого сервера полезно установить баннер, который может предупредить злоумышленников о возможных последствиях взлома, а также предоставлять важную информацию пользователям после успешной авторизации.
В CentOS есть две сущности: баннер и MOTD (Message of the Day).
Баннер отображается после ввода логина, а MOTD показывается после успешной авторизации.
Настройка SSH баннера
Создайте файл /etc/issue.net и добавьте текст вашего баннера. Например:
sudo nano /etc/issue.net
В файле /etc/issue.net добавьте:
************************************************
* WARNING: Unauthorized access is prohibited *
* and will be prosecuted to the full extent *
* of the law. *
********************************************
Настройка SSH для отображения баннера:
Отредактируйте конфигурационный файл SSH /etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config
Найдите и раскомментируйте (или добавьте) строку:
Banner /etc/issue.net
Перезапустите службу SSH, чтобы изменения вступили в силу:
sudo systemctl restart sshd
Настройка MOTD
Отредактируйте файл /etc/motd для добавления сообщения дня. Например:
sudo nano /etc/motd
В файле /etc/motd добавьте:
Welcome to the server!
Unauthorized access is prohibited.
Обновление информации:
MOTD отображается автоматически после успешного входа в систему.
Если вам нужно, чтобы информация обновлялась динамически, вы можете использовать скрипты в директории /etc/profile.d/ или отредактировать файл /etc/profile.
Пример скрипта для динамического MOTD
Создайте скрипт в директории /etc/profile.d/, который будет генерировать динамическое сообщение:
sudo nano /etc/profile.d/motd.sh
Добавьте следующий код:
#!/bin/bash
echo "Welcome to the server!"
echo "Current system date and time: $(date)"
echo "System load: $(uptime)"
echo "Logged in users: $(who)"
Сделайте скрипт исполняемым:
sudo chmod +x /etc/profile.d/motd.sh
👍21😁1🥴1
Сбой в Windows на ПК и серверах после обновления CrowdStrike затронул IT-инфраструктуру компаний, банков и аэропортов
18 и 19 июля 2024 года системные администраторы и корпоративные пользователи столкнулись с нерабочими ПК и серверами на Windows.
Инцидент произошёл глобально, затронув IT-инфраструктуру многих компаний, банков и аэропортов.
Проблема и последствия
Глава CrowdStrike Джордж Куртц заявил, что проблема была "выявлена, изолирована и исправлена", и был запущен процесс устранения неполадок.
Сбой затронул "все продукты Microsoft", что привело к нарушению работы банков, коммунальных предприятий, СМИ, ТВ, сотовой связи и интернет-провайдеров. Гражданская авиация многих стран приостановила полеты.
Действия системных администраторов
Системные администраторы начали экстренно отключать сервера с CrowdStrike.
Также временным решением стало переименование папки "c:\windows\system32\drivers\crowdstrike".
Временные решения от CrowdStrike:
1️⃣ Загрузка Windows в безопасном режиме или Windows Recovery Environment.
2️⃣ Удаление файла:
"C-00000291*.sys" в директории "C:\Windows\System32\drivers\CrowdStrike".
3️⃣ Изменение значения параметра реестра Windows 10:
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CSAgent" с 1 на 4.
⚡️ CrowdStrike и Microsoft продолжают работать над устранением проблемы. Microsoft сообщает о постепенной стабилизации ситуации после многочисленных жалоб на проблемы с доступом к сервисам компании.
18 и 19 июля 2024 года системные администраторы и корпоративные пользователи столкнулись с нерабочими ПК и серверами на Windows.
После обновления ИБ-приложения CrowdStrike начали возникать синие экраны смерти (BSOD) и бесконечные перезагрузки (Boot Loop).
Инцидент произошёл глобально, затронув IT-инфраструктуру многих компаний, банков и аэропортов.
Проблема и последствия
Глава CrowdStrike Джордж Куртц заявил, что проблема была "выявлена, изолирована и исправлена", и был запущен процесс устранения неполадок.
Сбой затронул "все продукты Microsoft", что привело к нарушению работы банков, коммунальных предприятий, СМИ, ТВ, сотовой связи и интернет-провайдеров. Гражданская авиация многих стран приостановила полеты.
Действия системных администраторов
Системные администраторы начали экстренно отключать сервера с CrowdStrike.
После этого ПК, IP-телефония и другие системы у корпоративных пользователей снова заработали.
Также временным решением стало переименование папки "c:\windows\system32\drivers\crowdstrike".
Временные решения от CrowdStrike:
"C-00000291*.sys" в директории "C:\Windows\System32\drivers\CrowdStrike".
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CSAgent" с 1 на 4.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁17👍5👎1😱1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁17
🤷♂️ Microsoft выпустила инструмент для исправления BSOD в Windows из-за CrowdStrike с помощью загрузочного USB-накопителя
Microsoft выпустила вспомогательный инструмент для системных администраторов для исправления BSOD в Windows 10/11 из-за некорректного обновления ПО CrowdStrike с помощью загрузочного USB-накопителя и скрипта MsftRecoveryToolForCS.ps1.
Восстановление IT-систем клиентов может занять недели, так как администраторам приходится вручную возвращать к жизни ПК, серверы и ноутбуки.
Инструмент Microsoft Recovery Tool помогает обойти необходимость загрузки ПК в безопасном режиме и запуска процесса удаления проблемного файла вручную.
⏺ Он загружает среду Windows PE через USB-накопитель, получает доступ к диску поражённого компьютера и автоматически удаляет проблемный файл CrowdStrike.
Если диск защищён шифрованием BitLocker, инструмент запросит ключ восстановления.
Глава CrowdStrike Джордж Куртц заявил, что проблема вызвана логической ошибкой в файле обновления C-00000291-*.sys, затронувшей только хосты Windows.
👀 Microsoft также выпустила пошаговые инструкции для системных администраторов под названием KB5042421 для решения этой проблемы.
Microsoft выпустила вспомогательный инструмент для системных администраторов для исправления BSOD в Windows 10/11 из-за некорректного обновления ПО CrowdStrike с помощью загрузочного USB-накопителя и скрипта MsftRecoveryToolForCS.ps1.
Ранее CrowdStrike выпустила патч для исправления ошибки, но большинство ПК не могут автоматически получить его из-за своего нерабочего состояния.
Восстановление IT-систем клиентов может занять недели, так как администраторам приходится вручную возвращать к жизни ПК, серверы и ноутбуки.
Инструмент Microsoft Recovery Tool помогает обойти необходимость загрузки ПК в безопасном режиме и запуска процесса удаления проблемного файла вручную.
Если диск защищён шифрованием BitLocker, инструмент запросит ключ восстановления.
Microsoft сообщила, что глобальный сбой затронул не менее 8,5 млн устройств.
Глава CrowdStrike Джордж Куртц заявил, что проблема вызвана логической ошибкой в файле обновления C-00000291-*.sys, затронувшей только хосты Windows.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁21👍5
Что такое chroot jail и как этим пользоваться?
Chroot (сокращение от "change root") — это операция Unix, которая изменяет видимый корневой каталог на тот, который задан пользователем.
Эта операция широко известна как chroot jail, поскольку процессы не могут читать или писать вне нового корневого каталога.
Для чего используется chroot jail?
Chroot jail используется для создания ограниченной «песочницы» для запуска процесса, что означает, что процесс не может изменять данные за пределами предписанного дерева каталогов.
Другим применением chroot jail является замена виртуальных машин, что называется виртуализацией на уровне ядра.
Создайте новый каталог с именем chroot_jail:
Если попытаться использовать chroot на этом каталоге, возникнет ошибка. Необходимо включить команду bash.
Создайте новое дерево подкаталогов внутри chroot_jail:
Скопируйте команды bash и ls:
Если у команды есть псевдоним, используйте unalias [command].
Добавьте все связанные библиотеки:
Скопируйте соответствующие библиотеки:
Измените корневой каталог на chroot_jail:
Запустится новый экземпляр оболочки bash. Используйте команду ls для вывода списка всех файлов и каталогов в новом корневом дереве каталогов:
Завершите использование новой корневой папки, выйдя из оболочки:
Chroot (сокращение от "change root") — это операция Unix, которая изменяет видимый корневой каталог на тот, который задан пользователем.
Любой процесс, который вы запускаете после операции chroot, имеет доступ только к новому определенному корневому каталогу и его подкаталогам.
Эта операция широко известна как chroot jail, поскольку процессы не могут читать или писать вне нового корневого каталога.
Для чего используется chroot jail?
Chroot jail используется для создания ограниченной «песочницы» для запуска процесса, что означает, что процесс не может изменять данные за пределами предписанного дерева каталогов.
Другим применением chroot jail является замена виртуальных машин, что называется виртуализацией на уровне ядра.
Создайте новый каталог с именем chroot_jail:
mkdir chroot_jail
Если попытаться использовать chroot на этом каталоге, возникнет ошибка. Необходимо включить команду bash.
Создайте новое дерево подкаталогов внутри chroot_jail:
mkdir -p chroot_jail/bin chroot_jail/lib64/x86_64-linux-gnu chroot_jail/lib/x86_64-linux-gnu
Скопируйте команды bash и ls:
cp $(which ls) chroot_jail/bin/
cp $(which bash) chroot_jail/bin/
Если у команды есть псевдоним, используйте unalias [command].
Добавьте все связанные библиотеки:
ldd $(which bash)
ldd $(which ls)
Скопируйте соответствующие библиотеки:
cp /lib/x86_64-linux-gnu/libtinfo.so.6 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libdl.so.2 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libc.so.6 chroot_jail/lib/x86_64-linux-gnu/
cp /lib64/ld-linux-x86-64.so.2 chroot_jail/lib64/
cp /lib/x86_64-linux-gnu/libselinux.so.1 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libpcre2-8.so.0 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libpthread.so.0 chroot_jail/lib/x86_64-linux-gnu/
Измените корневой каталог на chroot_jail:
sudo chroot chroot_jail
Запустится новый экземпляр оболочки bash. Используйте команду ls для вывода списка всех файлов и каталогов в новом корневом дереве каталогов:
ls -R
Завершите использование новой корневой папки, выйдя из оболочки:
exit
👍26