ИТ-заметки: субъективно
56 subscribers
23 photos
203 links
ИТ заметки по Network, Ops, DevOps

🔗 it.mxav.ru
Download Telegram
Как вывести виртуальную машину Proxmox из error state?

Из-за различный ситуаций виртуальная машина, которая находится в общей HA-группе или нет, может улететь в ошибку. Чтобы изменить её состояние можно на узле сделать:
ha-manager set vm:<VMID> --state disabled


#proxmox@itmxav

🔗 На сайте
Как перейти в chroot и запустить инициализацию Linux?

Когда ломается система на Linux и она зависает при загрузке, то иногда полезно попробовать запуститься через chroot и посмотреть на каком шаге всё ломается при загрузке.
1. Запускаемся с Live-CD сервер.
2. Монтируем нужный раздел, посмотрев всё предварительно через blkid, fdisk -l. Например, sda2
mount /dev/sda2 /путь/к/точке/монтирования

2. Создаем временную папку, которая будет новым корнем и заходим в нее
# mkdir /путь/к/новому/корню; cd /путь/к/новому/корню

3. Мониторуем каталоги для chroot
# mount -t proc proc proc/
# mount -t sysfs /sys sys/
# mount --rbind /dev dev/

Дополнительная информация:
Если нужен раздел run, то можно примонтировать вот так
mount --rbind /run run/

Если у есть UEFI, то надо примонтировать ещё
mount --rbind /sys/firmware/efi/efivars sys/firmware/efi/efivars/

Для работы по сети копируем resolv.conf
cp /etc/resolv.conf etc/resolv.conf

4. Пробуем зайти в оболочку
chroot /путь/к/новому/корню /bin/bash

5. Запускаем инициализацию/
make-initrd

или
make-initrd --kernel=`uname -r`

или можно полный путь указать к ядру вместо uname -r.

Чтобы всё размонтировать
umount --recursive /путь/к/новому/корню


#linux@itmxav

🔗 На сайте
Как включить fast boot при загрузке в Linux?

Иногда бывают ситуации, когда при загрузке нужно быстрее передать управление ОС. Например, проигнорировать тестирование разных устройств перед загрузкой. Это можно сделать добавив в GRUB параметр fastboot.
1. В процессе загрузки GRUB нажимает e
2. Ищем строчку наподобие
linux  /boot/vmlinuz root=UUID=..... panic=30 splash

3. В конце через пробел добавляем fastboot
linux  /boot/vmlinuz root=UUID=..... panic=30 splash fastboot 

4. Загружаемся

#linux@itmxav

🔗 На сайте
Не открываются настройки на Ubuntu или can't load libspa-support

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

При вызове gnome-control-center вылетела ошибка
can't load /usr/lib/x86_64-linux-gnu/spa/support/libspa-support.so: /usr/lib/x86_64-linux-gnu/spa/support/libspa-support.so: cannot open shared object file: No such file or directory
Segmentation fault (core dumped)


Нечто похожее нашел bugs.launchpad.net
Помогла установка pipewire, в которой и был нужный файл.
apt install pipewire 


#linux@itmxav

🔗 На сайте
Из списка мэйнтейнеров ядра Linux удалено 11 участников, которые предположительно из РФ [Новости]

Наверно, многим известно уже про эту новость. В какой-то момент при обсуждении ситуации появился Линус. И вот что отметил в одном из писем
I'm Finnish. Did you think I'd be *supporting* Russian aggression? Apparently it's not just lack of real news, it's lack of history knowledge too.

На это прекрасное знание истории ему ответил Ivan Epifanov
As an avid history lover, you've seem to forgot, that Finland fought on Nazi side.
So yeah, we're well aware you don't like Russians, unless they're in concentration camps.
Which is exactly what you do now: segragate, based on nationality. Strip of credits and names.

Наверно, понятно, что аполитичности сообщества ядра нет. Политика там идет в полный рост. Можно, конечно, поразмышлять или пофантазировать кто на кого влияет и что будет в дальнейшем, но что-то мне подсказывает, что в ближайшем будущем будет много интересного в мире ИТ.

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

#разное@itmxav

🔗 На сайте
Как посмотреть загрузку процессора (CPU) на Cisco?

Иногда бывает нужно посмотреть какие процессы грузят Cisco. Сделать это можно следующим образом:

# sh processes cpu | exclude 0.00


Выводим весь список процессов и убираем тех, кто потребляет 0.

#cisco@itmxav

🔗 На сайте
1
Как настроить chroot для sftp (OpenSSH)?

Часто может требоваться настроить доступ так, чтобы пользователь не мог ходить по всей системе при подключении по sftp. Также возможность подключения по ssh для этого пользователя может не требоваться.

Для того чтобы настроить chroot надо сделать следующее :
1. Открываем /etc/ssh/sshd_conf
nano /etc/ssh/sshd_conf 

2. Найти строчку относительно sftp. Закомментировать её и добавить ниже новую, чтобы использовался встроенный sftp-сервер
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp -f AUTH -l VERBOSE

3. Переходим в конец файла и добавляем
Match user usertest
ChrootDirectory /home
ForceCommand internal-sftp -d /usertest
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no

В случаем подключения пользователя usertest попадаем в домашнюю папку /home/usertest.
На всякий случай можно отключить переадресацию агентов (AllowAgentForwarding), портов SSH (AllowTcpForwarding), возможность графических интерфейсов X11 программ (X11Forwarding) и возможности туннелирования (PermitTunnel), если глобально что-то включено. ForceCommand internal-sftp говорит о том, что можно использовать только встроенный sftp.
В ChrootDirectory можно указывать не только конкретный каталог, но переменную %h (home directory).
Если же необходимо на группу пользователей сделать, то
Match group ugroupsftp
ChrootDirectory /home
ForceCommand internal-sftp -d %u
AllowTcpForwarding no
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no

Вместо пользователя указываем нужную группу и папку для ChrootDirectory, в данном случае home. %u - параметр для папки пользователя, если она совпадает с именем.
Т. е. сначала идет подключение в ChrootDirectory, а потом автоматический переход в папку пользователя /home/usertest

4. Важный момент! Чтобы всё работало необходимо установить правильные права на папки:

/home и ветка выше, если не home, должна принадлежать пользователю root и группе root.
/home/usertest должна принадлежать пользователю usertest и группе usertest, а также установлены права "drwxr-x---" или более низкие. Это для того, чтобы другие пользователи не заходили в домашнюю папку, если их нет в группе конкретного пользователя.

5. Далее проверяем конфигурацию
sshd -t 

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

6. Перечитываем конфигурацию sshd
systemctl reload sshd


#linux@itmxav

🔗 На сайте
Как отправить логи с Cisco Nexus на сервер логирования?

Система NXOS отличается от IOS. Настройка отправки логов на сервер логирования в Cisco Nexus происходит иначе:

1. Указываем, что надо отправлять логи на сервер
logging server 192.168.0.1 6 use-vrf default facility syslog


192.168.0.1 - пример IP-адреса сервера логирования.
6 - это уровень логов, которые надо отправлять
use-vrf default - VRF по умолчанию. Если вы на Nexus настраивали что-то с VRF, то надо это учитывать.
facility syslog - объект, который будет использоваться для отправки логов.

2. Указываем через какой интерфейс (например, 1/16) будут отправляться логи:
logging source-interface Ethernet1/16

3. Дополнительная конфигурация. Устанавливаем отправку команд в aaa на уровне 6, чтобы записи отправлялись на сервер логирования:
logging level aaa 6

4. Проверяем логи на сервере логирования через систему логирования и tcpdump/wireshark, что логи доходят. Сохраняем текущий конфиг в startup-config:
copy running-config startup-config


#cisco@itmxav
#сети@itmxav

🔗 На сайте

📝 Другие заметки по Cisco Nexus:
- Как задать часовой пояс в Cisco Nexus?
- Ошибка Oxidized "Timeout::Error with msg execution expired" и Cisco Nexus
Как решить проблему multiline при отправке логов со Squid в Graylog?

Иногда бывает, что при отправки логов со Squid прилетает множество строчек пачкой, хотя должно было прилетать и обрабатываться по одной строчке. Такое возникает когда пытаются настроить отправку по UDP. Если же настроить отправку по TCP, то проблема множеством строк пропадает.

Вариант настройки может быть такой:
1. Раскомментируем или создаем, например, вот такой формат логов:
logformat squid %{%Y.%m.%d/%H:%M:%S}tl %ts.%03tu %6tr %>a:%>p %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a:%<p %mt %<Hs

2. Указываем как и куда отправлять логи:
access_log tcp://192.168.0.1:19302 squid

Здесь мы указываем, что надо отправлять логи в формате squid по TCP на сервер 192.168.0.1 на порт 19302.

3. Проверяем конфиг Squid
clear;squid -k parse

4. Если всё нормально, что перечитываем конфиг
systemctl reload squid.service

5. На сервере с Graylog проверяем при помощи tcpdump/wireshark, что пакеты с логами доходят.

6. Настраиваем альтернативный вариант Input для 19302 с указанием, что это Raw/Plaintext TCP. Проверяем, что логи обрабатываются Graylog'ом.

#graylog@itmxav
#мониторинг@itmxav

🔗 На сайте

📝 Другие заметки по Graylog:
- Как установить Graylog 5.2?
- Как настроить Syslog на Cisco ASA 5500 серии?
- Zelax не отправляет логи в Graylog
Как проверить конфигурацию ProFTPD?

Краткая заметка. Чтобы проверить конфигурационный файл ProFTPD на ошибки можно запустить команду:
proftpd -td5

или
$ sudo proftpd -t


#linux@itmxav

🔗 На сайте
Некорректное отображение файлов и папок при подключении по ftp/sftp к ProFTPD

Если у вас некорректно отображаются файлов и папки при подключении по ftp/sftp к ProFTPD. Т.е. в названии папок и файлов дата+само название, то необходимо прописать в конфиге /etc/proftpd/proftpd.conf в самом начале переменную:
Unsetenv LANG

Проверить конфиг
$ sudo proftpd -t

и перечитать конфиг. Если ubuntu, то например
$ sudo service proftpd reload


#linux@itmxav

🔗 На сайте
🎄С наступающим 2025 годом! 🎄

В наступающем году желаю разумных решений, достижения своих целей, побольше интересных проектов, беспроблемных апгрейдов и поменьше "мутной" бюрократии! 😁

Успехов и отличного настроения! 🎅
Как настроить ProFTPD для подключения SSHFS по ключам?

Бывает возникают ситуации, что необходимо настроить ProFTPD только к определенной области каталогов пользователю для sshfs по ключам. Основную настройку ProFTPD не будет описавать, т.к. она стандартная. Отмечу только некоторые моменты:
0. Некоторые моменты:
Пример chroot-папки для конкретного пользователя
DefaultRoot     /home/user123 user123

Хорошо бы чтобы были ограничения по пользователям
<Limit LOGIN>
DenyALL
AllowUser user123
</Limit>


1. Далее настраиваем sftp
<IfModule mod_sftp.c>
SFTPEngine on
SFTPHostKey /etc/ssh/ssh_host_dsa_key
SFTPHostKey /etc/ssh/ssh_host_rsa_key
SFTPLog /var/log/proftpd/sftp.log
SFTPCompression delayed
SFTPAuthMethods password publickey #способ проверки по пароли, по ключам
SFTPAuthorizedUserKeys file:/etc/proftpd/authorized_keys/%u
</IfModule>

Да, в параметре SFTPAuthorizedUserKeys надо указать переменную %u. Это надо для проверки ключа конкретного пользователя через его имя.

2. В директории /etc/proftpd/authorized_keys/ создаем файл с именем пользователя, например, при помощи редактора nano, и закидываем туда публичный ключ
cd /etc/proftpd/authorized_keys/
nano user123

Ключ в виде
---- BEGIN SSH2 PUBLIC KEY ----
AA...
...
...
---- END SSH2 PUBLIC KEY ----

3. Проверяем конфиг и если всё нормально, то перечитываем конфигурацию proftpd.
proftpd -td5
systemctl reload proftpd.service

4. Пробуем подключиться
sshfs user123@IP-address-server:/ /куда/примонтировать

Отмонтироваться можно так
fusermount -u /куда/примонтировали


#linux@itmxav

🔗 На сайте

📝 Другие заметки по ProFTPD:
- Как проверить конфигурацию ProFTPD?
- Некорректное отображение файлов и папок при подключении по ftp/sftp к ProFTPD
Как установить терминальный сервер X2Go на Debian?

Для работы с терминальным сервером необходимо на серверной стороне устновить среду и серверную часть x2go. В качестве среды будет использоваться XFCE:

1. Можно установить базовый набор пакетов:
sudo apt-get install xfce4

Или полный набор (включает текстовый редактор, веб-браузер и т.д.)
sudo apt-get install task-xfce-desktop

2. Далее ставим X2Go:
sudo apt-get install x2goserver x2goserver-xsession

Базовых параметров достаточно.
3. Переходим на клиентскую машину. В качестве примера машина с дистрибутивом debian-base
sudo apt-get install x2goclient

Подробнее про клиента можно почитать в документации.
4. Запускаем клиент. Создаем новую сессию, вводим адрес сервера, имя пользователя, порт SSH, указываем в типе сессии XFCE и подключаемся.
При успешном подключении откроется рабочий стол.
Далее в клиенте, в настройке сессии, можно подобрать вручную настройки для более удобной работы, если это необходимо.

Посмотреть:
🎬 На Youtube
🎬 На Rutube

#linux@itmxav
#fasthowto@itmxav

🔗 На сайте
С днем бэкапа! 🥳

Надеюсь, что скоро доберусь до новых записей.
Накопился материал 😊

#разное@itmxav
👍1
Как отписаться от компаний на Хабре?

Мне надо было отписаться от некоторых компаний на Хабре, которые перестали активничать и убрали записи. Сделать это можно через настройки подписок, но почему-то странно вынесена кнопка настройки подписок. Она находится в разделе «Моя лента → Подписки», хотя мне казалось, что она должна находиться в профиле. Либо можно перейти прямо по ссылке https://habr.com/ru/feed/settings/

#разное@itmxav

🔗 На сайте
Драйвера для Xerox WorkCenter M115 и Ubuntu

Столкнулся с проблемой и простым её решением. Если есть Xerox WorkCenter M115 или схожие модели, то хочется поставить правильные драйвера под эту модель, иначе нормально печатать ничего не будет. Найдя специальный драйвер под конкретно этот Xerox, неожиданно, ничего не заработало. Т. е. как нормально не печатало, так и не печатает, хотя начал показываться уровень чернил.
Если же поставить просто «Generic PCL Laser Printer», то всё нормально начало отрабатывать и показывать уровень чернил.

#linux@itmxav
#разное@itmxav

🔗 На сайте
Как подключиться по OpenVPN через терминал на Linux не вводя логин и пароль?

Здесь нет информации по настройке VPN для обхода блокировок 😊
Иногда хочется пропустить момент с вводом пароля при установлении соединения к компьютерной сети по OpenVPN через терминал для решения своих рабочих задач. Вариант решения может быть такой:
1. Создается текстовый файл под нужным пользователем
touch passw

и в него записываются в каждой строке
Login
Password

2. Файлу выставляются права только на чтения
chmod 400 passw

3. В файле .ovpn устанавливаются нужны параметры. Добавляем или изменяем параметр auth-user-pass и указываем путь к файлу:
auth-user-pass /path/to/file/passw

Пишут, что можно ещё вот такую конструкцию добавить, но не проверял
<auth-user-pass>
Login
Password
</auth-user-pass>

4. Далее через терминал осуществляется установка соединения
sudo openvpn --config YOUR_FILE.ovpn


#linux@itmxav

🔗 На сайте
👍1
Ошибка %ETHPORT-4-IF_SFP_WARNING: Interface EthernetX/X, Low Voltage на Cisco Nexus

Ошибка %ETHPORT-4-IF_SFP_WARNING: Interface EthernetХ/Х, Low Voltage Warning cleared на коммутаторе Cisco Nexus указывает на то, что c модулем SFP или QSFP на интерфейсе EthernetX/X были проблемы с напряжением (оно было низким), но потом они решились.

Если подробнее посмотреть на сообщение то:
%ETHPORT-4-IF_SFP_WARNING - код ошибки и уровень важности. Уровень 4 обычно означает предупреждение (warning);
Interface EthernetХ/Х - указывает на конкретный интерфейс, где произошла проблема;
Low Voltage Warning cleared - означает, что предупреждение о низком напряжении было снято, т.е. ситуация нормализовалась.

В любом случае сообщение говорит о том, что модуль SFP/QSFP может работать некорректно при низком напряжении. Причины могут быть разные:
- модуль SFP/QSFP неправильно подключен или поврежден;
- проблемы с питанием на самом коммутаторе;
- проблемы с кабелем или соединением.

Т.к. проблема была снята (судя по сообщению), то это была временная проблема. Если такое повторяется, то необходимо дополнительно понаблюдать за тем что происходило в этот период времени. Варианты проверок:
- проверить, что модуль правильно подключен и не поврежден;
- попробовать заменить модуль на новый, чтобы исключить его как источник проблемы;
- проверьте физическое подключение (вдруг кто-то криворукий подключал): проверить, что кабель правильно подключен и не поврежден; проверьте состояние соседнего порта, если оно есть;
- посмотреть логи и статус интерфейса :
show interface EthernetХ/Х -  информации о состоянии интерфейса;
show logging - просмотре всех логов;
show interface transceiver detail - состояние SFP/QSFP

- проверить блоки питания коммутатора. Вдруг какой-то вышел из строя.

#cisco@itmxav

🔗 На сайте

📝 Другие заметки по Cisco:
- Ошибка %ADJ-3-RESOLVE_REQ на Cisco 3560-X
- Как отправить логи с Cisco Nexus на сервер логирования?
- Как посмотреть информацию о critical на Cisco ASR1001?
- Как посмотреть загрузку процессора (CPU) на Cisco?
Как конвертировать публичный ключ SSH в формат RFC4716?

Иногда бывает нужно перевести публичный ключ SSH в формат RFC4716 (например, для ProFTPD). Сделать это можно следующим образом:
ssh-keygen -ef ~/.ssh/id_rsa.pub > ~/path/to/file/id_rsa.pub


#devops@itmxav

🔗 На сайте

📝 Другие заметки по ProFTPD:
- Как проверить конфигурацию ProFTPD?
- Некорректное отображение файлов и папок при подключении по ftp/sftp к ProFTPD