Вчера была новость о релизе Proxmox VE 8.4. Из нововведений там ничего особенного не увидел, кроме одного момента. Анонсировали Virtiofs – функциональность для совместного доступа к файлам и директориям хоста из виртуальных машин. Это реально полезная штука, так как нередко возникает такая потребность. Обычно приходится поднимать NFS или SMB для этого. Решил сразу посмотреть, как это работает.
Обновил тестовый гипервизор. В списке оборудования VM появилось новое устройство - Virtiofs. А в Datacenter появился новый подраздел Directory Mappings. В этом разделе вам нужно создать общую директорию на хосте, а потом в виртуальную машину добавить через новое устройство.
Итак, чтобы использовать Virtiofs для гостевых виртуальных систем надо:
1️⃣ Добавить общую директорию хоста через Datacenter ⇨ Directory Mappings.
2️⃣ Добавить устройство Virtiofs в виртуальную машину и указать ранее созданную общую директорию.
3️⃣ Современные ядра Linux версии >=5.4 имеют встроенную поддержку virtiofs, ничего специально для её работы делать не надо. Сразу монтируем внутри системы:
Я смонтировал общую директорию
Если у вас виртуальная машина Windows, то нужно установить специальный драйвер, который обеспечит поддержку virtiofs. Он входит в состав актуального диска VirtIO-Win package (virtio-win.iso). Дополнительно понадобится программа WinFsp. Это аналог линуксового FUSE.
Для Linux всё выглядит просто и удобно. Для Windows добавляются костыли в виде установки драйвера virtiofs и аналога линуксового FUSE, чтобы смонтировать пользователю общий диск. Не знаю, насколько это будет быстро и стабильно.
⇨ Документация по Virtiofs
⇨ Virtiofs в Windows
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#proxmox
Обновил тестовый гипервизор. В списке оборудования VM появилось новое устройство - Virtiofs. А в Datacenter появился новый подраздел Directory Mappings. В этом разделе вам нужно создать общую директорию на хосте, а потом в виртуальную машину добавить через новое устройство.
Итак, чтобы использовать Virtiofs для гостевых виртуальных систем надо:
# mount -t virtiofs VM_Shares /mnt/VM_Shares
Я смонтировал общую директорию
VM_Shares
, добавленную в Directory Mappings с указанными именем в директорию /mnt/VM_Shares
виртуальной машины с Linux.Если у вас виртуальная машина Windows, то нужно установить специальный драйвер, который обеспечит поддержку virtiofs. Он входит в состав актуального диска VirtIO-Win package (virtio-win.iso). Дополнительно понадобится программа WinFsp. Это аналог линуксового FUSE.
Для Linux всё выглядит просто и удобно. Для Windows добавляются костыли в виде установки драйвера virtiofs и аналога линуксового FUSE, чтобы смонтировать пользователю общий диск. Не знаю, насколько это будет быстро и стабильно.
⇨ Документация по Virtiofs
⇨ Virtiofs в Windows
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#proxmox
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
В systemd есть несколько команд, которые удобно использовать для получения информации о системе. Основное удобство в том, что они одинаковые везде, где используется systemd. А это фактически все современные дистрибутивы. Покажу основные из них.
На первом месте безусловный лидер - команда для получения информации о системе, которую я постоянно использую. Это без каких-либо компромиссов самый удобный вариант решения задачи, в том числе для того, чтобы узнать, где ты находишься: в контейнере, в виртуальной машине или на железе.
📌
Получаем всю необходимую информацию о системе. Не нужно идти куда-то ещё и уточнять. По крайней мере мне обычно этого достаточно. Команда заменяет все другие более старые, типа
📌
Эту команду тоже постоянно использую. Тут сразу и время с часовым поясом видно, и что важнее, настроена ли какая-то синхронизация. Если нужно посмотреть только время, дату и пояс, то удобнее короткая
📌
В таком виде команда малоинформативна, поэтому лично я её не использую. Нужно вспоминать дополнительные параметры. Для информации о пользователях по привычке использую просто
Тут уже и дата подключения, и IP, и запущенные процессы.
📌
Про эту команду, думаю, рассказывать нет смысла. Постоянно упоминаю её в заметках, регулярно использую. Аналогов для просмотра бинарных логов systemd нет, так что выбирать не приходится.
В таком стиле знаю ещё одну команду:
📌
Не использую вообще, потому что привычная
Если знаете ещё какие-то полезные команды в составе systemd, поделитесь информацией. Я не знаю и не видел где-либо чтобы кто-то пользовался чем-то ещё.
#systemd
На первом месте безусловный лидер - команда для получения информации о системе, которую я постоянно использую. Это без каких-либо компромиссов самый удобный вариант решения задачи, в том числе для того, чтобы узнать, где ты находишься: в контейнере, в виртуальной машине или на железе.
📌
# hostnamectl
Static hostname: debian12-vm
Icon name: computer-vm
Chassis: vm 🖴
Machine ID: c0cf2b29ca074056823a0f6a481b83b1
Boot ID: 74089e7977524666bc0a2f0b175b0967
Virtualization: kvm
Operating System: Debian GNU/Linux 12 (bookworm)
Kernel: Linux 6.1.0-26-amd64
Architecture: x86-64
Hardware Vendor: QEMU
Hardware Model: Standard PC _i440FX + PIIX, 1996_
Firmware Version: rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org
Получаем всю необходимую информацию о системе. Не нужно идти куда-то ещё и уточнять. По крайней мере мне обычно этого достаточно. Команда заменяет все другие более старые, типа
lsb_release -a
, uname -a
, cat /etc/os-release
и т.д.📌
# timedatectl
Local time: Thu 2025-04-10 15:01:26 MSK
Universal time: Thu 2025-04-10 12:01:26 UTC
RTC time: Thu 2025-04-10 12:01:26
Time zone: Europe/Moscow (MSK, +0300)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Эту команду тоже постоянно использую. Тут сразу и время с часовым поясом видно, и что важнее, настроена ли какая-то синхронизация. Если нужно посмотреть только время, дату и пояс, то удобнее короткая
date
.📌
# loginctl
В таком виде команда малоинформативна, поэтому лично я её не использую. Нужно вспоминать дополнительные параметры. Для информации о пользователях по привычке использую просто
w
. Тем не менее loginctl может быть полезна, если нужны какие-то подробности. Например, команда без параметров выводит просто список сессий с номерами. Можно посмотреть детали:# loginctl session-status 1
1 - root (0)
Since: Thu 2025-04-10 14:46:32 MSK; 15min ago
Leader: 676 (sshd)
Remote: 10.8.2.2
Service: sshd; type tty; class user
State: active
Unit: session-1.scope
├─676 "sshd: root@pts/0"
├─699 -bash
├─734 loginctl session-status 1
└─735 pager
Тут уже и дата подключения, и IP, и запущенные процессы.
loginctl
может выдать много всего о пользователях, но лично я обхожусь без неё и использую, как уже сказал w
, id
, cat /etc/passwd
. Мне это видится короче и удобнее. Мои вопросы закрывает.📌
# journalctl
Про эту команду, думаю, рассказывать нет смысла. Постоянно упоминаю её в заметках, регулярно использую. Аналогов для просмотра бинарных логов systemd нет, так что выбирать не приходится.
В таком стиле знаю ещё одну команду:
📌
# localectl
Не использую вообще, потому что привычная
locale
показывает всю необходимую информацию.Если знаете ещё какие-то полезные команды в составе systemd, поделитесь информацией. Я не знаю и не видел где-либо чтобы кто-то пользовался чем-то ещё.
#systemd
• infosec - это один из самых ламповых каналов по информационной безопасности, где говорят об истории ИТ, публикуют актуальные новости и пишут технический материал на разные темы:
- Что из себя представляет официально взломанный iPhone от Apple?
- Кому и для чего выдавалось разрешение на ношение сотового телефона?
- Бесплатные курсы для ИБ специалистов на различные темы;
- Бесплатный бот, который проверит файлы на предмет угроз более чем 70 антивирусами одновременно.
• Присоединяйся, у нас интересно: @it_secur
- Что из себя представляет официально взломанный iPhone от Apple?
- Кому и для чего выдавалось разрешение на ношение сотового телефона?
- Бесплатные курсы для ИБ специалистов на различные темы;
- Бесплатный бот, который проверит файлы на предмет угроз более чем 70 антивирусами одновременно.
• Присоединяйся, у нас интересно: @it_secur
🎮 Поиграл в очень залипательную браузерную игрушку на тему механики работы процессов в операционной системе:
⇨ You're the OS!
Игра не новая, но я раньше про неё не слышал. Поиграл немного. Увлекательно. Игра из разряда убийц времени, когда тупо хочется потыкать мышкой и ни о чём не думать.
Смысл игры в том, что тебе надо управлять процессами в системе. В левом верхнем углу 4 ядра процессора. Под ним процессы со своими PID в разных состояниях. Нужно эти процессы отправлять на выполнение процессором, пока они не завершатся.
Процессы сначала жёлтого цвета. Когда вы их отправляете на исполнение, они становятся зелёными. Тогда их надо убирать с ядра и ставить на их место другие жёлтые процессы. Если жёлтый процесс долго не отправлять на выполнение, он начинает краснеть и со временем умирает. После 10-ти умерших процессов пользователь перезагружает компьютер и игра прекращается.
По ходу выполнения процессов возникают задержки I/O. Пока есть задержка, процесс не выполняется. Надо кликнуть мышкой по I/O Events, чтобы убрать задержку.
Также по мере работы процессов заполняется оперативная память. Если её будет не хватать, блоки памяти надо скидывать в swap. Как только на исполнение попадает процесс с блоками памяти в swap, он начинает мигать и не выполняется, пока из swap блок не вернёшь в оперативную память.
И вот так всё это непрерывно работает, а тебе надо перемещать процессы, снимать блокировки, перемещать и возвращать блоки памяти.
Игра затягивает, хотя и быстро устаешь, так как нет паузы, и постоянно требуются твои действия. Наглядно показана механика работы с процессами в системе в упрощённом виде. Интересная идея и реализация.
#игра
⇨ You're the OS!
Игра не новая, но я раньше про неё не слышал. Поиграл немного. Увлекательно. Игра из разряда убийц времени, когда тупо хочется потыкать мышкой и ни о чём не думать.
Смысл игры в том, что тебе надо управлять процессами в системе. В левом верхнем углу 4 ядра процессора. Под ним процессы со своими PID в разных состояниях. Нужно эти процессы отправлять на выполнение процессором, пока они не завершатся.
Процессы сначала жёлтого цвета. Когда вы их отправляете на исполнение, они становятся зелёными. Тогда их надо убирать с ядра и ставить на их место другие жёлтые процессы. Если жёлтый процесс долго не отправлять на выполнение, он начинает краснеть и со временем умирает. После 10-ти умерших процессов пользователь перезагружает компьютер и игра прекращается.
По ходу выполнения процессов возникают задержки I/O. Пока есть задержка, процесс не выполняется. Надо кликнуть мышкой по I/O Events, чтобы убрать задержку.
Также по мере работы процессов заполняется оперативная память. Если её будет не хватать, блоки памяти надо скидывать в swap. Как только на исполнение попадает процесс с блоками памяти в swap, он начинает мигать и не выполняется, пока из swap блок не вернёшь в оперативную память.
И вот так всё это непрерывно работает, а тебе надо перемещать процессы, снимать блокировки, перемещать и возвращать блоки памяти.
Игра затягивает, хотя и быстро устаешь, так как нет паузы, и постоянно требуются твои действия. Наглядно показана механика работы с процессами в системе в упрощённом виде. Интересная идея и реализация.
#игра
🎓 У облака от компании beeline есть небольшой бесплатный курс. Сразу скажу, что меня он в первую очередь привлёк тем, что там обещали Бесплатный доступ к облачным сервисам. Никакого бесплатного доступа я не увидел, а курс прослушал, поэтому расскажу вам о нём. Изначально хотел просто глянуть на это облако. Думал, что там к урокам курса дадут какой-то ограниченный доступ.
Курс короткий, обзорный, в основном теоретический. Ничего нового лично я там не узнал, но в целом мне понравилось качество исполнения. Очень хорошо снята и подготовлена информация. Выверенный, записанный материал с чёткой подачей от лекторов. К каждому уроку небольшое видео на 10-20 минут, презентация и методичка, которые можно скачать. Последнее может пригодиться студентам или преподавателям. Документы хорошо оформлены. Можно использовать для каких-то своих целей.
Последние два урока – демонстрация работы лектора. Можно на практике посмотреть, как он работает в VSCode, Postman и терминале.
Для доступа к курсу достаточно использовать только почту. Телефон можно не указывать. Никаких подтверждений не надо. Я прослушал всё на скорости 1,5.
⇨ https://cloud.beeline.ru/devopscloud/
#обучение
Курс короткий, обзорный, в основном теоретический. Ничего нового лично я там не узнал, но в целом мне понравилось качество исполнения. Очень хорошо снята и подготовлена информация. Выверенный, записанный материал с чёткой подачей от лекторов. К каждому уроку небольшое видео на 10-20 минут, презентация и методичка, которые можно скачать. Последнее может пригодиться студентам или преподавателям. Документы хорошо оформлены. Можно использовать для каких-то своих целей.
Последние два урока – демонстрация работы лектора. Можно на практике посмотреть, как он работает в VSCode, Postman и терминале.
Для доступа к курсу достаточно использовать только почту. Телефон можно не указывать. Никаких подтверждений не надо. Я прослушал всё на скорости 1,5.
⇨ https://cloud.beeline.ru/devopscloud/
#обучение
Как организовать гибридную среду, которая объединит вашу инфраструктуру on premise с облаком или несколько облаков?
Существуют разные способы. Об одном из них – сервисе Direct Connect – расскажет Владислав Одинцов, техлид, product owner сетевых сервисов K2 Cloud.
Вы узнаете из первых рук о возможностях сервиса и увидите демонстрацию его работы.
Подключайтесь и задавайте свои вопросы о создании гибридной инфраструктуры «облако+on premise».
22 апреля 11:00
Подробности и регистрация
Существуют разные способы. Об одном из них – сервисе Direct Connect – расскажет Владислав Одинцов, техлид, product owner сетевых сервисов K2 Cloud.
Вы узнаете из первых рук о возможностях сервиса и увидите демонстрацию его работы.
Подключайтесь и задавайте свои вопросы о создании гибридной инфраструктуры «облако+on premise».
22 апреля 11:00
Подробности и регистрация
Для тех, кто ещё не слышал или не знает, расскажу новости про ограничения на загрузку образов из Docker Hub. Вышла какая-то непонятная история, поэтому решил разобраться. Компания Docker анонсировала внедрение новых лимитов на загрузку образов из их хранилища, причём довольно суровых. Обещали только 10 загрузок в час для неаутентифицированных пользователей. То есть сделали в час 10
Ограничение довольно суровое даже для каких-то личных историй с тестами локально, не говоря уже об использовании в пайплайнах. Прогнал несколько отладочных тестов и всё. Для аутентифицированных пользователей, даже бесплатных, обещали 100 запросов в час, что в целом уже приемлемо и можно пользоваться, как прежде.
Я собрался рассказать, как по-быстрому настроить аутентификацию как локально, так и в том же Gitlab. Последние уже запланировали изменение в веб интерфейсе, чтобы можно было легко указать учётные данные для Docker. Также хотел упомянуть про локальные хранилища образов, которые можно развернуть у себя.
Зашёл на днях на страничку с лимитами и удивился, так как никаких новых лимитов там нет, можно не суетиться. Хотя я своими глазами видел, что они были, и даже отдельно была выделена новость, что с 1-го апреля они изменились. По факту сейчас всё так же, как и было: 100 запросов за 6 часов без аутентификации и 200 с ней. Протёр глаза и понял, что мне не мерещится. Реально изменений нет.
Сходу как-то даже новости на нашёл на эту тему. Практически молча всё откатили обратно, как было. Немного поискав, нашёл обновлённую старую новость от 21 февраля:
April 8, 2025: No changes to Docker Hub rate limits at this time
Не знаю, по какой причине, но они передумали вводить новые лимиты. И пообещали, что если опять надумают, то предупредят минимум за 6 месяцев.
Для того, чтобы не зависеть от каких-либо ограничений со стороны Docker Hub, можно использовать свои registry. Настроить их очень просто и быстро. Вообще никаких проблем:
▪️Nexus
▪️Harbor
▪️Gitlab Registry
▪️Docker Registry + UI
Для того, чтобы туда автоматом закидывать образы с Docker Hub, можно воспользоваться, к примеру, Sinker. Или чем-то ещё. Таких утилит много. Можно настроить обращения к Docker Hub так, чтобы не выходить за лимиты, и держать свой локальный registry с актуальными образами.
#docker #devops
docker pull
и получили временный бан, пока лимит не сбросится. Ограничение довольно суровое даже для каких-то личных историй с тестами локально, не говоря уже об использовании в пайплайнах. Прогнал несколько отладочных тестов и всё. Для аутентифицированных пользователей, даже бесплатных, обещали 100 запросов в час, что в целом уже приемлемо и можно пользоваться, как прежде.
Я собрался рассказать, как по-быстрому настроить аутентификацию как локально, так и в том же Gitlab. Последние уже запланировали изменение в веб интерфейсе, чтобы можно было легко указать учётные данные для Docker. Также хотел упомянуть про локальные хранилища образов, которые можно развернуть у себя.
Зашёл на днях на страничку с лимитами и удивился, так как никаких новых лимитов там нет, можно не суетиться. Хотя я своими глазами видел, что они были, и даже отдельно была выделена новость, что с 1-го апреля они изменились. По факту сейчас всё так же, как и было: 100 запросов за 6 часов без аутентификации и 200 с ней. Протёр глаза и понял, что мне не мерещится. Реально изменений нет.
Сходу как-то даже новости на нашёл на эту тему. Практически молча всё откатили обратно, как было. Немного поискав, нашёл обновлённую старую новость от 21 февраля:
April 8, 2025: No changes to Docker Hub rate limits at this time
Не знаю, по какой причине, но они передумали вводить новые лимиты. И пообещали, что если опять надумают, то предупредят минимум за 6 месяцев.
Для того, чтобы не зависеть от каких-либо ограничений со стороны Docker Hub, можно использовать свои registry. Настроить их очень просто и быстро. Вообще никаких проблем:
▪️Nexus
▪️Harbor
▪️Gitlab Registry
▪️Docker Registry + UI
Для того, чтобы туда автоматом закидывать образы с Docker Hub, можно воспользоваться, к примеру, Sinker. Или чем-то ещё. Таких утилит много. Можно настроить обращения к Docker Hub так, чтобы не выходить за лимиты, и держать свой локальный registry с актуальными образами.
#docker #devops
🌐 Хотите освоить фильтрацию трафика в Linux? Погрузитесь в мир IPTables и nftables!
📅 На вебинаре 17 апреля 2025 года в 19:00 мск мы разберём основные возможности сетевого фильтра IPTables на примере Ubuntu 24.04 и изучим взаимодействие с новой подсистемой nftables.
🎤 Спикер Николай Лавлинский — эксперт веб-разработки с более чем 15-летним опытом, опытный преподаватель (10+ лет). Николай занимался техническим руководством и оптимизацией клиентской и серверной производительности веб-приложений в более чем 100 проектах.
✨ Преимущества участия: поймёте архитектуру подсистемы Netfilter, освоите основные команды утилиты iptables и научитесь настраивать рабочую конфигурацию сетевого фильтра для реального сервера.
Все участники вебинара получат скидку на курс "Administrator Linux. Basic".
Для участия зарегистрируйтесь https://clck.ru/3LPtPV
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
📅 На вебинаре 17 апреля 2025 года в 19:00 мск мы разберём основные возможности сетевого фильтра IPTables на примере Ubuntu 24.04 и изучим взаимодействие с новой подсистемой nftables.
🎤 Спикер Николай Лавлинский — эксперт веб-разработки с более чем 15-летним опытом, опытный преподаватель (10+ лет). Николай занимался техническим руководством и оптимизацией клиентской и серверной производительности веб-приложений в более чем 100 проектах.
✨ Преимущества участия: поймёте архитектуру подсистемы Netfilter, освоите основные команды утилиты iptables и научитесь настраивать рабочую конфигурацию сетевого фильтра для реального сервера.
Все участники вебинара получат скидку на курс "Administrator Linux. Basic".
Для участия зарегистрируйтесь https://clck.ru/3LPtPV
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Сейчас будет неожиданная заметка, после которой кто-то подумает, а может и напишет, что автор нуб, не знает таких очевидных вещей. Чего мне только не писали в комментариях. Из того, что запомнилось, это то, что меня бы на работу не взяли, такого бездаря. Также говорили, что я не достоин называться системным администратором.
Всё время, что работал администратором Windows, и будучи пользователем Windows, смотрел список сохранённых паролей в системе через Панель управления ⇨ Учетные записи пользователей ⇨ Диспетчер учетных данных.
А если в командной строке ввести команду:
То откроется другой интерфейс для управления этими же сохранёнными данными. Я его на днях увидел вообще впервые.
Учётные данные оказывается можно сохранить и восстановить на другом компьютере. Никогда не знал об этом, хотя в панели управления тоже есть такая возможность, но я просто не обращал на неё внимание. А в предложенном интерфейсе они на виду, сразу заметил. Сколько раз я грустил, когда терял эти данные, не зная, что их можно переносить на другой компьютер. Я думал, они хранятся в шифрованном виде и привязаны к конкретной машине, чтобы их труднее было украсть в сохранённом виде.
Для того, чтобы не пропускать такие простые и не совсем очевидные вещи полезно сертифицироваться, даже если вам сертификат формально не нужен. Обычно вот такие примочки во время подготовки и узнаешь. Хотя у меня есть сертификат Microsoft Certified Professional (MCP), но уже не помню, было там такое или нет. Получал очень давно. Обратил тогда внимание, что узнал много таких вещей, о которых даже слышать не приходилось на учёбе или работе.
#windows
Всё время, что работал администратором Windows, и будучи пользователем Windows, смотрел список сохранённых паролей в системе через Панель управления ⇨ Учетные записи пользователей ⇨ Диспетчер учетных данных.
А если в командной строке ввести команду:
> rundll32.exe keymgr.dll,KRShowKeyMgr
То откроется другой интерфейс для управления этими же сохранёнными данными. Я его на днях увидел вообще впервые.
Учётные данные оказывается можно сохранить и восстановить на другом компьютере. Никогда не знал об этом, хотя в панели управления тоже есть такая возможность, но я просто не обращал на неё внимание. А в предложенном интерфейсе они на виду, сразу заметил. Сколько раз я грустил, когда терял эти данные, не зная, что их можно переносить на другой компьютер. Я думал, они хранятся в шифрованном виде и привязаны к конкретной машине, чтобы их труднее было украсть в сохранённом виде.
Для того, чтобы не пропускать такие простые и не совсем очевидные вещи полезно сертифицироваться, даже если вам сертификат формально не нужен. Обычно вот такие примочки во время подготовки и узнаешь. Хотя у меня есть сертификат Microsoft Certified Professional (MCP), но уже не помню, было там такое или нет. Получал очень давно. Обратил тогда внимание, что узнал много таких вещей, о которых даже слышать не приходилось на учёбе или работе.
#windows
Ещё немного откровений по Windows. Эта тема мне давно знакома, но решил её углубить и заодно поделиться с теми, кто раньше не слышал о ней. ОС Windows умеет автоматически определять, подключен ли интернет на компьютере или нет. И делает она это следующим образом:
1️⃣ Делает DNS запрос для домена dns.msftncsi.com и ожидает ответ 131.107.255.255.
2️⃣ Делает HTTP запрос по адресу www.msftconnecttest.com/connecttest.txt и ожидает получить в текстовом файле фразу "Microsoft Connect Test".
Проверки могут отличаться в разных версиях Windows. Приведённую выше информацию я посмотрел у себя в Win11.
А теперь самое интересное. Это поведение настраивается через реестр. Есть ветка
◽️ActiveDnsProbeHost - DNS имя для проверки
◽️ActiveDnsProbeContent - ожидаемый ответ от DNS проверки
◽️ActiveWebProbeHost - веб сервер для HTTP проверки
◽️ActiveWebProbePath - имя текстового файла на веб сервере
◽️ActiveWebProbeContent - содержимое текстового файла
Эти параметры вы можете менять любым доступным вам способом. Указав здесь свой веб сервер, вы получаете возможность актуализировать проверку, если стандартные адреса Microsoft недоступны.
А если для каждого компьютера создать уникальный путь или текстовый файл, то сможете отслеживать его местоположение на основе анализа лог файлов веб сервера. Причём вы будете получать информацию о клиентах практически сразу, как у них появится интернет. Пользователь без особых знаний и прав не сможет эти параметры изменить. Он может подключиться к интернету, включить VPN и потом уже подключаться к вам, чтобы маскировать своё местоположение. Но эта проверка скорее всего состоится раньше, чем он успеет подключиться.
Такой вот неочевидный, но в некоторых ситуациях полезных хак, который можно использовать как на работе, так и в личных целях. Можно банально отслеживать моменты включения и работы системы. При запуске она всегда делает проверку, и потом ещё периодически во время работы.
В логе веб сервера вы будете видеть примерно следующее:
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#windows
Проверки могут отличаться в разных версиях Windows. Приведённую выше информацию я посмотрел у себя в Win11.
А теперь самое интересное. Это поведение настраивается через реестр. Есть ветка
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet
с параметрами:◽️ActiveDnsProbeHost - DNS имя для проверки
◽️ActiveDnsProbeContent - ожидаемый ответ от DNS проверки
◽️ActiveWebProbeHost - веб сервер для HTTP проверки
◽️ActiveWebProbePath - имя текстового файла на веб сервере
◽️ActiveWebProbeContent - содержимое текстового файла
Эти параметры вы можете менять любым доступным вам способом. Указав здесь свой веб сервер, вы получаете возможность актуализировать проверку, если стандартные адреса Microsoft недоступны.
А если для каждого компьютера создать уникальный путь или текстовый файл, то сможете отслеживать его местоположение на основе анализа лог файлов веб сервера. Причём вы будете получать информацию о клиентах практически сразу, как у них появится интернет. Пользователь без особых знаний и прав не сможет эти параметры изменить. Он может подключиться к интернету, включить VPN и потом уже подключаться к вам, чтобы маскировать своё местоположение. Но эта проверка скорее всего состоится раньше, чем он успеет подключиться.
Такой вот неочевидный, но в некоторых ситуациях полезных хак, который можно использовать как на работе, так и в личных целях. Можно банально отслеживать моменты включения и работы системы. При запуске она всегда делает проверку, и потом ещё периодически во время работы.
В логе веб сервера вы будете видеть примерно следующее:
178.18.225.228 - - [13/Apr/2025:13:45:23 +0300] "GET /connecttest.txt HTTP/1.1" 200 18 "-" "Microsoft NCSI"
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#windows
Please open Telegram to view this post
VIEW IN TELEGRAM
Изучение концепции Service Mesh и практическое руководство по установке и настройке Istio в Kubernetes.
На вебинаре вы узнаете:
1. Что такое Service Mesh и его значение в современной разработке ПО.
2. Основные функции и возможности Istio как одного из ведущих инструментов Service Mesh.
3. Как установить Istio в кластер Kubernetes и настроить базовые политики управления трафиком.
В результате вебинара:
- Вы получите четкое представление о Service Mesh и его применении.
- Научитесь устанавливать и конфигурировать Istio в Kubernetes кластере.
- Овладеете базовыми навыками настройки политик управления трафиком с использованием Istio.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Небольшой практический совет во время отладки в консоли Linux. Иногда хочется узнать, в каком окружении работает то или иное приложение. Поти вся информация о процессах в Linux живёт в
Всё в одну строчку. Не воспринимается глазами вообще. Можно ещё вот так посмотреть:
Тоже не очень наглядно. Так как у нас консоль и bash, то вывод можно как угодно обрабатывать, чтобы было удобно. Проще всего взять
или то же самое, но немного по-другому:
Я уже болен cat-офилией и привык везде её использовать. Уже даже не пытаюсь переучиться. Вместо
На выходе получаем аккуратный список окружения процесса, где можно увидеть нужные нам нюансы быстрее и нагляднее, чем где-то в другом месте. И запоминать особо не надо, конструкция несложная. Главное ключ
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#linux #bash
/proc/<pid>
, в том числе и об его окружении. Посмотреть можно так:# cat /proc/816/environ
LANG=en_US.UTF-8PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/binHOME=/var/lib/zabbixLOGNAME=zabbixUSER=zabbixSHELL=/sbin/nologinCONFFILE=/etc/zabbix/zabbix_agentd.conf
Всё в одну строчку. Не воспринимается глазами вообще. Можно ещё вот так посмотреть:
# ps e -ww -p 816
Тоже не очень наглядно. Так как у нас консоль и bash, то вывод можно как угодно обрабатывать, чтобы было удобно. Проще всего взять
xargs
, так как у него есть ключ --null
, который позволяет разделять строку, используя разделителем так называемый NULL character. Я уже как-то раз писал про него. Иногда его удобно использовать, в том числе в find
с ключом -print0
.# cat /proc/816/environ | xargs --null --max-args=1
или то же самое, но немного по-другому:
# xargs --null --max-args=1 echo < /proc/816/environ
LANG=en_US.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
HOME=/var/lib/zabbix
LOGNAME=zabbix
USER=zabbix
SHELL=/sbin/nologin
CONFFILE=/etc/zabbix/zabbix_agentd.conf
Я уже болен cat-офилией и привык везде её использовать. Уже даже не пытаюсь переучиться. Вместо
grep
постоянно делаю cat | grep
. Вы выбирайте, что вам легче запоминается.На выходе получаем аккуратный список окружения процесса, где можно увидеть нужные нам нюансы быстрее и нагляднее, чем где-то в другом месте. И запоминать особо не надо, конструкция несложная. Главное ключ
--null
запомнить.❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#linux #bash
Ещё одна реально полезная мулька в системе Windows, которую имеет смысл запомнить и применять, если у вас рабочая станция под управлением этой системы. Речь пойдёт про команду Powershell – Test-NetConnection. У неё есть простое и удобное сокращение –
Не буду писать всё, что она умеет. Никому эти списки всё равно реально не нужны. Они будут сохранены и забыты. Я посмотрел и прикинул, что мне лично показалось полезной в этой утилите.
1️⃣ Проверка работы интернета. У меня привычка проверять интернет так: ping ya.ru. На автомате это делаю. Пингую Яндекс. Вместо этого можно просто запустить tnc.
Запущенный без параметров он пингует домен internetbeacon.msedge.net, показывает его IP, показывает твой локальный IP и тип соединения (проводной/беспроводной), что удобно, если используешь и Ethernet и WiFi. У меня часто бывает, что не знаю, как подключен. Когда дома сажусь за рабочий стол, всегда подключаю провод, иногда забываю отключить WiFi, если сидел с ноутом на кухне или ещё где-то.
Тут и писать меньше, и информации сразу получаешь больше. В общем, удобно.
2️⃣ Проверка доступности порта, как замена telnet.
Синтаксис интуитивный, запоминать особо не надо. Понравилось то, что просто проверяется доступность, нет попытки подключиться к сервису, как в telent. Чаще всего подключаться не надо. Telnet подключится и будет ждать ввода команд. И дальше начинается перебор всего, что в голову приходит, чтобы быстро отключиться. Если не получается, просто закрываю терминал.
Наверное можно было бы чем-то ещё быстро порты смотреть, но лично я привык использовать telnet. Его ещё и ставить сейчас надо отдельно. В базовой системе нет. С tnc получается удобнее. Буду использовать.
Tnc ещё умеет пинговать, трассировать, проверять маршруты. Много всего, но мне не показалось удобным делать это именно там. Не стал запоминать и рассказывать. Если интересно, посмотрите сами.
#windows
tnc
.Не буду писать всё, что она умеет. Никому эти списки всё равно реально не нужны. Они будут сохранены и забыты. Я посмотрел и прикинул, что мне лично показалось полезной в этой утилите.
> tnc
ComputerName : internetbeacon.msedge.net RemoteAddress : 13.107.4.52 InterfaceAlias : Беспроводная сеть SourceAddress : 192.168.140.82 PingSucceeded : True PingReplyDetails (RTT) : 73 ms
Запущенный без параметров он пингует домен internetbeacon.msedge.net, показывает его IP, показывает твой локальный IP и тип соединения (проводной/беспроводной), что удобно, если используешь и Ethernet и WiFi. У меня часто бывает, что не знаю, как подключен. Когда дома сажусь за рабочий стол, всегда подключаю провод, иногда забываю отключить WiFi, если сидел с ноутом на кухне или ещё где-то.
Тут и писать меньше, и информации сразу получаешь больше. В общем, удобно.
> tnc ya.ru -p 80
ComputerName : ya.ru
RemoteAddress : 5.255.255.242
RemotePort : 443
InterfaceAlias : Беспроводная сеть
SourceAddress : 192.168.140.82
TcpTestSucceeded : True
Синтаксис интуитивный, запоминать особо не надо. Понравилось то, что просто проверяется доступность, нет попытки подключиться к сервису, как в telent. Чаще всего подключаться не надо. Telnet подключится и будет ждать ввода команд. И дальше начинается перебор всего, что в голову приходит, чтобы быстро отключиться. Если не получается, просто закрываю терминал.
Наверное можно было бы чем-то ещё быстро порты смотреть, но лично я привык использовать telnet. Его ещё и ставить сейчас надо отдельно. В базовой системе нет. С tnc получается удобнее. Буду использовать.
Tnc ещё умеет пинговать, трассировать, проверять маршруты. Много всего, но мне не показалось удобным делать это именно там. Не стал запоминать и рассказывать. Если интересно, посмотрите сами.
#windows
Please open Telegram to view this post
VIEW IN TELEGRAM
Открытый практикум DevOps by Rebrain: Разработка модели угроз продукта N
После регистрации мы отправим вам подарок! Вы сможете найти его в ответном письме.
👉 Регистрация
Время проведения:
22 апреля (вторник), 19:00 по МСК
Программа практикума:
▪️ Совместно с участниками вебинара будем анализировать возможные проблемы безопасности
▫️ На основе упрощенной архитектуры продукта выполним построение модели угроз
▪️ Обсудим результаты
Кто ведёт?
Андрей Моисеев — DevSecOps направления Cloud Native Security MTS Web Services. Спикер конференций HighLoad++, DevOps, SafeCode, HeisenBug. Занимался безопасностью с обеих сторон сертификации. Развивает процессы и инструменты DevSecOps.
Бесплатные практикумы по DevOps, Linux, Networks и Golang от REBRAIN каждую неделю. Подключайтесь!
Реклама. ООО "РЕБРЕИН", ИНН: 7727409582, erid: 2W5zFJuUVur
После регистрации мы отправим вам подарок! Вы сможете найти его в ответном письме.
👉 Регистрация
Время проведения:
22 апреля (вторник), 19:00 по МСК
Программа практикума:
▪️ Совместно с участниками вебинара будем анализировать возможные проблемы безопасности
▫️ На основе упрощенной архитектуры продукта выполним построение модели угроз
▪️ Обсудим результаты
Кто ведёт?
Андрей Моисеев — DevSecOps направления Cloud Native Security MTS Web Services. Спикер конференций HighLoad++, DevOps, SafeCode, HeisenBug. Занимался безопасностью с обеих сторон сертификации. Развивает процессы и инструменты DevSecOps.
Бесплатные практикумы по DevOps, Linux, Networks и Golang от REBRAIN каждую неделю. Подключайтесь!
Реклама. ООО "РЕБРЕИН", ИНН: 7727409582, erid: 2W5zFJuUVur
Я периодически использую Rocket.Chat. На текущий момент это хоть и не без недостатков, но тем не менее наиболее функциональное бесплатное решение для сервера чата, установленного на своих серверах. В целом, работает нормально, но утомляет его постоянное обновление. Нет LTS версии, минимум раз в пол года, а обычно и чаще, надо обновлять сервер с ненулевой вероятностью получить проблемы.
Рассказать я хотел не о нём. Чтобы не держать постоянно запущенным клиента Rocket.Chat, решил поднять для него шлюз в Telegram, чтобы пересылал туда сообщения. Нашёл довольно популярный проект Matterbridge, который поддерживает очень много популярных чатов:
◽️Discord
◽️IRC
◽️Matrix
◽️Mattermost
◽️Microsoft Teams
◽️Nextcloud Talk
◽️Rocket.chat
◽️Slack
◽️Telegram
◽️Twitch
◽️VK
◽️WhatsApp
◽️XMPP
◽️Zulip
Оставил наиболее известные. Полный список ещё больше. Причём поддерживает он их, что называется, нативно. Там буквально надо указать адрес сервера, логин, пароль, либо токен, название чата или группы и всё должно работать.
Сразу скажу, что у меня не получилось настроить передачу из рокета в телегу. Я не знаю прочему. Бился пару часов, решить не смог, бросил. Получал постоянно ошибку, с которой справиться не смог. Но в целом, судя по описанию, вещь вполне рабочая и настраивается относительно легко. Покажу свой конфиг, который с точки зрения синтаксиса сделан правильно. Можно взять его за основу. Имя файла
Там логика такая, что сначала описывается доступ ко всем чатам-серверам, а потом указывается направление пересылки и конкретные чаты и группы, куда будут направляться сообщения.
Запускаем шлюз через простенький
Если в конфигурации будут ошибки, об этом будет информация и контейнер завершит работу.
Описание настроек для всех поддерживаемых чатов есть в wiki. Можно указывать разные направления пересылок, как в одну, так и в другую сторону, или двустороннюю пересылку. Также можно сообщения пересылать в несколько разных приёмников. Например, из группы Телеграм в несколько разных чатов. Если будете настраивать пересылку в или из Telegram, внимательно прочитайте последовательность действий в wiki. Обязательно отключить боту Privacy mode и после этого вывести его из группы и завести снова. Я пока последнее не сделал, не работало ничего в телеге.
Проект полуживой, развивается последнее время слабо. В Issues много мелких и средних багов, так как чаты постоянно обновляются и надо следить за их поддержкой. Но в целом, это работает. Ничего лучше я лично не видел с таким количеством поддерживаемых чатов. Особенно удивила поддержка ВК. Если кто-то знает что-то лучше, поделитесь информацией.
⇨ 🌐 Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#chat
Рассказать я хотел не о нём. Чтобы не держать постоянно запущенным клиента Rocket.Chat, решил поднять для него шлюз в Telegram, чтобы пересылал туда сообщения. Нашёл довольно популярный проект Matterbridge, который поддерживает очень много популярных чатов:
◽️Discord
◽️IRC
◽️Matrix
◽️Mattermost
◽️Microsoft Teams
◽️Nextcloud Talk
◽️Rocket.chat
◽️Slack
◽️Telegram
◽️Twitch
◽️VK
◽️XMPP
◽️Zulip
Оставил наиболее известные. Полный список ещё больше. Причём поддерживает он их, что называется, нативно. Там буквально надо указать адрес сервера, логин, пароль, либо токен, название чата или группы и всё должно работать.
Сразу скажу, что у меня не получилось настроить передачу из рокета в телегу. Я не знаю прочему. Бился пару часов, решить не смог, бросил. Получал постоянно ошибку, с которой справиться не смог. Но в целом, судя по описанию, вещь вполне рабочая и настраивается относительно легко. Покажу свой конфиг, который с точки зрения синтаксиса сделан правильно. Можно взять его за основу. Имя файла
matterbridge.toml
:[rocketchat]
[rocketchat.myrocketchat]
Server="https://serveradmin.rocket.chat:443"
Login="rocketuser@gmail.com"
Password="topsecret"
PrefixMessagesWithNick=false
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
[telegram]
[telegram.mytelegram]
Token="13992116911:BBHtEAKqxUHYt45PoWwxKfvH5TR6-vdNw"
RemoteNickFormat="<{NICK}> "
MessageFormat=""
QuoteFormat="{MESSAGE} (re @{QUOTENICK}: {QUOTEMESSAGE})"
QuoteLengthLimit=46
IgnoreMessages="^/"
[[gateway]]
name="Serveradmin_gateway"
enable=true
[[gateway.inout]]
account="telegram.mytelegram"
channel="-1001331797787"
[[gateway.inout]]
account="rocketchat.myrocketchat"
channel="test-room"
Там логика такая, что сначала описывается доступ ко всем чатам-серверам, а потом указывается направление пересылки и конкретные чаты и группы, куда будут направляться сообщения.
Запускаем шлюз через простенький
docker-compose.yml
:services:
matterbridge:
image: 42wim/matterbridge:stable
restart: unless-stopped
volumes:
- ./matterbridge.toml:/etc/matterbridge/matterbridge.toml:ro
# docker compose up
Если в конфигурации будут ошибки, об этом будет информация и контейнер завершит работу.
Описание настроек для всех поддерживаемых чатов есть в wiki. Можно указывать разные направления пересылок, как в одну, так и в другую сторону, или двустороннюю пересылку. Также можно сообщения пересылать в несколько разных приёмников. Например, из группы Телеграм в несколько разных чатов. Если будете настраивать пересылку в или из Telegram, внимательно прочитайте последовательность действий в wiki. Обязательно отключить боту Privacy mode и после этого вывести его из группы и завести снова. Я пока последнее не сделал, не работало ничего в телеге.
Проект полуживой, развивается последнее время слабо. В Issues много мелких и средних багов, так как чаты постоянно обновляются и надо следить за их поддержкой. Но в целом, это работает. Ничего лучше я лично не видел с таким количеством поддерживаемых чатов. Особенно удивила поддержка ВК. Если кто-то знает что-то лучше, поделитесь информацией.
⇨ 🌐 Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#chat
GitHub
Home
bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API...