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

🔗 it.mxav.ru
Download Telegram
Zelax не отправляет логи в Graylog

Наткнулся на ситуацию, когда логи с оборудования Zelax не появляются в Graylog.

Сначала надо настроить Zelax. В документации почему-то информация по настройке Syslog'а yt подходит и настраивается немного иначе:
1. Включаем info-center
info-center enable

2. Указываем источника для канала
info-center source debug level 7 prefix on channel 2

Пояснения:
level Х - уровень сообщений (0 - emergencies, 1 - alerts, 2 - critical, 3 - errors, 4 - warnings, 5 - notifications, 6 - informational, 7 - debugging);
channel X - номер канала, где часть каналов уже определена:
channel 0 - передача сообщений уровня debugging в консоль;
channel 1 - передача сообщений уровня debugging в терминальный монитор;
channel 2 - зарезервирован под передачу на Syslog-сервер;
channel 3 - передача debugging trap в буфер;
channel 4 - передача сообщений уровня warning в память (logsdram);
channel 5 - передача сообщений уровня critical в память (lognvram).
3. Направляем вывод на сервер Graylog
info-center loghost IP_ADDRESS facility local7 channel 2

Пояснения:
IP_ADDRESS - адрес сервера;
facility - категория сообщения для сервера;
channel X - номер канала, который должен совпадать с предыдущей настройкой.

И, вроде, должно всё заработать. По анализатору трафика видно, что все пакеты доходят, но почему-то отображения логов нет.
Момент заключается в том, что Graylog не обрабатывает полученные пакеты, пока в Zelax не будет установлены параметры времени.
Настраиваем:
ntp enable
ntp server IP_ADDRESS_SERVER
clock timezone MSK add 3 0


Странно. На Cisco, Huawei, Eltex, HPE таких моментов нет и Graylog сам фиксирует время, главное чтобы данные пришли, а здесь нет 😐

#zelax@itmxav
#сети@itmxav

🔗 На сайте
Быстрый поиск файлов в Linux, содержащих определенный текст

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

grep -iRl "нужный_текст" ./


Главное не потерять точку перед /, а то поиск будет производиться от корня.

#linux@itmxav

🔗 На сайте
Как проверить fstab в Linux?

Иногда требуется проверить файл /etc/fstab.
Перед внесением изменений лучше забэкапить fstab.
cp -p /etc/fstab /etc/fstab.bak

Можно рассмотреть вариант с ключом -a. Т.е. смонтируются всё, что указано в fstab.
mount -a

Как вариант, можно использоваться mount с фейковым подключением, т.е. проверка без внесения изменений. Главное не использовать ключ -f во FreeBDS. Там значение ключа другое - force.
mount -fav

Либо через findmnt можно сделать проверку.
findmnt --verify --verbose


#linux@itmxav

🔗 На сайте
👍1
Как настроить Syslog на Cisco ASA 5500 серии?

Для начала надо настроить время. Указываем зону и NTP-сервер:
clock timezone MSK/MSD 3
ntp server IP_NTP_server source inside


Далее настроиваем куда отправлять логи. Отправляем логи через inside-интерфейс и указываем, что отправляем их на порт 1234. По умолчанию 514 порт, но иногда лучше поменять порт. Например, Graylog почему-то не хотел логи с 514 порта обрабатывать, хотя логи других нормально обрабатывались.
logging enable
logging trap informational
logging asdm errors
logging device-id string ASA55ver
logging host inside IP_syslog 17/1234


#cisco@itmxav
#сети@itmxav

🔗 На сайте
Изменения в скрипте с оповещением в RocketChat

Немного подправил payload в скрипте с оповещением в RocketChat. Посмотреть/скачать можно с сайта или Github'а.
Плюс так можно легко найти нужное сообщение через поиск в RocketChat'е. Почему-то поиск не может найти текст в attachments сообщения.

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

#devops@itmxav

🔗 На сайте
Как посмотреть логи контейнера в Docker?

Просто посмотреть логи контейнера:
docker logs NameContainer


Отслеживать появляющиеся новые сообщения в логах:
docker logs -f NameContainer


Посмотреть логи за определенный период:
docker logs -f NameContainer --since 2024-04-30 --until 2024-05-01


📝 Другие заметки по Docker:
- Простая установка Docker
- Как установить docker-compose?
- Как собрать образ из контейнера Docker для отправки в реестр?
- Как работать с Docker под своим пользователем?
- Как узнать ip контейнера docker?

#docker@itmxav
#devops@itmxav

🔗 На сайте
Как зеркалировать трафик на коммутаторе Huawei S5700?

Чтобы зеркалировать трафик надо указать куда зеркалировать, откуда и какой трафик (входящий и/или исходящий).

1. Переходим в режим конфигурирования:
system-view

2. Выбираем порт наблюдения. Например 11
observe-port 1 interface GigabitEthernet0/0/11

3. Указываем порт откуда трафик зеркалировать. Например 10:
interface GigabitEthernet 0/0/10
port-mirroring to observe-port 1 both
quit


Если требуется только входящий трафик зеркалироваться, то
port-mirroring to observe-port 1 inbound

Только исходящий
port-mirroring to observe-port 1 outbound

4. Посмотреть порт наблюдения:
display observe-port

5. Посмотреть порт зеркалирования:
display port-mirroring


📝 Другие заметки по Huawei:
- Как задать время на коммутаторе Huawei?
- Как поменять старый пароль на новый на Huawei?

#huawei@itmxav
#сети @itmxav

🔗 На сайте
Как заблокировать сайты на Squid?

Чтобы заблокировать сайты на прокси со Squid надо:
1. Создать список с сайтами для блокировки
nano /etc/squid/blacklistsites

или
nano /etc/squid3/blacklistwebsites

2. Добавляем сайты в список. Например:
site1\.ru
site2\.ru

Т.к. работа будет происходить по регулярным выражениям,то точку надо экранировать
3. В начале acl'ов указываем каким адресам надо проверять список. В данном примере 10 сети:
acl url_filtred src 10.0.0.0/8

и ниже указываем сам пуст к списку:
acl blacklistsites url_regex -i "/etc/squid/blacklistwebsites"

4. Перед всеми http_access указываем, что надо блокировать соединения из списка:
http_access deny blacklistsites url_filtred

5. Проверяем конфиг:
squid -k parse

6. Если всё хорошо, то перечитываем конфигурационный файл без остановки Squid:
squid -k reconfigure


#linux@itmxav
#сети@itmxav

🔗 На сайте
Что-то как-то затянули они. Середина 24 года как бы 😁
🔥1
Ох уж этот Docker!

Как дальше жить, если кит уплывает:
1. Прописать registry-mirrors
{ "registry-mirrors" : [ "https://куда-то-там" ] }

в Linux
/etc/docker/daemon.json

или
~/.config/docker/daemon.json

Для Windows
C:\ProgramData\docker\config\daemon.json

Для Windows с Docker Desktop
C:\Users\<Пользователь>\.docker\daemon.json

И перечитать конфиг
systemctl reload docker

🙃 Но если скучно и одиноко в этом сером, мрачном мире, то
systemctl restart docker


2. Поднять свой удобный прокси и пустить все через него. Вот здесь описывал как настроить работу Docker через прокси.

📝 Другие заметки по Docker:
- Простая установка Docker
- Как установить docker-compose?
- Как собрать образ из контейнера Docker для отправки в реестр?
- Как работать с Docker под своим пользователем?
- Как узнать ip контейнера docker?

#docker@itmxav
#devops@itmxav

🔗 На сайте
Продолжая тему блокирования обновлений Firefox..

Несмотря на разные способы блокировки иногда каким-то образом Firefox умудряется обновляться и роняет открытые вкладки. Как вариант, можно использовать версию Firefox Developer Edition. В основных настройках есть пункт "Проверять наличие обновлений, но позволять вам решать, устанавливать ли их". На версии для Linux точно такое есть.Скорее всего уведомление о новых версиях будет часто появляться, но хоть так можно рулить обновлениями Firefox.

#разное@itmxav

🔗 На сайте
Ошибка target is busy при umount

Иногда при отмонтировании можно получить ошибку "target is busy".
1. Это значит, что какая-то программа работает ещё с тем, что нужно отмонтировать
sudo umount /path/to/target
umount: /path/to/target: target is busy

2. С помощью lsof можно узнать какой процесс задействован.
sudo lsof /path/to/target

Получили вот такой примерный вывод
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
lsof: WARNING: can't stat() fuse file system /run/user/1000/doc
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 2463085 user cwd DIR 7,65 2048 1792 /path/to/target

3. В данном случае у нас задействован процесс с PID 2463085. Точнее работает BASH. И правда был открыт терминал и находились именно в /path/to/target. После закрытия терминала или перехода в другую папку всё отмонтировалось как надо.
sudo umount /path/to/target


#linux@itmxav

🔗 На сайте
Новости про видео

Решил разделить видео на 3 основный направления:
1. SlowHowTo – видео, где объясняется, поясняется, что делается и зачем. Видео для тех, кто хочет послушать комментарии или объяснения того, что происходит. Длинные, «душные» видео.
2. FastHowTo – видео, где нет объяснений, а только показывается, как сделать что-то. Видео для тех, кто хочет быстро узнать, как сделать то или иное. Короткие видео.
3. FunnyHowTo - видео, где могут быть разные нестандартные подходы к решению задач, просто видео на тему «сделаю, потому что могу» или какой-то развлекательный контент.

Зачем это надо?
Очевидно, что все люди разные по уровню знаний. Для кого-то достаточно показать что-то без объяснений и всё станет понятно. Для кого-то нужны комментарии, пояснения, объяснений, а не просто «сделай так, так и вот так». Кто-то хочет отвлечься от загруженности по своим задачам, но есть потребность в развлекательном контенте.

Как понять где какое видео?
Все просто. В названии видео будет нужный тег [SlowHowTo], [FastHowTo] или [FunnyHowTo]. Также в ТГ в постах тоже будет указываться нужный тег #SlowHowTo #FastHowTo #FunnyHowTo
Через навигационное сообщение в ТГ можно легко найти всё и на сайте тоже будут теги, разделы.

🔗 На сайте
Небольшая заметка по Markdown

В Википедии говорится ,что
Markdown (МФА: [ˈmɑːkdaʊn], произносится маркда́ун) — облегчённый язык разметки, созданный с целью обозначения форматирования в простом тексте, с максимальным сохранением его читаемости человеком, и пригодный для машинного преобразования в языки для продвинутых публикаций (HTML, Rich Text и других).


Заголовки
Их можно определить следующим образом
# Заголовок первого уровня #
## Заголовок второго уровня ##
### Заголовок третьего уровня ###


Альтернативный вариант

Заголовок первого уровня
========================

Заголовок второго уровня
------------------------

Цитаты
> Текст цитаты

Ссылки
[Текст ссылки](http://example.com/ "Необязательный заголовок ссылки")

Списки
Неупорядоченный
- Первый элемент
- Второй элемент
- Вложенный первый элемент
- Вложенный первый элемент
- Вложенный второй элемент
- Третий элемент


Упорядоченный
+ Первый элемент
+ Второй элемент
+ Вложенный первый элемент
+ Вложенный первый элемент
+ Вложенный второй элемент
+ Третий элемент

Списки можно комбинировать.

Ссылки
\\Текст ссылки\http://ссылка_на_ресурс/\\
Текст перед ссылкой: \\http://ссылка_на_ресурс/\\


Таблицы
Пример таблицы с 3 столбцами и 3 строками, включая названия
! **1 столбец**
! **2 столбец**
! **3 столбец**
! Название в первом стобце 2 строке
! Текст во втором столбце второй строки.
! Текст в третьем столбце второй строки.
! Название во втором стобце 3 строке
! Текст во втором столбце третьей строки.
! Текст в третьем столбце третьей строки.


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

Доп.материалы:
- Онлайн редактор
- Статья на Habr
- Статья на doka.guide

#разное@itmxav

🔗 На сайте
Как скопировать файл на Linux через Remmina?

В данном примере взаимодействие идет между Linux Ubuntu и Windows 11 (удаленная машина).

1. Выбираем соединение в списке в Remmina. Правой кнопкой мыши кликаем по нему и выбираем «Правка».
2. Отмечаем галочкой «Общая папка» и выбираем папку, которая будет общей между Linux и удаленной машиной.
3. Подключаемся к удаленной машине.
4. Копируем нужный нам файл.
5. Переходим в «Компьютер» и там должна быть подсоединена наша общая папка как сетевая папка.
6. Копируем туда файл и проверяем на Linux.

#linux@itmxav
#windows@itmxav

🎬 На Youtube
🎬 На Rutube

🔗 На сайте
На Windows произошли масштабные сбои при обновлении

По всему миру произошли масштабные сбои персональных компьютерах и серверах. Пока что винят ИБ-приложение CrowdStrike.

На Habr'e показывают решение от производителя ПО:
Workaround Steps:
1. Boot Windows into Safe Mode or the Windows Recovery Environment
2. Navigate to the C:\Windows\System32\drivers\CrowdStrike directory
3. Locate the file matching “C-00000291*.sys”, and delete it.
4. Boot the host normally.

Если у кого-то ещё есть варианты решения проблемы, то пишите.

Вообще удивительно как какое-то такое ПО было установлено во многих местах и крайне мало кто знал про его существование. Может поэтому они отказались от Касперского? 🙃

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

🔗 На сайте
Как установить Docker Desktop на Windows 11?

Чтобы установить Docker Desktop на Windows 11 надо:
1. Перейти на сайт с Docker Desktop.
2. Нажать "Скачать для Windows" и подождать, пока скачается файл.
3. Запустить скаченный файл
4. Пройти установку. Если впервые устанавливаете, то лучше оставить галочки в рекомендуемых опциях.
5. Запустить Docker Desktop и подождать пока Docker Engine включиться. Должно быть зеленым в левом нижнем углу окна Docker Desktop.
6. Для проверки можно открыть командную строку и посмотреть версию через команду:
docker -v

7. Также можно проверить работу Docker, скачав и запустив какой-нибудь контейнер (hello-world или nginx с указанием 80 порта)

#docker@itmxav
#windows@itmxav
#fasthowto@itmxav

🎬 На Youtube
🎬 На Rutube

🔗 На сайте
Как изменить сеть для контейнеров в Docker Desktop на Windows 11?

Чтобы изменить сеть для контейнеров в Docker Desktop надо:
1. Запустить Docker Desktop и остановить все контейнеры, если они запущены.
2. Далее перейти в раздел настройки и выбрать пункт Docker Engine.
3. Добавить в конфигурации после "experimental": false
,
"default-address-pools":[
{"base":"10.77.0.0/24","size":24}
]

4. Если добавлено всё корректно, то никаких ошибок не выскочит под формой.
5. Далее применяем "Apply & restart" и ждем пока всё перезагрузится.
6. После загрузки запускаем контейнер для проверки и смотрим в параметрах контейнера, в Inspect, раздел Network. Там уже должна быть новая сеть.

#docker@itmxav
#windows@itmxav
#fasthowto@itmxav

🎬 На Youtube
🎬 На Rutube

🔗 На сайте
Как изменить сеть для контейнеров в Docker на Linux (Debian)?

1. Проверяем работает ли docker
systemctl status docker

2. Смотрим список сетей
docker network list

В данном случае интересует bridge
3. Смотрим сеть для bridge
docker network inspect bridge | grep Subnet

Вывод примерно такой, если по умолчанию, бывает:
"Subnet": "172.17.0.0/16",

4. В качестве теста у меня запущен контейнер с nginx. Через браузер проверил, что всё работает.
5. Редактируем или создаем файл daemon.json
nano /etc/docker/daemon.json

И прописываем, в качестве примера, сетевое адресное пространство 10.1.0.0/24 с IP-адресом bridge-интерфейса 10.1.0.1.
{
    "bip": "10.1.0.1/24",
    "default-address-pools": [{
        "base": "10.1.0.0/24",
        "size": 24
    }]
}

6. Смотрим запущенные контейнеры
docker ps -a

7. Удаляем все и проверяем
docker rm -f `docker ps -q -a`
docker ps -a

8. Перезапускаем docker
systemctl restart docker

9. Проверяем сеть bridge
docker network inspect bridge | grep Subnet

Вывод
"Subnet": "10.1.0.0/24",

10. В качестве теста запускаю контейнер с nginx, проверяю его адрес и работоспособность через браузер
docker run -d -p 80:80 nginx

ID этого контейнера 3b2a1894c706
docker inspect 3b2a1894c706 | grep "IPAddress"


#docker@itmxav
#linux@itmxav
#fasthowto@itmxav

🎬 На Youtube
🎬 На Rutube

🔗 На сайте
Правила в iptables для Zabbix

Часто в процессе настройки сервера и/или агентов Zabbix требуется прописывать правила для файервола. Обычно используются порты 10050 на агенте и 10051 на сервер.
Например, для сервера в iptables вот такое правило может быть:
iptables -A INPUT -s IP_ADDRESS_AGENT/32 -p tcp -m tcp --dport 10051 -j ACCEPT

Eсли для всех надо сделать порт доступным
iptables -A INPUT -p tcp -m tcp --dport 10051 -j ACCEPT

Если правило надо поместить на самый верх цепочки, то
iptables -I

На агенте:
iptables -A INPUT -s IP_ADDRESS_SERVER/32 -p tcp -m tcp --dport 10050 -j ACCEPT

Удаление правил:
iptables -D INPUT -s IP_ADDRESS_AGENT/32 -p tcp -m tcp --dport 10051 -j ACCEPT
iptables -D INPUT -s IP_ADDRESS_SERVER/32 -p tcp -m tcp --dport 10050 -j ACCEPT
iptables -D INPUT -p tcp -m tcp --dport 10051 -j ACCEPT


#zabbix@itmxav
#linux@itmxav
#iptables@itmxav
#firewall@itmxav

🔗 На сайте
Как включить IP Forwarding в Linux?

Чтобы включить пересылку пакетов между интерфейсами на Linux надо для начала проверить состояние форвардинга:
sysctl net.ipv4.ip_forward

Если net.ipv4.ip_forward = 0, то выключен. Если 1, то включен.

Времененно включить IP Forwarding можно командой
# sysctl -w net.ipv4.ip_forward=1

Отключить
# sysctl -w net.ipv4.ip_forward=0

Чтобы постоянно был включен IP Forwarding надо прописать в файле /etc/sysctl.conf
net.ipv4.ip_forward = 1

Постоянно отключен
net.ipv4.ip_forward = 0

Далее применяем конфигурацию
# sysctl -p

#linux@itmxav
#сети@itmxav

🔗 На сайте