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

🔗 it.mxav.ru
Download Telegram
Как отключить уведомление "Вы должны войти в эту сеть перед тем как сможете получить доступ в Интернет" (отключение поддержки Captive portal) в Mozilla Firefox?

Это сообщения является частью механизма Captive portal. Если оно мешает, то его можно отключить следующим способом:

1. В адресной строке браузера надо прописать about:config и нажать "Принять риск".
2. Находим параметр network.captive-portal-service.enabled и меняем его значение на false.

После этого сообщение не будет появляться.

#разное@itmxav

🔗 На сайте
Баг или фича c localhost при скачивании файлов в RocketChat (snap)

Наткнулся на странный баг или фичу в RocketChat после очередного обновления через snap. Плюс на входе nginx, который проксирует запросы. Можно было бы через docker всё поднять, но пока что через snap развернуто всё. После того как RocketChat перезапустился, то он просит, после входа в систему, изменить или подтвердить данные по адресу (домену). Нажимаю кнопку чтобы была привязка к домену, как и было. В итоге подключиться можно, но если попытать скачать файл, то вместо домена подсовывается localhost. Если скопировать ссылку, закинуть её в браузер и поменять localhost на нужный домен, то файл скачивается. После пары экспериментов нашел вывел алгоритм действия:
0. Создать отдельного пользователя с правами админа Workspace'a.
1. Через браузер заходим в RocketChat под пользователем с правами админа.
2. Нажимаем "update config" в появившемся окне.
3. В новом появившемся окне выбираем кнопку для изменения параметров и указываем нужный адрес (домен).
4. В новом окне кнопку "upgrade config" не трогаем и выходим из системы.

Есть ещё интересный момент. Если после входа в RocketChat под админом перекидывает на страницу с мастером настройки, то пару раз нажимаем Backspace и оказывается уже в самом RocketChat. Возможно, это приколы только в варианте со snap, но всё же.

#devops@itmxav

🔗 На сайте

📝 Другие заметки по RocketChat:
- Как исправить apparmor DENIED в snap.rocketchat-server.rocketchat-mongo?
- Как сделать резервное копирование данных rocketchat server?
- Как обновить Rocket.chat через snap?
- Как сбросить пароль RocketChat (admin) SNAP?
Как перенести (backup and restore) Pritunl?

Здесь нет информации по настройке VPN для обхода блокировок 😊
Иногда требуется сделать резервную копию Pritunl и быстро восстановить/поднять в новом месте, чтобы рабочие процессы не простаивали. Лучше чтобы версия ПО была одинакова на всех серверах, чтобы уменьшить возникновение ошибок.

Бэкап:
1. Бэкапим нужную базу через mongodump
mongodump --db=pritunl

2. Архивируем
tar cf pritunldb.tar dump

3. Перекидываем на нужный сервер любым удобным способом

Восстановление:
1. Заходим в mongosh и смотрим базу, если она есть
mongosh
show dbs

2. Если есть, то удаляем
use pritunl
db.dropDatabase()

3. Распаковываем архив
tar xf pritunldb.tar

4. Восстанавливаем забэкапенную базу из папки
mongorestore --db=pritunl pritunl

5. Заходим в WEB-интерфейс, правим IP-адреса, если нужно, и проверяем работу.

#devops@itmxav

🔗 На сайте
Certbot. Как удалить ненужный сертификат от Let's Encrypt на Linux?

Удалить информацию с серверов Let's Encrypt:
certbot revoke --cert-path /etc/letsencrypt/live/CERTNAME/cert.pem

Удалить сертификаты и все симлинки на локальном сервере:
certbot delete --cert-name example.com

Если скачанный certbot, то в папке certbot:
./certbot-auto revoke --cert-path /etc/letsencrypt/live/CERTNAME/cert.pem
./certbot-auto delete --cert-name example.com


#devops@itmxav

🔗 На сайте
Как изменить корень сайта (webroot) без запроса нового SSL Let’s Encrypt? [Certbot, Linux]

Для того чтобы изменить пути к файлам сайта (например, переименовали корневой каталог сайта) необходимо перейти в каталог renewal:
$ cd /etc/letsencrypt/renewal

Отредактировать конфигурационный файл соответствующий вашему сайту:
$ sudo editor нужный_файл

В разделе webroot_map ставим нужные пути к файлам сайта
[[webroot_map]]
домен1 = /абсолютный/путь/к/файлам/сайта
www.домен1 = /абсолютный/путь/к/файлам/сайта

Сохраняем и выходим из редактора.
Теперь при автоматическом пере запросе SSL ссылаться Certbot будет на новый webroot.

#devops@itmxav

🔗 На сайте

📝 Другие заметки по Сertbot:
- Certbot. Как удалить ненужный сертификат от Let's Encrypt?
Как обновить сертификат Let's Encrypt через DNS Challenge Сertbot на Linux?

Иногда бывают ситуации, что необходимо получить или обновить сертификат для конкретного веб-сайта, но проверку надо пройти через DNS.
Пройти проверку можно следующим образом:
1. Делаем запрос через certbot с указанием email для уведомлений, соглашения с условиями, ручного запуска проверки для конкретного сайта с адресом example.org:
certbot --text --agree-tos --email user@example.org -d test.example.org --manual --preferred-challenges dns --expand certonly

2. После запуска будет получен текст и куда его надо разместить. Главное не нажимать ничего пока TXT-запись не будет внесена в DNS. Пример записи в части example.org:
_acme-challenge.test IN TXT "Полученный_текст"

3. После внесения записи и её проверки можно нажимать Enter, чтобы пройти DNS Challenge.
4. Если всё успешно прошло, то будут получены нужные файлы.

#devops@itmxav

🔗 На сайте

📝 Другие заметки по Сertbot:
- Certbot. Как удалить ненужный сертификат от Let's Encrypt?
- Как изменить корень сайта webroot без запроса нового SSL Let’s Encrypt? [Certbot]
Как обновить сертификат Let's Encrypt через Webroot Challenge Сertbot на Linux?

Иногда бывают ситуации, что необходимо получить или обновить сертификат для конкретного веб-сайта, но проверку надо пройти через Webroot Challenge.

1. Лучше всего чтобы, при проверке, сайт отвечал по 80 порту без редиректов в период обновления или запроса сертификата.
2. Делаем запрос через certbot с указанием email для уведомлений, соглашения с условиями, ручного запуска проверки для конкретного сайта с адресом example.org и указанием расположения корня сайта:
certbot certonly --webroot --agree-tos --email user@example.org  -w /var/www/example.org -d example.org

3. В процессе проверки будут создан временный файл с текстом, чтобы валидировать сервер и запрос. После подтверждения или неудачного подтверждения файл будет удален.
4. Если всё успешно прошло, то будут получены нужные файлы и указано куда они скачались.

#devops@itmxav

🔗 На сайте

📝 Другие заметки по Сertbot:
- Certbot. Как удалить ненужный сертификат от Let's Encrypt?
- Как изменить корень сайта webroot без запроса нового SSL Let’s Encrypt? [Certbot]
- Как обновить сертификат Let's Encrypt через DNS Challenge Сertbot на Linux?
Сравнение Youtube и Rutube

Много раз слышал, что, даже после замедлений, люди на Youtube больше смотрят видео, чем на Rutube. Решил глянуть аналитику по каналам, чтобы понять есть ли разница, т.к. заливал видео, и туда, и туда. Т.к. направление "Network, Ops, DevOps" не очень популярно относительно веселого контент, то, конечно, просмотры маленькие, но всё же.
Самое популярное видео на Youtube (1к) -
Как установить статический IP-адрес на Debian? [FastHowTo].
На Rutube (336) - Как скопировать файл на Linux через Remmina? [FastHowTo].
По аналитике получалось, что на Yotube суммарно в ~4.1 раз больше просмотров (~7к), чем на Rutube (~1.7к) за всё время. Интересный разрыв. Если смотреть по поисковикам, то Яндекс выдает видео, которые на Rutube, а Google выдает видео, которые на Youtube. Так же заметил, что видео тупо забирают, или с одной площадки на другую, или просто копируют всё подряд в рамках площадки. Сложно понять как это работает. Заметно, потому что, например, видео "Как установить статический IP-адрес на Debian? [FastHowTo] " в Яндексе, на данный момент, есть на левом канале и это видео появляется выше, чем оригинальное. Скорее всего из-за того, что на Rutube позже начал заливать видео, а кто-то с Youtube скопировал раньше. По просмотрам тоже есть такой момент, что если бы изначально всё одновременно закидывал, то разрыв по просмотрам, возможно, был бы меньше.
Пока что как-то так 😊

#разное@itmxav

🎬 Youtube
🎬 Rutube
Проблемы обновления RocketChat c 6.13.0 на 7.5.0 через snap

При обновлении через snap с 6 на 7 версию ловил ошибки по работе с базой данных. Пример ошибки:

/snap/rocketchat-server/1634/helpers/mongo.sh: line 50: ((: {"t":{"$date":"2025-04-28T11:26:41.300Z"},"s":"I",  "c":"NETWORK",  "id":5693100, "ctx":"js","msg":"Asio socket.set_option failed with std::system_error","attr":{"note":"connect (sync) TCP fast open","option":{"level":6,"name":30,"data":"01 00 00 00"},"error":{"what":"set_option: Protocol not available","message":"Protocol not available","category":"asio.system","value":92}}}
1 : syntax error: operand expected (error token is "{"t":{"$date":"2025-04-28T11:26:41.300Z"},"s":"I", "c":"NETWORK", "id":5693100, "ctx":"js","msg":"Asio socket.set_option failed with std::system_error","attr":{"note":"connect (sync) TCP fast open","option":{"level":6,"name":30,"data":"01 00 00 00"},"error":{"what":"set_option: Protocol not available","message":"Protocol not available","category":"asio.system","value":92}}}


В интернетах ничего внятного не нашел, хотя люди сталкивались с подобным именно при переходе с 6 на 7. Может быть плохо искал решение, но всё же разрулил ситуацию с обновлением.

Перед обновлением лучше все забэкапить данные и на всякий случай всю папку RocketChat'а тоже скопировать.
Обновить удалось следующим образом:
1. Останавливаем RocketChat
snap stop rocketchat-server

2. Бэкапим папку
 cp -r /var/snap/rocketchat-server/common /path/to/backup/rocketchat-backup

3. Бэкапим данные
snap run rocketchat-server.backupdb

4. Переносим забэкапленные данные в другое своем место через cp.

Далее

5. Удаляем RocketChat
snap remove rocketchat-server

6. Ставим последнюю версию
snap install rocketchat-server --channel=latest/stable

7. Далее копируем забэкапленные данные в папку для бэкапов RocketChat'a, иначе ошибка будет появляться.
cp -r /path/to/backup/rocketchat-backup /var/snap/rocketchat-server/common 

8. Восстанавливаем данные
snap run rocketchat-server.restoredb /var/snap/rocketchat-server/common/rocketchat_backup.tgz

9. В процессе предложит удалить старую базу. Соглашаемся и ждем завершения.
10. Запускаем RocketChat и ждем пока все нужные данные подтянутся, посматривая в журнал с логами.

#devops@itmxav

🔗 На сайте

📝 Другие заметки по RocketChat:
- Как исправить apparmor DENIED в snap.rocketchat-server.rocketchat-mongo?
- Как сделать резервное копирование данных rocketchat server?
- Как обновить Rocket.chat через snap?
- Как сбросить пароль RocketChat (admin) SNAP?
Скрытие версии и нумерации пользователей WordPress

После установки WordPress забывают почистить лишнее в целях дополнительной безопасности:
1. Убрать/перенести файлы. Идем от корня сайта:
license.txt
readme.html
wp-config-sample.php
wp-admin/install.php

2. Отключить нумерацию пользователей в wp-includes/functions.php
function my_r_username(){
if (is_author()){
wp_redirect( home_url() ); exit;
}
}
add_action('template_redirect', 'my_r_username');

3. Удаляем имя пользователя из css. Для этого в wp-includes/functions.php
function remove_c_author( $classes ) {
foreach( $classes as $key => $class ) {
if(strstr($class, "comment-author-")) {
unset( $classes[$key] );
}
}
return $classes;
}
add_filter( 'comment_class' , 'remove_c_author' );

4. Удалить ?ver из скриптов и стилей. В wp-includes/functions.php прописываем
function _remove_script_version($src){
$parts = explode('?', $src);
return $parts[0];
}
add_filter('script_loader_src','_remove_script_version',15,1);
add_filter('style_loader_src','_remove_script_version',15,1);

5. Удалить версию WordPress. Для этого в wp-includes/functions.php
function remove_version_info() {
return '';
}
add_filter('the_generator', 'remove_version_info');


Источник и дополнительная информация — artemsannikov.ru

#devops@itmxav

🔗 На сайте

📝 Другие заметки по WordPress:
- Как установить WordPress на Debian?
Как обновить IOS на Cisco?

Иногда бывает, что необходимо обновить IOS Cisco вручную. Для этого:
1. Подключаем флешку с IOS. Если флешка не видится, но выдает ошибки, то лучше её отформатировать прямо на Cisco и потом закинуть на неё IOS:
format usbflash0:

2. Далее смотрим, что IOS есть и закидываем его на flash Cisco:
dir usbflash0:
copy usbflash0:cXXXX-adventerprisek9-mz.124-12.bin flash:

3. Далее в конфиге указывает что именно надо грузить, сохраняем и перезагружаемся
conf t
boot system flash:cXXXX-adventerprisek9-mz.124-12.bin
!если есть выше другие загрузки, то удаляем или ставим ниже через команды no boot/boot
write memory
reload


Если всё нормально, то IOS должен обновиться.

#сети@itmxav
#cisco@itmxav

🔗 На сайте

📝 Другие заметки по Cisco:
- Как отправить логи с Cisco Nexus на сервер логирования?
- Как посмотреть загрузку процессора (CPU) на Cisco?
- Как заблокировать трафик от определенного MAC на Cisco
- Как в Cisco по ip адресу узнать mac устройства
- Как настроить Syslog на Cisco ASA 5500 серии?
- Ошибка %ADJ-3-RESOLVE_REQ на Cisco 3560-X
Проблемы обновления сертификатов Let's Encrypt через certbot на AltLinux при проверки через webroot

Неожиданно столкнулся с проблемой, что сертификаты Let's Encrypt не обновляются через certbot на AltLinux. Ошибка такая:
All renewal attempts failed. The following certs could not be renewed:
/etc/letsencrypt/live/domain_name/fullchain.pem (failure)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1 renew failure(s), 0 parse failure(s)

IMPORTANT NOTES:
- The following errors were reported by the server:

Domain: domain_name
Type: unauthorized
Detail: IP_address: Invalid response from
http://domain_name/.well-known/acme-challenge/234desfsfsdfs:
404

Редиректов нет. Тестовый файл по адресу http://domain_name/.well-known/acme-challenge/1 открылся нормально, но при renew выдает, что не может найти проверочный файл. По правам на папки тоже всё нормально, т.е. создаваться всё может в этой папке без проблем. Решить удалось только когда вручную был создан запрос и указан путь к корню сайта:
certbot certonly --email pochta@example.org --webroot -w /var/www/site/ -d domain_name


#devops@itmxav

🔗 На сайте

📝 Другие заметки по Сertbot:
- Certbot. Как удалить ненужный сертификат от Let's Encrypt?
- Как изменить корень сайта webroot без запроса нового SSL Let’s Encrypt? [Certbot]
- Как обновить сертификат Let's Encrypt через DNS Challenge Сertbot на Linux?
Как проверить конфигурацию SSH?

Иногда бывает нужно проверить конфиг SSH. Сделать это можно так:
sshd -t

Если ошибок нет, то ничего не выдаст.

#linux@itmxav
#devops@itmxav

🔗 На сайте

📝 Другие заметки по SSH:
- Как настроить chroot для sftp (OpenSSH)?
- Выполнение удаленных команд по паролю через SSH в Unix/Linux
- Как конвертировать публичный ключ SSH в формат RFC4716?
Arcconf не видит контроллер на примере Adaptec SmartRAID 3152-8i

После очередного обновления ОС arcconf перестал видеть контроллер:
# arcconf LIST
Controllers found: 0

Command completed successfully.

Хотя всё видно и загружено через
# cat /proc/scsi/scsi
# lsscsi -v
# dmesg | grep -i smartpqi

С большой вероятностью надо более новую версию скачать с download.adaptec.com, закинуть в правильное место и сделать символьную ссылку на бинарник.
1. Создаем папку
# mkdir -p /opt/arcconf

2. Копируем бинарник, даем права, делаем ссылку с перезаписью, если там есть уже файл
# cp /путь/к/бинарнику/arcconf/linux_x64/arcconf /opt/arcconf/
# chmod +x /opt/arcconf/arcconf
# chmod -R 755 /opt/arcconf
# ln -sf /opt/arcconf/arcconf /usr/local/bin/arcconf


Проверить работу можно через
which arcconf
arcconf getconfig 1


#linux@itmxav

🔗 На сайте

📝 Другие заметки по дискам:
- Как включить JBOD MegaRAID через megacli на Linux Debian?
- Как добавить новый диск и увелисть объем LVM?
- Как перенести диск в Proxmox с Ceph?
Как узнать IP, зная MAC адрес на порту CISCO?

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

1. Смотрим какие MAC есть на интересующем порту
# sh mac-address table int GiX/X/X

или
# sh mac address-table int GiX/X/X

2. Определяем IP по MAC-таблице
# sh ip arp xxxx.xxxx.xxxx


#сети@itmxav
#cisco@itmxav

🔗 На сайте

📝 Другие заметки по Cisco:
- Как отправить логи с Cisco Nexus на сервер логирования?
- Как посмотреть загрузку процессора (CPU) на Cisco?
- Как заблокировать трафик от определенного MAC на Cisco
- Как в Cisco по ip адресу узнать mac устройства
- Как настроить Syslog на Cisco ASA 5500 серии?
- Как обновить IOS на Cisco?
Как при помощи snmpwalk делать запросы к хосту?

Иногда бывает нужно проверить работы по SNMP c Linux. Сделать это можно через snmpwalk.

1. Установить snmpwalk можно так:
Для Ubuntu / Debian / Linux Mint
sudo apt-get update
sudo apt-get install snmp

Проверка:
snmpwalk --version

Или
Для CentOS / RHEL / AlmaLinux / Rocky Linux (8 и выше)
sudo yum install net-snmp-utils

или
sudo dnf install net-snmp-utils

Проверка:
snmpwalk -h


2. Синтаксис следующий:
snmpwalk -v <версия> -c <community> <хост> <OID>

Расшифровка:
-v1/-v2c/-v3 - версия SNMP (1, 2c или 3)
-c <community> - ключ и указазания community string (например,public), используется в SNMPv1/v2c
<хост> - IP-адрес или имя хоста устройства
<OID> - Объектный идентификатор (например,1.3.6.1.2.1.1)


3. Примеры для -v1 и-v2c:
Получить всё
snmpwalk -v1 -c 'public' 192.168.1.1 .1

Запрос всех данных из MIB-II (стандартная ветвь)
snmpwalk -v2c -c 'public' 192.168.1.1 .1.3.6.1.2.1

Получить всё
snmpwalk -v2c -c 'public' 192.168.1.1 .1

или по OID:
snmpwalk -v2c -c 'public' 192.168.1.1 .1.3.6.1.2.1.1


4. Использование SNMPv3 (с аутентификацией)
Синтаксис:
snmpwalk -v3 -u <username> -l authPriv -a SHA -A <auth_password> -x AES -X <priv_password> 192.168.1.1 .1

Где:
-u — имя пользователя
-l — уровень безопасности: noAuthNoPriv, authNoPriv, authPriv
-a — алгоритм аутентификации (MD5, SHA)
-A — пароль аутентификации
-x — алгоритм шифрования (AES, DES)
-X — пароль шифрования

Пример с аутентификацией, но без шифрования трафика (authNoPriv):
snmpwalk -v3 -u myuser -l authNoPriv -a SHA -A 'myAuthPassword123' 192.168.1.1 .1

Тоже самое, но с MD5
snmpwalk -v3 -u myuser -l authNoPriv -a MD5 -A 'myAuthPassword123' 192.168.1.1 .1

Пример с аутентификацией и шифрованием трафика (authPriv):
snmpwalk -v3 -u myuser -l authPriv -a SHA -A 'myAuthPassword123' -x AES -X myPrivPassword456 192.168.1.1 .1


#сети@itmxav
#мониторинг@itmxav

🔗 На сайте

📝 Другие заметки по SNMP:
- SNMP error: (noSuchName) There is no such variable name in this MIB. Zabbix
- Где взять SNMP MIB Cisco?
- Как настроить SNMP v2c на Ruckus ZoneFlex R320?
Как найти к какому порту Cisco подключен определенный хост?

Иногда бывают ситуации когда надо определить к какому порту Cisco подключен определенный хост. Сделать можно так:

Возможно, есть цепочка коммутаторов, поэтому надо сначала пингануть чтобы сформировалась актуальная MAC-таблица:
1. Пингуем
# ping 192.168.1.11

2. Далее определяем MAC по IP
# show arp | include 192.168.1.11 

или
# show arp | beg 192.168.1.11


3. Смотрим по таблице к какому порту этот MAC относится
# show mac-address-table address xxxx.xxxx.xxxx

или
# show mac address-table address xxxx.xxxx.xxxx


4. Если указан PortChannel, то смотри какие порты входят в него, если номер 1:
show etherchannel 1 summary

или
show etherchannel summary


4.1 Самое просто, но может создать проблемы временное отключение портов по одному чтобы понять на какои из них исчезнет MAC.
4.2 Или применить команду test etherchannel load-balance, но сначала надо понять на основе чего идет балансировка. Выполняем:
show etherchannel load-balance

и видим результат
Load-balancing on Port-channels configured globally:
src-mac

или
src-dst-ip - балансировка по IP источника и назначения 
src-ip - IP источника
dst-mac - MAC назначения

Вообще test etherchannel load-balance - диагностическая команда Cisco, которая не влияет на реальный трафик, а имитирует алгоритм балансировки EtherChannel (LACP/PAgP), чтобы определить, какой физический порт в составе Port-channel будет использован для передачи трафика с заданными параметрами. Она симулирует процесс выбора порта в агрегированном канале на основе указанных параметров: текущей политики балансировки, указанных MAC-адресов источника и назначения, и номера Port-channel.

4.3 Если src-mac, то балансировка по MAC-адресам источника
test etherchannel load-balance interface port-channel 1 mac-source xxxx.xxxx.xxxx mac-dest ffff.ffff.ffff


Пример результата
Would select interface GigabitEthernet1/0/2


Для src-dst-ip
test etherchannel load-balance interface port-channel 1 ip-source 192.168.1.11 ip-dest 192.168.1.1


! Если используется src-dst-ip, то результат test команды должен включать IP-адреса.

Другие варианты:
src-ip - test etherchannel ... ip-source 192.168.1.11
dst-mac - test etherchannel ... mac-dest aaaa.bbbb.cccc


5. Если коммутатор не конечный, то смотрим через CDP какой следующий:
show cdp neighbors GiX/X/X detail


Переходим на следующий коммутатор и повторяем шаги.

#сети@itmxav
#cisco@itmxav

🔗 На сайте

📝 Другие заметки по Cisco:
- Как отправить логи с Cisco Nexus на сервер логирования?
- Как посмотреть загрузку процессора (CPU) на Cisco?
- Как заблокировать трафик от определенного MAC на Cisco
- Как в Cisco по ip адресу узнать mac устройства
- Как настроить Syslog на Cisco ASA 5500 серии?
- Как обновить IOS на Cisco?
- Как узнать IP, зная MAC адрес на порту CISCO?
Ошибка Gitlab: remote: Your SSH key has expired

Иногда бывает ошибка "Gitlab: remote: Your SSH key has expired". В первую очередь надо проверить срок ключа на Gitlab. По умолчанию год выставляется, хотя как такового срока нет у ключа. Если там срок истек, то необходимо заново добавить его:

1. Нажимаем на аватарку, переходим в настройки и далее в SSH ключи.
2. Видим, что срок истек и ключ отмечен соответствующим знаком.
3. Копируем ключ. Удаляем и добавить тот же ключи с более длительным сроком.
4. Проверяем работу.

Если же по срокам всё нормально, то проверяйте не заблокирована ли учетная запись, используете ли правильный приватный ключ, меняли ли ключи недавно, не используете ли временный ключ, не удалили ли случайно ключ на Gitlab или локально приватный, не взломан ли комп или сервер.

#linux@itmxav
#devops@itmxav

🔗 На сайте

📝 Другие заметки по Git и Gitlab:
- Ошибка 500 при применении параметра Repository by URL в GitLab
- GitLab не обновляет сертификат Let's Encrypt после своего upgrade
- Ошибка при удалении репозитория в GitLab
- Как обновить Gitlab?
Как удалить хранилище из Proxmox Backup Server?

Иногда бывает нужно удалить хранилище из PBS, но через GUI этого сделать нельзя. Поэтому переходим в терминал и удаляем:

1. Удаляем хранилище из системы PBS:
proxmox-backup-manager datastore remove <название_хранилища>

2. Удаляем точку монтирования:
Если папка:
rm -r /путь/до/папки/

Если надо именно отмонтированить:
umount точка_монтирования/


#proxmox@itmxav

🔗 На сайте

📝 Другие заметки по Proxmox и PBS:
- Как вывести виртуальную машину Proxmox из error state?
- Проблема "state manager: reset session failed on NFSv4 server with error 1"
- Как перенести диск в Proxmox с Ceph?
- Как перенести виртуальную машину (контейнер) на другой сервер Proxmox?
- Пример обновления. Как обновить Proxmox с 7.4 на 8.1?
Как замерить скорость связи при помощи iperf?

Бывают ситуации когда надо грубо замерить скорость между хостами. Как быстрый вариант можно использоватье iperf.

1. Установка на Debian/Ubuntu:
sudo apt-get update
sudo apt-get install iperf

Или RHEL/CentOS/Fedora:
sudo yum install epel-release -y
sudo yum install iperf

Если нужно iperf3 (3 и 2 версии несовместимы)
sudo yum install epel-release -y

Установка iperf3
sudo yum install iperf3 -y

# ИЛИ для CentOS 8+ / Rocky Linux:
sudo dnf install iperf3 -y

Для Debian/Ubuntu:
sudo apt-get update
sudo apt-get install iperf3 -y


2. Если есть файервол, то для iperf необходимо открыть порт 5001. Для iperf3 5201.

3. Запускаем на сервере:
iperf -s

или
iperf3 -s

Если надо указать порт или IP
iperf3 -s -B 192.168.1.2  
iperf3 -s -p 5001

4. Запускаем на клиенте
iperf -c IP-адрес

или
iperf3 -c IP-адрес

Дополнительные опции:
iperf3 -c IP-адрес -t 20        # тест 20 секунд
iperf3 -c IP-адрес -P 3 # 3 параллельных потока
iperf3 -c IP-адрес -R # обратное направление (сервер → клиент)

Пример вывода для TCP:
[ ID] Interval       Transfer     Bandwidth
[ 1] 0.0000-10.0066 sec 10.9 GBytes 9.39 Gbits/sec


5. Если надо протестировать UDP, то:
iperf -c IP-адрес -u -b 100M

или
iperf3 -c IP-адрес -u -b 100M

-u — использовать UDP
-b 100M — пропускная способность (100 Мбит/с). Без этого UDP значительно слабее.

#linux@itmxav
#сети@itmxav

🔗 На сайте

📝 Другие заметки по Linux и сетям:
- Как включить IP Forwarding в Linux?
- Как заблокировать сайты на Squid?
- Как изменить сеть для контейнеров в Docker на Linux (Debian)?
- Как установить статический IP-адрес на Debian?
👍1
Как обновить узел Proxmox с 8.4 на 9?

Если используется Ceph, то читайте процесс обновления здесь. Желательно выключить все машины перед обновлением, на всякий случай.

0. Сделать бэкапы всего и работать через прямой доступ к серверу.

1.Выключаем pve-enterprise.list через комментирование
# nano /etc/apt/sources.list.d/pve-enterprise.list
#deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise


2. Обновляем всё, что есть на текущей ветке
apt update
apt dist-upgrade
pveversion


3. Проверяем на ошибки при обновлении
pve8to9 --full

Если есть, то исправляем всё.

4. Обновляем репозитории
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/pve-enterprise.list
apt update


5. Если всё готово, то читаем какие вопросы могут возникнуть при обновлении вот здесь и обновляемся
apt dist-upgrade


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

#proxmox@itmxav

🔗 На сайте

📝 Другие заметки по Proxmox и PBS:
- Как вывести виртуальную машину Proxmox из error state?
- Проблема "state manager: reset session failed on NFSv4 server with error 1"
- Как перенести диск в Proxmox с Ceph?
- Как перенести виртуальную машину (контейнер) на другой сервер Proxmox?
- Пример обновления. Как обновить Proxmox с 7.4 на 8.1?
- Как удалить хранилище из Proxmox Backup Server?