Сетевик Джонни // Network Admin
Открыть в Telegram
Я Сетевик Джонни, моя цель в телеграме рассказать все о сетях в доступной форме! Сотрудничество: @stein_media
Больше5 890
Подписчики
-224 часа
-77 дней
+130 день
Архив постов
🥷 Джонни вещает: алиасы в SSH
Скажу честно, до последнего времени не знал и не использовал. Оказались очень удобными.
В более-менее крупной компании часто оказывается, что имена серверов выглядят так:
spb-MX-i3.extrt.int.company.net. И пользователь там не равен локальному.
🖥 То есть логиниться надо так: ssh ivanov_i@spb-MX-i3.extrt.int.company.net.
Каждый раз печатать — туннельных синдромов не напасёшься🙅♂️ В малых компаниях проблема обратная — никто не думает о DNS, и обращение на сервер выглядит так: ssh root@192.168.1.4. Короче, но всё равно напрягает. Ещё большая драма, если у нас есть нестандартный порт, и, например, первая версия SSH (привет цискам).
Тогда всё выглядит так: ssh -1 -p 334 vv_pupkin@spb-MX-i4.extrt.int.company.net. Удавиться. Про драму с scp даже рассказывать не хочется.
— Можно прописать общесистемные alias'ы на IP (/etc/hosts), но это кривоватый выход (и пользователя и опции всё равно печатать). Есть путь короче.
Файл ~/.ssh/config позволяет задать параметры подключения, в том числе специальные для серверов, что самое важное, для каждого сервера своё. Все доступные для использования опции можно увидеть в man ssh_config (не путать с sshd_config). (жду ваш реакшен под постом)
#SSH #Alias | 😊 @iscodeПс...
Тут два С++ сеньора создали канал, где простым языком поясняют за плюсы, метапрограммирование, фишки новых стандартов, алгоритмы, вопросы с собеседований и другие непонятные штуки из современного программирования на С++.
Прямо сейчас Вы можете бесплатно забрать гайды по собеседованиям, по категориям выражений и мув-семантике и по ключевому слову inline. Все найдете в закрепе канала.
Подписывайтесь, чтобы пояснять друзьям за оптимизации компилятора, о которых вам никто не расскажет: Грокаем С++
ChatGPT теперь бесплатно в телеграм без ограничений!
Бот поможет для любых ваших задач, напишет код на любом языке, забронирует вам отель, или даст медицинский совет. Ничего платить не надо!
Бот в закрепе тут ВселеннаяAI
ChatGPT теперь бесплатно в телеграм без ограничений!
Бот поможет для любых ваших задач, напишет код на любом языке, забронирует вам отель, или даст медицинский совет. Ничего платить не надо!
Бот в закрепе тут ВселеннаяAI
😊 Более подробное описание по часто встречающимся кодам статусов ответов
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 | 👋@iscode
🥷 Протокол HTTP: коды состояния ответов и ошибки
Пламенно приветствую вас, вы у меня самые активные, рад видеть! Как и обещал, следуюший пост в студию xD
Первая строка ответа HTTP содержит код статуса ответа – число в диапазоне от 100 до 599, которое характеризует результат выполнения запроса. Возможные коды статусов ответов описаны в документе RFC 9110 HTTP Semantics.
❗️ Коды статусов ответов разделены на пять классов, которые определяются по первой цифре кода:
· 1ХХ (информация): запрос получен, обработка продолжается
· 2ХХ (успешное выполнение): запрос был успешно принят и понят
· 3ХХ (перенаправление): для выполнения запроса необходимо предпринять дополнительные действия.
· 4ХХ (ошибка клиента): запрос содержит синтаксическую ошибку или не может быть выполнен.
· 5ХХ (ошибка сервера): запрос от клиента оформлен правильно, но при его обработке произошла ошибка на стороне сервера.
Изучи алгоритмы, чтобы работать в Яндекс или Google
Приходи на бесплатное обучение от FAANG School. Там ты узнаешь:
– Как использовать разные структуры данных
при решении задач
– Какие 20% усилий дают 80% результата
при подготовке к алгоритмам
– Prefix Sum и Sliding Window. 2 подхода, которые закрывают задачи на 200к$ во время собесов в Google
– Как научиться решать алгоритмы без матана
Спикер – Разработчик из BigTech. За 7 лет решил 500 задач на LeetCode, прошел 30 собеседований в компаниях уровня Google и Meta, а сейчас работает в одной из крупных IT-гигантов в мире.
Переходи и жми на кнопку «Принять участие», чтобы начать обучение.
🥷 Протокол HTTP: принцип работы и методы
Протокол HTTP работает в режиме запрос-ответ. Клиент, например, браузер, передает на сервер запрос к определенному ресурсу, например, Web-странице. Сервер в ответ отправляет клиенту этот ресурс или сообщение об ошибке, если ресурс передать нельзя.
- На транспортном уровне HTTP использует протокол TCP (кроме HTTP/3, в котором применяется QUIC), порт Web-сервера по-умолчанию: 80.
🕹 Запрос HTTP состоит из трех основных частей:
· Запрос
· Заголовки (не обязательно)
· Тело сообщения (не обязательно)
Пример простого запроса HTTP в текстовом режиме:
GET /posts/http HTTP/1.1
Host: johnny.ru
Начинается всё с метода HTTP, в нашем случае это - GET, он указывает, какое действие требуется выполнить с ресурсом. В примере метод GET говорит о том, что мы хотим получить (загрузить) ресурс, далее адрес ресурса /posts/http – путь к странице на Web-сервере, которую мы хотим загрузить и далее идёт версия протокола.
- Во второй строке указывается заголовок Host. Этот заголовок является обязательным в версии HTTP/1.1, в нем задается доменное имя сервера, к которому направлен запрос.
❗️ Методы HTTP: они говорят нам, какое действие с ресурсом мы хотим совершить. В примере запроса мы видели метод GET, который предназначен для получения ресурса. Кроме GET в HTTP есть и другие методы, наиболее важные из которых определены в документе RFC 9110 HTTP Semantics.
1. GET — Запрос на передачу ресурса. 2. HEAD — Запрос на передачу ресурса, но сам ресурс в ответе не передается, только заголовки. 3. POST — Передача данных на сервер для обработки указанного ресурса. 4. PUT — Размещение ресурса на сервере (если такой ресурс уже есть на сервере, то он замещается). 5. DELETE — Удаление ресурса на сервере. 6. CONNECT — Установка соединение с сервером на основе ресурса. 7. OPTIONS — Запрос поддерживаемых методов HTTP для ресурса и других параметров коммуникации. 8. TRACE — Запрос на трассировку сообщения: сервер должен включить в свой ответ исходный запрос, на который он отвечает. Это полезно, когда запрос проходит через промежуточные устройства, которые могут изменить запрос, например, добавить заголовки.Полный список всех существующих методов HTTP находится в документе Hypertext Transfer Protocol (HTTP) Method Registry, который сопровождается организацией Internet Assigned Numbers Authority (IANA). Жду от вас реакшена и делаю пост о кодах статусов ответов HTTP! #HTTP #Method #Request
🥷 HTTP: Uniform Resource Locator — или просто URL
Важную роль в работе HTTP играет Uniform Resource Locator, сокращенно URL – единообразный определитель местонахождения ресурса. Именно URL используется для того, чтобы указать, к какой странице мы хотим получить доступ.
❗️ URL состоит из трех основных частей(см. приложение):
1. Название протокола, в примере на рисунке протокол HTTP.
2. Адрес сервера, на котором размещен ресурс. Можно использовать IP-адрес или доменное имя. Адрес сервера отделяется от названия протокола двоеточием и двумя слешами.
3. Адрес ресурса на сервере. Это может быть HTML-страница, изображение, видео или ресурс другого типа. В примере на рисунке адрес страницы: /posts/http.
В URL не обязательно использовать только протокол HTTP, вот примеры с другими протоколами:
https://ya.ru | ftp://example.com
URL может включать достаточно большое количество других компонентов, кроме протокола, адреса сервера и адреса ресурса. Более подробно почитать о них можно в документе RFC 1738, Uniform Resource Locators (URL).
Ну и по классике, если тема HTTP тебе интересна, не поленись воткнуть реакшен, буду и дальше выпускать посты на эту тему, там ещё много полезного...
#HTTP #URL | 😏 @iscode
🥷 HTTP: Uniform Resource Locator — или просто URL
Важную роль в работе HTTP играет Uniform Resource Locator, сокращенно URL – единообразный определитель местонахождения ресурса. Именно URL используется для того, чтобы указать, к какой странице мы хотим получить доступ.
❗️ URL состоит из трех основных частей(см. приложение):
1. Название протокола, в примере на рисунке протокол HTTP.
2. Адрес сервера, на котором размещен ресурс. Можно использовать IP-адрес или доменное имя. Адрес сервера отделяется от названия протокола двоеточием и двумя слешами.
3. Адрес ресурса на сервере. Это может быть HTML-страница, изображение, видео или ресурс другого типа. В примере на рисунке адрес страницы:
/posts/http.
В URL не обязательно использовать только протокол HTTP, вот примеры с другими протоколами:
https://ya.ru | ftp://example.com
URL может включать достаточно большое количество других компонентов, кроме протокола, адреса сервера и адреса ресурса. Более подробно почитать о них можно в документе RFC 1738, Uniform Resource Locators (URL).
Ну и по классике, если тема HTTP тебе интересна, не поленись воткнуть реакшен, буду и дальше выпускать посты на эту тему, там ещё много полезного...
#HTTP #URL🥷 Джонни вещает: распространенные ошибки веб-сервера Nginx (2 часть)
Продолжаем сложный разбор полетов ошибок веб-сервера 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 | 😏 @iscode🥷 Джонни вещает: распространенные ошибки веб-сервера Nginx (1 ч.)
Вчерашний пост вас явно развеселил, но теперь возвращаемся к нашей тематике xD
Начинаем объемную рубрику, которая посвящена ошибкам веб-сервера 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, то причины следующие:
⏳ Nginx не запущен: проверьте состояние Nginx с помощью
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, чтобы он получил разбан.
🌃 Ошибки 404 Not Found и 403 Forbidden я разберу во второй части, а сейчас поставьте реакций, чтобы ускорить ее выход 💵
#Nginx #Error | 😊 @iscodeДевушка требуют вызвать такси и настаивает на ресторане?
Ты либо нарвался на тарелочницу, либо вообще не заинтересовал собой хорошую девушку, которая от скуки надеется хотя бы поесть за твой счет.
Чтобы пресечь такие манипуляции и не терять время впустую — прежде, чем звать на свидание, созвонись с девушкой. На звонке прояви себя как ценный и востребованный мужчина, раскрой специальными вопросами, приправь эмоциями и заинтригуй встречей — уложишься в 10 минут.
Вероятность 80%, что после этого она сама приедет в любую указанную точку да еще и кофе захватит — ведь мужчин, которые так делают, реально единицы. Вдруг ты тот самый?
Больше рабочих советов и инструкций — на канале Творчество Чувств. Его автор превратил отношения в реалити-шоу и показывает на собственной шкуре:
— как уверенно общаться с девушками и показывать доминацию
— как заставить ее думать о тебе после первого свидания
— как быть №1 любовником в постели
Стань тем самым мужчиной — t.me/+Jq9HWgDyils2MjBi
🥷 Джонни вещает: шпаргалка по OpenSSL
Пока школьники и студенты используют шпаргалки для экзаменов, мы используем их для работы с OpenSSL 🔬
1. Просмотр сертификатов
Просмотреть сертификат из файла:
openssl x509 -noout -text -in 'certfile.cer'
Просмотреть сертификат на порту: echo | openssl s_client -showcerts -connect 4te.me:443 </dev/null | openssl x509 -text | less
2. Ключи
Прочитать файл ключа: openssl rsa -text -in privkeyfile.pem -noout
Извлечь публичный ключ из файла: openssl rsa -in privkeyfile.pem -pubout
3. Цифровая подпись
Создание цифровой подписи: openssl dgst -sha256 -sign ./rsa_private_key.pem -out ./signature.bin ./message.txt
Проверка подлинности цифровой подписи: openssl dgst -sha256 -verify ./rsa_public_key.pem -signature ./signature.bin ./message.txt
#OpenSSL #commands | 😊 @iscode📝 Разбор квиза: NQ Тип IPv6 Unicast адреса
🥷 Джонни приветствует! Наши коллеги по цеху приготовили для вас разбор вышедшего вчера квиза, ребята подают информацию в интересном формате, советую подписаться @network_quiz
Рассмотрим все типы IPv6 Unicast адресов:
▫️ Global Unicast - 2000::/3
Аналогичен публичным адресам IPv4, которые маршрутизируются в Интернете. В настоящее время для Global Unicast могут использоваться только первые три бита IPv6-адреса (001).
▫️ Link-Local - fe80::/10
Используются для связи внутри одного канала и не маршрутизируются за пределы этого канала. Могут генерироваться или устанавливаться вручную на оборудовании IPv6. Генерация производится либо рандомно, либо с помощью метода EUI-64.
▫️ Loopback - ::1/128
Для проверки стека протоколов TCP/IP на сетевом адаптере, или другими словами - для отправки пакета самому себе. Адрес не может быть назначен на физический интерфейс.
▫️ Unspecified - ::/128
Не должен назначаться на интерфейс и может быть использован только в качестве IPv6-адреса источника в пакете IPv6. Такая ситуация может возникнуть в случае, если пакет будет сгенерирован устройством, ещё не изучившим свой IPv6-адрес.
▫️ Unique Local - fc00::/7
Есть что-то схожее с частными (private) IP-адресами, которые не маршрутизируются в Интернете и используются только внутри локальной сети. Но нюанс в том, что Unique Local IPv6-адрес не может быть преобразован в Global Unicast. Например, такой адрес можно назначить устройству, который должен быть доступен внутри локальной сети, но которому никогда не нужно выходить в Интернет.
▫️ Embedded IPv4 - ::/80
Используются для перехода с IPv4 на IPv6. В поле IPv6-адреса последние 32 бита выделены под IPv4-адрес.
#netquiz_explanation #netquiz_ipv6_address
👤 Автор разбора квиза наши коллеги с канала: @network_quiz
🥷 Джонни вещает: проброс авторизации
OpenSSH позволяет использовать сервера в качестве плацдарма для подключения к другим серверам, даже если эти сервера недоверенные и могут злоупотреблять чем хотят.
🆘 Для понимания ситуации, пример ниже будет ссылаться на вот эту схему (click)
Допустим, мы хотим подключиться к серверу
10.1.1.2, который готов принять наш ключ. Но копировать его на 8.8.8.8 мы не хотим, ибо там проходной двор и половина людей имеет sudo и может шариться по чужим каталогам.
— Компромиссным вариантом было бы иметь «другой» SSH-ключ, который бы авторизовывал user@8.8.8.8 на 10.1.1.2, но если мы не хотим пускать кого попало с 8.8.8.8 на 10.1.1.2, то это не вариант (тем паче, что ключ могут не только поюзать, но и скопировать себе «на чёрный день»).
⚙️ SSH предлагает возможность форварда SSH-агента (это такой сервис, который запрашивает пароль к ключу). Опция ssh -A пробрасывает авторизацию на удалённый сервер.
Вызов выглядит так: ssh -A user@8.8.8.8 ssh user2@10.1.1.2
Удалённый SSH-клиент (на 8.8.8.8) может доказать 10.1.1.2, что мы это мы только если мы к этому серверу подключены и дали SSH-клиенту доступ к своему агенту авторизации (но не ключу!).
#SSH #Authorization | 😊 @iscodeКакой тип IPv6 Unicast адреса находится в диапазоне fe80::/10?
🥷 Джонни вещает: динамический проброс портов
Перенаправление трафика с нескольких портов на удаленный сервер:
ssh -D 3000 ssh-server. Тут мы поднимаем SOCKS-прокси на порту 3000 для всех интерфейсов в локальной системе. Теперь трафик, отправленный через прокси-сервер на SSH-сервер, можно адресовать на любой порт или конечный хост.
— По умолчанию используется протокол SOCKS5, поддерживающий TCP и UDP.
ssh -D 127.0.0.1:3000 ssh-server (поднимаем SOCKS-прокси на 127.0.0.1:3000 в локальной системе)
При работающем SOCKS-прокси можно настроить браузер на его использование для доступа к ресурсам так, как будто соединения исходят от SSH-сервера. Например, если у SSH-сервера есть доступ к другим серверам в частной сети, с помощью SOCKS-прокси можно заходить на эти серверы локально (словно вы находитесь в той же сети), и не нужно настраивать VPN.
🖥 Работу SOCKS-прокси можно проверить командой: curl -x socks5://127.0.0.1:12345 https://example.org
#SSH #Socks #ProxyГотов построить успешную карьеру в сетевых технологиях или будешь дальше сидеть на среднем уровне?
Открой секреты популярных протоколов для эффективной работы! Ждём тебя на открытом практическом уроке «OSPFv3 vs. OSFPv2 на практике: сравнение LSDB» от OTUS, где мы:
✅ разберемся со сходствами и отличиями протоколов OSPFv2 и OSPFv3 с практической точки зрения;
✅ реализуем их в сети на практике;
✅ рассмотрим полученные LSDB протоколов.
Спикер — опытный сетевой инженер и архитектор, имеет экспертную сертификацию одного из ведущих мировых вендоров.
Встречаемся 11 июня в 19:00 мск в рамках курса «Network Engineer». Все участники вебинара получат специальную цену на обучение и персональную консультацию от менеджеров OTUS!
➡️ Регистрируйся прямо сейчас, чтобы не пропустить бесплатный урок
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
🥷 Джонни вещает: утечка DNS
Джонни срочно выходит на связь с важной информацией: DNS-запросы могут идти в обход вашей прокси, впна или TOR-подключения.🕹 То-есть, напрямую к DNS-серверу вашего интернет-провайдера, что приведет к раскрытию вашего реального местонахождения Для начала поймем, что такое DNS сервер и для чего он нужен: Когда вы заходите на крупный сайт, например на google.com, то заходите не по имени сайта, а по IP-адресу. Но вы же не будете постоянно водить этот сложный набор цифр, верно? — Для этого и придумали вход по текстовому имени, а не по IP. Как раз здесь и приходят на помощь DNS-серверы. Когда вы прописываете google.com, то отправляете запрос на этот сервис, который преобразует текст в IP и перенаправляет на сайт google.com. 🔍 А теперь к сути: утечка, Вы можете использовать анонимайзер, который спрячет айпишник. Но запросы он делает к тому-же DNS серверу. Ситуация палевная: по IP вы находитесь в CША, а по DNS в России, на своем провайдере. Всё, что необходимо в таком случае, использовать файерволл с резольвингом DNS. #DNS #Leaks #IP | 😊 @iscode
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
