1. 1ХХ (информация)
101 Switching Protocols — Запрос принят, сервер предлагает дальнейшее взаимодействие выполнять по другому протоколу (например, WebSocket).
2. 2ХХ (успешное выполнение)
200 OK — Запрос выполнен успешно.
201 Created — В результате выполнения запроса на сервере был успешно создан ресурс (например, в ответ на запрос PUT).
3. 3ХХ (перенаправление)
301 Moved Permanently — Запрошенный ресурс был перемещен. Новый URL ресурса указывается в заголовке ответа Location. В дальнейшем клиенту рекомендуется использовать новый URL.
302 Found — Запрошенный ресурс был временно перемещен в другое место. Новый URL ресурса указывается в заголовке ответа Location. В дальнейшем клиенту рекомендуется использовать старый URL, т.к. перемещение временное.
304 Not Modified — Запрошенный ресурс не был изменен, поэтому можно взять ресурс из кэша, а не передавать его по сети.
4. 4ХХ (ошибка клиента)
400 Bad Request — Запрос не может быть обработан из-за ошибки синтаксиса.
403 Forbidden — Доступ к запрошенному клиентом ресурсу запрещен.
404 Not Found — Запрошенный ресурс не найден на сервере.
5. 5ХХ (ошибка сервера)
500 Internal Server Error — Запрос не может быть выполнен из-за внутренней ошибки в программном обеспечении сервера.
501 Not Implemented — Сервер не поддерживает запрошенную функциональность, например, не может выполнить запрошенный метод HTTP для указанного ресурса.
505 HTTP Version Not Supported — Версия HTTP, указанная в запросе, не поддерживается.
Полный список кодов ответов с описанием можно посмотреть в разделе «Status Codes» документа RFC 9110.
#HTTP #Status |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥1
Начинаем объемную рубрику, которая посвящена ошибкам веб-сервера Nginx, с которыми вы сталкивались или столкнетесь
Стартуем с самой тяжелой ошибки — Unable to connect/Refused to Connect
Если при попытке получить доступ к вашему сайту вы видите следующие ошибки — Firefox can’t establish a connection to the server at www.example.com, или www.example.com refused to connect, то причины следующие:
sudo systemctl status nginx. Запустите Nginx с помощью
sudo systemctl start nginx. Если Nginx не удается запустить, запустите sudo nginx -t, чтобы выяснить, нет ли ошибок в вашем конфигурационном файле, и проверьте логи (sudo journalctl -eu nginx), чтобы выяснить, почему он не запускается.Брандмауэр блокирует порты 80 и 443: если вы используете брандмауэр UFW на Debian/Ubuntu, выполните sudo ufw allow 80,443/tcp, чтобы открыть TCP порты 80 и 443.
— Если вы используете Firewalld на RHEL/CentOS/Rocky Linux/AlmaLinux, выполните
sudo firewall-cmd –permanent –add-service={http,https}, затем sudo systemctl reload firewalld, чтобы открыть TCP порты 80 и 443.Fail2ban: если ваш сервер использует его для блокировки вредоносных запросов — представим, fail2ban запретил ваш IP-адрес.
Решение: выполните команду
sudo journalctl -eu fail2ban, чтобы проверить, не заблокирован ли ваш IP-адрес. Вы можете добавить свой IP-адрес в список fail2ban ignoreip, чтобы он получил разбан.#Nginx |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥6⚡1
В общем случае с помощью shell команды можно получить любую метрику, без написания кода и интеграций. А значит в консоли должен быть простой и удобный инструмент для визуализации.
— Наблюдение за изменением состояния в базе данных, мониторинг размера очередей, телеметрия с удаленных серверов, запуск деплой скриптов и получение нотификации по завершению — конфигурируется за минуту простым YAML файлом.
Но, зачем мне твоя бурда, когда у меня есть, допустим, полноценные системы мониторинга? - а я сразу оговорюсь, что это ни в коей мере не альтернатива полномасштабным дашбордам и мониторингу. Сравнивать Sampler c Prometheus+Grafana — то же что сравнивать tail и less с Elastic Stack или Splunk.
Но если поднимать и настраивать продакшн мониторинг для вашей задачи — как из пушки по воробьям, то возможно Sampler будет ответом на вопрос. Он задумывался как инструмент для прототипирования, демонстраций, или просто наблюдения за метриками на локали и удаленном сервере. Вы можете подумать, что его надо ставить на все сервера, но нет, запускаем локально, но метрики собираем с удалённых тачек.
Каждый компонент на дашборде имеет init секцию, где можно произвести вход по ssh (или сделать любое другое действие для входа в interactive shell — установить соединение с БД, подключиться по JMX, авторизоваться в API, итп)
Как бекенд-программисту, мне часто приходится отлаживать, прототипировать и измерять. Отсюда и регулярная необходимость визуализации и мониторинга на скорую руку.
#DevOps #shell #prototyping |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥4👎1
Media is too big
VIEW IN TELEGRAM
В видеоматериале автор с канала ВНИКНИ расскажет как выделить подсеть нужного размера из большой IP сети, как быстро и наглядно вычислить все адреса компьютеров в нужной подсети, маску для подсети нужного размера, как найти первые и последние адреса формируемых подсетей и как выделить несколько подсетей разного размера.
#IP #Subnet #Summarization
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22
Проксмокс, он же прокс, он же Proxmox VE, или Proxmox Virtual Environment - в очередной раз обновился. Платформа виртуализации, плавно, в отличии от конкурентов развивающаяся уже 16 с половиной лет (!), вышла, в этот раз, с небольшим, но интересным списком обновлений.
— Эта версия построена на базе Debian 12.8 (Bookworm), но использует ядро Linux 6.8.12-4 по умолчанию, с возможностью выбора ядра 6.11. Программное обеспечение включает обновления таких технологий, как QEMU 9.0.2, LXC 6.0.0 и ZFS 2.2.6 (с совместимостью для ядра 6.11).
1. Интеграция SDN и брандмауэра: SDN позволяет создавать виртуальные сети (VNet-ы) и управлять ими через веб-интерфейс Proxmox VE. Теперь SDN интегрирован с брандмауэром, автоматически создавая IP-set-ы для VNet-ов и виртуальных гостей. Это упрощает создание и управление правилами брандмауэра. Новый брандмауэр на основе nftables может фильтровать сетевой трафик как на уровне хоста, так и на уровне VNet.
2. Webhook-и для системы уведомлений: Система уведомлений Proxmox позволяет настраивать HTTP-запросы для различных событий, таких как обновления системы или проблемы с узлами кластера. Это позволяет интегрироваться с сервисами, поддерживающими webhook-и.
3. Новая функция «Tag View» для дерева ресурсов: Позволяет пользователям быстро видеть виртуальных гостей, сгруппированных по тегам.
4. Поддержка Ceph Squid (technology preview): Добавлена поддержка Ceph Squid 19.2.0, а также продолжается поддержка Ceph Reef 18.2.4 и Ceph Quincy 17.2.7. Пользователи могут выбрать предпочтительную версию Ceph при установке.
5. Быстрее резервные копии контейнеров: При резервном копировании контейнеров на Proxmox Backup Server теперь можно пропускать файлы, которые не изменились с момента последнего бэкапа, что ускоряет процесс.
6. Миграция с других гипервизоров: Упрощен импорт виртуальных машин из форматов OVF и OVA через веб-интерфейс Proxmox VE. Также появился мастер импорта для миграции виртуальных машин с других гипервизоров, таких как VMware.
Proxmox VE 8.3 доступен для скачивания тут. ISO-образ содержит полный набор функций и может быть установлен на "голое железо". Обновления дистрибутива с более ранних версий Proxmox VE возможны через apt. Возможно установить Proxmox VE 8.3 в Debian.
#VE #Proxmox |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Стресс-тестирование Linux — ключевой этап подготовки серверов к реальной работе.
Оно позволяет выявить слабые места системы, проверить её устойчивость под высокой нагрузкой и подготовиться к неожиданным пиковым ситуациям. Разберем простые методы и мощные инструменты, которые помогут нагрузить систему и оценить её поведение.
Методы стресс-тестирования Linux
1. Нагрузка через циклы
Создание бесконечных циклов нагружает процессор. Это простой способ проверить систему.
Запуск нагрузки:
for i in 1 2 3 4; do while : ; do : ; done & done
Каждый цикл запускается в фоновом режиме и увеличивает нагрузку на ЦП.
Мониторинг нагрузки:
Запускайте команду uptime каждые 30 секунд, чтобы наблюдать за изменением средней загрузки:
while true; do uptime; sleep 30; done
Остановка нагрузки:
Чтобы завершить циклы, используйте kill, указав номера заданий:
kill %1 %2 %3 %4
2. Использование утилиты stress
stress — мощный инструмент, который позволяет создавать нагрузку на различные ресурсы системы: ЦП; память; ввод/вывод
Примеры использования stress:
• Нагрузка на процессор:
stress --cpu 4
Чем больше указано ядер (--cpu), тем выше нагрузка на систему.
• Нагрузка на память:
stress --vm 2
• Нагрузка на ввод/вывод (I/O):
stress --io 4
Для анализа работы ввода/вывода используйте iotop:
sudo iotop
3. Написание скриптов для мониторинга
Для удобного отслеживания нагрузки вы можете написать скрипт. Например, для мониторинга использования памяти:
#!/bin/bash
while true
do
free
sleep 30
doneСкрипт отображает использование памяти каждые 30 секунд. Вы можете адаптировать его под свои задачи.
Проведение стресс-тестов помогает: подготовиться к реальным пиковым нагрузкам; улучшить производительность системы; найти и устранить возможные проблемы на этапе разработки.
#Stress |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Продолжаем сложный разбор полетов ошибок веб-сервера Nginx.
• Ошибка 404 Not Found: ошибка означает, что Nginx не может найти ресурсы, которые запрашивает ваш веб-браузер
Причины могут быть следующие:
1. Корневой каталог web не существует на вашем сервере. В Nginx корневой веб-каталог настраивается с помощью директивы root, например, так:
root /usr/share/nginx/linuxbabe.com/; Убедись, что файлы вашего сайта (HTML, CSS, JavaScript, PHP) хранятся в правильном каталоге.2. PHP-FPM не запущен. Вы можете проверить статус PHP-FPM с помощью
sudo systemctl status php7.4-fpm (Debian/Ubuntu) или sudo systemctl status php-fpm.3. Вы забыли включить директиву try_files $uri /index.php$is_args$args в конфигурационный файл сервера Nginx. Эта директива необходима для обработки PHP-кода.
4. На вашем сервере нет свободного дискового пространства. Попробуйте освободить немного дискового пространства. Вы можете использовать утилиту ncdu (
sudo apt install ncdu или sudo dnf install ncdu) чтобы узнать, какие каталоги занимают большое количество дискового пространства.• Ошибка 403 Forbidden: здесь все просто — вам запрещен доступ к ресурсам запроса, а причины такого исхода событий интересные до жути
1. Администратор сайта блокирует публичный доступ к запрашиваемым ресурсам с помощью Black списка IP-адресов или других методов.
2. На сайте может использоваться брандмауэр веб-приложения, например ModSecurity, который обнаружил атаку вторжения, поэтому заблокировал запрос.
3. Некоторые веб-приложения могут показывать другое сообщение об ошибке, когда происходит запрет 403. Оно может сказать вам, что “secure connection failed", хотя причина та же.
#Nginx |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥1
Теория: Графические приложения в юникс обычно используют X-сервер (wayland в пути, но всё ещё не готов). Это означает, что приложение запускается и подключается к X-серверу для рисования. Иными словами, если у вас есть голый сервер без гуя и есть локальный x-сервер (в котором вы работаете), то вы можете дать возможность приложениям с сервера рисовать у вас на рабочем столе.
SSH позволяет упростить этот процесс и сделать его совсем безопасным. А возможность жать трафик позволяет ещё и обойтись меньшим трафиком (т.е. уменьшить утилизацию канала, то есть уменьшить ping (точнее, latency), то есть уменьшить лаги).
Достаточно просто запомнить комбинацию
ssh -XYC user@SERVER. Безопасность microsoft при работе в сети мы все хорошо знаем, так что выставлять наружу голый RDP неуютно. Вместо этого мы подключаемся к серверу по ssh, а дальше запускаем там команду rdesktop:ssh ricrdesktop -k en-us 192.168.1.1 -g 1900x1200#SSH |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥4
В посте описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт SSH:
— управление ключами SSH
— проброс портов
— алиасы в SSH
— ключ сервера SSH
— вложенные туннели
— динамический проброс портов
— проброс авторизации
— проброс X-сервера
— реверс сокс-прокси
#SSH |
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍5
Сетевик Джонни // Network Admin
Допустим, мы хотим сделать запрос к программе удалённо, а потом её вывод поместить в локальный файл
ssh user@8.8.8.8 command >my_file
Допустим, мы хотим локальный вывод положить удалённо
mycommand |scp — user@8.8.8.8:/path/remote_file
Усложним пример — мы можем прокидывать файлы с сервера на сервер: Делаем цепочку, чтобы положить stdin на 10.1.1.2, который нам не доступен снаружи:
mycommand | ssh user@8.8.8.8 «scp — user@10.1.1.2:/path/to/file»
Есть и вот такой головоломный приём использования pipe'а (любезно подсказали в комментариях в жж):
tar -c * | ssh user@server "cd && tar -x"
Tar запаковывает файлы по маске локально, пишет их в stdout, откуда их читает ssh, передаёт в stdin на удалённом сервере, где их cd игнорирует (не читает stdin), а tar — читает и распаковывает. Так сказать, scp для бедных.
#SSH |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥4
Сетевик Джонни // Network Admin
🥷 Джонни вещает: туннелирование
Если к этому моменту попа отдела безопасности не сияет лысиной, а SSH всё ещё не внесён в список врагов безопасности номер один, вот вам окончательный убийца всего и вся: туннелирование IP или даже ethernet. В самых радикальных случаях это позволяет туннелировать DHCP, заниматься удалённым arp-спуфингом, делать wake up on lan и прочие безобразия второго уровня.
Подробнее описано тут: https://la11111.wordpress.com/2012/09/24/layer-2-vpns-using-ssh/
— Легко понять, что в таких условиях невозможно никаким DPI (deep packet inspection) отловить подобные туннели — либо ssh разрешён (читай — делай что хочешь), либо ssh запрещён (и можно смело из такой компании идиотов увольняться не ощущая ни малейшего сожаления).
#SSH |😏 @iscode
Если к этому моменту попа отдела безопасности не сияет лысиной, а SSH всё ещё не внесён в список врагов безопасности номер один, вот вам окончательный убийца всего и вся: туннелирование IP или даже ethernet. В самых радикальных случаях это позволяет туннелировать DHCP, заниматься удалённым arp-спуфингом, делать wake up on lan и прочие безобразия второго уровня.
Подробнее описано тут: https://la11111.wordpress.com/2012/09/24/layer-2-vpns-using-ssh/
(сам я увы, таким не пользовался).
— Легко понять, что в таких условиях невозможно никаким DPI (deep packet inspection) отловить подобные туннели — либо ssh разрешён (читай — делай что хочешь), либо ssh запрещён (и можно смело из такой компании идиотов увольняться не ощущая ни малейшего сожаления).
#SSH |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🤯2
rsync — это мощный инструмент для копирования и синхронизации данных на Linux, который особенно полезен для резервного копирования. Его отличительная черта — передача только изменённых частей файлов, что делает процесс очень быстрым.
1. Базовая синхронизация:
rsync -av /источник/ /назначение/-a (archive): сохраняет структуру каталогов, атрибуты файлов и символьные ссылки.
-v (verbose): выводит информацию о копируемых файлах.
2. Сжатие передаваемых данных:
rsync -az /источник/ /назначение/-z (compress): сжимает данные, уменьшая объём передачи.
3. Копирование через SSH:
rsync -avz -e ssh /источник/ user@server:/назначение/-e ssh: указывает использование SSH для безопасной передачи данных.
4. Удаление файлов в папке назначения, которые отсутствуют в источнике:
rsync -av --delete /источник/ /назначение/
Примеры сценариев использования
1. Резервное копирование локального каталога:
rsync -av --progress /home/user/documents/ /backup/documents/
--progress: отображает прогресс копирования.2. Синхронизация с удалённым сервером:
rsync -avz /data/ user@remote:/backup/data/
3. Исключение определённых файлов или папок:
rsync -av --exclude='*.tmp' --exclude='cache/' /источник/ /назначение/
--exclude: исключает файлы или каталоги, соответствующие шаблону.Автоматизация с помощью Cron
Для регулярного выполнения резервного копирования используйте планировщик заданий cron.
1. Откройте файл cron:
crontab -e2. Добавьте задание (например, ежедневное копирование в 2:00 ночи):
0 2 * * * rsync -avz /data/ user@server:/backup/data/
Полезные флаги и опции
--progress — отображает статус копирования. --dry-run — симулирует выполнение команды без фактического копирования. --exclude — исключает определённые файлы или папки. --delete — удаляет файлы в папке назначения, которые отсутствуют в источнике. --bwlimit=KBytes — ограничивает скорость передачи данных. #rsync |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
В этом видео мы познакомим вас с порткнокингом микротика, этот метод может помочь безопаснее использовать ваш Mikrotik. Легко и просто, всего в несколько шагов, вы увидите как настроить port knocking и создать скрипт для его использования.
#mikrotik |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3
Сетевик Джонни // Network Admin
This media is not supported in your browser
VIEW IN TELEGRAM
Превращаем недорогой виртуальный сервер в производительный роутер, который можно будет использовать для VPN, собственного выделенного IP или объединения удаленных пользователей без применения дорогостоящих решений
Тайм-коды:
00:00 Введение, для чего все это
00:48 Настраиваем VPS
01:31 Подключаемся по ssh
01:45 Скачивание дистрибутива CHR
02:06 Распаковка и установка имиджа
02:16 Начальная настройка виртуального Mikrotik
03:13 Подключение по winbox
03:52 Настройка DNS
04:06 Изменение Identity
04:24 Настраиваем безопасность
04:50 Отключаем ненужное
05:41 Изменение порта winbox
06:08 Настройка firewall
07:10 Лицензирование RouterOS
07:44 Роутер готов к работе
07:52 Возвращаем все в исходное состояние
#mikrotik #VPS |
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍6
Media is too big
VIEW IN TELEGRAM
Установка и настройка простой и эффективной системы мониторинга за событиями на компьютере, в том числе и нарушения безопасности. На основе этой системы можно вытроить надежную и бесплатную систему защиты от хакерских атак и вирусного заражения. Так же она может служить источником данных для комплексных систем безопасности EDR и SIEM.
— Установка системы занимает считанные секунды и может быть полностью автоматизирована.
EDR (Endpoint Detection & Response) - система обнаружения вредоносной активности на конечных точках
SIEM (Security information and event management) - система анализа в реальном времени событий безопасности
#sysmon #EDR #SIEM |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
This media is not supported in your browser
VIEW IN TELEGRAM
В этом видео продемонстрируют, как просто и быстро превратить вашу версию Windows 10 Professional в Windows 10 Enterprise. Пошаговая инструкция, как изменить версию системы, чтобы увеличить возможности вашей ОС.
—Это позволит получить доступ к расширенным инструментам и функциям, которые будут полезны для профессиональной работы с вашим компьютером.
#Windows |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🤣2
This media is not supported in your browser
VIEW IN TELEGRAM
Заморочились 😀
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥40👍17🤨2
Жили были два сервера. Да и не сервера вовсе, а виртуальные машины. Жили не тужили, добро наживали, скриптами разными обрастали. Три года они трудились на славу облака да во имя автоматизации. Пока не наступили чёрные дни для RAID-массива на гипервизоре.
#Network #CICD #Automotization |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8