Сетевик Джонни // Network Admin
5.95K subscribers
517 photos
61 videos
390 links
Я Сетевик Джонни, моя цель в телеграме рассказать все о сетях в доступной форме!

Сотрудничество: @stein_media
Download Telegram
Media is too big
VIEW IN TELEGRAM
🥷 Джонни вещает: Автомасштабирование и управление ресурсами в Kubernetes

В докладе речь пойдёт о том, как с помощью K8s обеспечить высокую доступность приложений и гарантировать их максимальную производительность.

— Доклад прикрепляю здесь же, YT нынче не особо актуален, но вот ссыль на всякий 😣

#k8s #DevOps #Infrastructure | 😊 @iscode
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3
🥷 Джонни вещает: DNS-хостинг для начинающих, многообразие ресурсных записей

Чтобы хоть как-то связать IP-адрес с доменом, хватит всего нескольких базовых ресурсных записей. Однако их существуют десятки, одни могут дружить или конфликтовать друг с другом, другие повышают безопасность, но при их неправильной настройке все перестает работать.

🌜 В данной серии постов разберемся, какие типы ресурсных записей бывают, зачем их так много и посмотрим на примеры их добавления, а начнём в этом посте с обязательных типов записей:

1. SOA — одна из тех записей, которые необходимы всем DNS-зонам, чтобы соответствовать стандартам IETF. Помимо очевидных параметров (имени и типа записи) может содержать другие значения.

mname — имя основного сервера, откуда приходят обновления для вторичных серверов, на которых хранятся дубликаты DNS-записей.
rname — адрес электронной почты администратора. Нужно обратить внимание, что здесь вместо символа @ используется точка.
serial — номер копии зоны. При создании зоны по умолчанию указывается значение 1. При каждой синхронизации данных между серверами значение увеличивается. Таким образом, чем больше значение serial, тем новее данные на сервере.
refresh — частота, с которой вторичные серверы запрашивают у первичных обновление SOA-записи. Указывается в секундах.
retry — частота, с которой вторичные серверы могут запрашивать обновления у основного, если тот не отвечает.
expire — время, по прошествии которого вторичный сервер перестает отвечать на запросы зоны, если не получает ответ от основного.

2. NS — запись указывает, какой сервер содержит фактические записи DNS. Без правильно настроенных NS-записей не получится открыть сайт или приложение, поскольку не получится получить IP-адрес домена.

🕹 Обычно домен использует сразу несколько NS-записей, просто потому что так надежнее: если один сервер упадет, можно будет обратиться к другому. На самих серверах хранятся копии всех остальных DNS-записей.

#DNS #hosting | 😊 @iscode
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3
🥷 Джонни вещает: DNS-хостинг для начинающих, многообразие ресурсных записей

Как нетрудно догадаться, классические записи это записи, которые встречаются повсеместно. Скорее всего, при запуске сайта или приложения на облачном или выделенном сервере, вы будете пользоваться одной из этих записей. Вкратце, все они указывают на адрес назначения, которым в конечном счете будет IPv4 или IPv6. (предыдущий пост про обязательные типы записей)

1. А — Тип записи, который используется для связывания IPv4-адреса сервера с ресурсной записью домена. Значение A-записи состоит только из поля value, поэтому и работает все предельно просто.

— Например, у нас есть две записи: example.com и shop.example.com. Для первой в поле value указано значение 1.1.1.1, для второй — 2.2.2.2. При открытии сайта example.com браузер будет обращаться к серверу 1.1.1.1, а и при открытии shop.example.com — соответственно, к записи 2.2.2.2.

2. AAAA — Запись, в целом аналогичная А, но с той разницей, что ресурсная запись домена связывается с IPv6-адресом сервера. Пример значения АААА-записи: 2001:db8:abc1::54.

3. CNAME — тип записи, которая привязывает псевдоним к действительному (каноническому) доменному имени. Записи CNAME обычно используют для привязки к доменам, в которых размещен контент, и субдоменам вроде www или mail. Иначе говоря, CNAME в отличие от A и AAAA ссылается на доменное имя, а не на IP-адрес.

🌜 Практический пример: У вас есть домен example.com, и вы подключаете CDN для поддомена cdn.example.com: cdn.example.com CNAME uuid.selcdn.ru. Здесь uuid.selcdn.ru — доменное имя CDN-ресурса. Вы не можете напрямую указать IP-адреса CDN, так как не управляете ими, и они могут динамически меняться. Доменное имя CDN-ресурса при этом постоянно.

4. ALIAS — это, по сути, CNAME на максималках. Они также копируют данные целевого домена, но имеют несколько отличий. Прежде всего, запись ALIAS можно добавить для основного домена, а ее имя может быть любого уровня, включая второй.

🖥 Пример с облачным хранилищем: Есть контейнер, в который мы загрузили сайт, его основной домен вида uuid.selstorage.ru. Нам нужно, чтобы сайт открывался по example.com.

Сделаем запись example.com ALIAS uuid.selstorage.ru. При попытке открыть example.com произойдет магия.
· Браузер сделает запрос A и AAA-записей для example.com.
· Наш DNS-сервер, зная об ALIAS-записи, запустит ресолвинг адресов целевого домена uuid.selstorage.ru и получит в ответ IPv4 или IPv6.
· DNS-сервер вернет для example.com полученный на предудущем шаге набор IP-адресов.
· Браузер установит соединение с серверами облачного хранилища и откроет находящийся там example.com.

При использовании записей типа ALIAS нужно помнить, что для домена/поддомена не может быть записи A или AAAA. Кроме того, ALIAS нарушит DNSSEC на основном домене (@), поскольку в ответах @ A и @ AAAA будут отсутствовать записи RRSIG. Это, в свою очередь, нарушит разрешение на всех резолверах.

Какого-либо черновика и стандарта в RFC для ALIAS нет, поэтому от сервиса к сервису могут наблюдаться разные поведения у этого типа записи. Если пост понравился, жду от вас реакций и выпускаю на ту же тему, но уже о сервисных записях 💃

#DNS #hosting #IPv4 #IPv6 | 😊 @iscode
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥7
This media is not supported in your browser
VIEW IN TELEGRAM
🥷 Джонни вещает: 8 популярных сетевых протоколов с наглядным объяснением

Сетевые протоколы работают на разных уровнях модели OSI, это важно знать.

🌜 Эта многоуровневая архитектура обеспечивает стандартизированное взаимодействие между различными программными и аппаратными компонентами в сети.

1. 𝗧𝗖𝗣/𝗜𝗣 — базовый метод передачи информации между устройствами в Интернете. В то время как IP отвечает за адресацию и маршрутизацию пакетов данных, TCP заботится о сборке данных в пакеты, а также о надежной доставке.

2. 𝗛𝗧𝗧𝗣 — играет решающую роль при доступе к веб-сайтам. Он отвечает за получение и доставку веб-контента с серверов конечным пользователям.

3. 𝗛𝗧𝗧𝗣𝗦 — усовершенствованная версия HTTP, HTTPS объединяет протоколы безопасности (а именно TLS) для шифрования данных, обеспечивая безопасный и конфиденциальный обмен между браузерами и веб-сайтами.

4. 𝗙𝗧𝗣 — Как следует из названия, FTP используется для передачи файлов (загрузки и скачивания) между компьютерами в сети.

5. 𝗨𝗗𝗣 — более оптимизированный аналог TCP, UDP передает данные без накладных расходов на установление соединения, что приводит к более быстрой передаче, но без гарантии, что данные будут доставлены или будут в порядке.

6. 𝗦𝗠𝗧𝗣 — движущая сила обмена электронной почтой, которая управляет форматированием, маршрутизацией и доставкой писем между почтовыми серверами.

7. 𝗦𝗦𝗛 — криптографический сетевой протокол, который обеспечивает безопасную передачу данных по незащищенной сети.

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

#Protocol #cheatsheet | 😊 @iscode
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
🏃‍♀️ Когда что-то сломалось и вызывают сисадмина Олега
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣29🔥4
🥷 Джонни вещает: DNS-хостинг для начинающих, многообразие ресурсных записей

В этом посте разберём сервисные записи, они указывают на тип сервиса и его дополнительные параметры. Например, определяют местоположение хоста или почтового сервера, предпочтительный протокол соединения и т. д. (пост про обязательные типы записей; про классические типы записей)

— Другими словами, в теории сервис может работать и без этих записей, но с ними пользоваться им будет удобнее, быстрее и безопаснее 🏃‍♀️

1. MX — тип записи, который указывает на почтовый сервер доменного имени. Это позволяет внешним почтовым серверам определять, куда отправлять электронную почту. Другими словами, запись отвечает на вопрос, где ваш почтовик.

Формат этой записи содержит два значения: priority и value. Первое поле определяет приоритет сервера, на который будет отправляться почта. Он может иметь числовое значение (integer): чем оно ниже, тем выше приоритет.

— Поле value определяет доменное имя или IP-адрес сервера входящей электронной почты.

Рассмотрим на примере: допустим, у нас есть MX-запись example.com, в которой для значения 203.0.113.102 установлен приоритет 10, а для значения 198.51.100.5 — 20. В этом случае при отправке письма на электронный адрес info@example.com, оно будет направлено на сервер 203.0.113.102, а при его недоступности — на сервер 198.51.100.5.


2. SRV — это тип записи, который определяет местоположение, то есть имя хоста и номер порта серверов для определенных служб. По сути, такая запись отвечает на вопрос, где сервис такого типа, каков его IP и порт. SRV придумали, чтобы не плодить новые типы записей, как получилось с MX.

❗️ Формат такой записи выглядит следующим образом:

service.proto.name TTL class SRV priority weight port target.

Пример записи: xxx.tcp.example.com 86400 IN SRV 10 5 5060 xxxserver.example.com (про последовательность и назначение)

3. SVCB — это дальнейшее развитие SRV-записи с добавлением других метаданных, необходимых для сетевого соединения. Среди них — предпочтительный протокол и его версия, IP-адреса и порты.

Основное преимущество этого типа записей в том, что они повышают производительность DNS-сервера и ускоряют загрузку сайта или приложения.

SVCB-записи имеют два режима: AliasMode(делегирует оперативное управление ресурсом); ServiceMode (объединяет информацию о конфигурации для эндпоинта)

— Записи SVCB и HTTPS также предоставляют IP-адреса напрямую, без необходимости просмотра клиентом записей A и AAAA. Для этого к записям можно добавить параметры ipv4hint и ipv6hint.

Пример записи: example.com 3600 IN SVCB 1. alpn=«h3,h2» ipv4hint=«192.0.2.1» ipv6hint=«2001:db8::1»

4. HTTPS — разновидность SVCB с акцентом на подключение по HTTPS. Они также помогают ускорить загрузку сайтов и приложений.

В отличие от устаревшего протокола HTTP, который запрашивал у пользователя только IP-адрес, HTTPS умеет, например, создавать альтернативное подключение к эндпоинтам (HTTP/3), включать Encrypted ClientHello и поддерживает нестандартные порты TCP и UDP.

— HTTPS шифрует запросы и ответы с помощью TLS(SSL) в отличии от устаревшего HTTP.

#DNS #hosting #IPv4 #IPv6 | 😊 @iscode
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥6
Владимирский админ,ветер в серверной.
Пингуют из Твери, пинг немеренный.

#memes | 😊 @iscode
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣57
🥷 Джонни вещает: DNS-хостинг для начинающих, многообразие ресурсных записей

Заключительная часть постов про многообразие ресурсных записей, в этом посте разберём записи для повышения безопасности. (пост про обязательные типы записей; про классические типы записей; про сервисные записи)

😎 Эти записи хранят отпечатки ключей шифрования или других данных, чтобы исключить возможность их подделки. Очевидно, это нужно для повышения безопасности.

1. SSHFP — это тип записи, который содержит отпечаток ключа, используемый сервером при подключении по протоколу SSH. Запись помогает предотвратить MITM-атаки (Man-in-the-Middle) и содержит поля algorithm, type и fingerprint.

2. CAA — тип DNS-записи, предназначенный для определения центров сертификации, которым разрешен выпуск SSL-сертификатов для определенного доменного имени или поддомена.

Такие записи появились как дополнительная мера защиты, чтобы сертификат не могли выпустить третьи лица. CAA-запись указывает на центры сертификации, которым разрешен выпуск TLS-сертификатов для доменного имени. Если разрешения есть у нескольких центров, CAA-запись должна быть создана для каждого из них.

🖥 Разберем на примере: Допустим, для записи example.com установлено значение 128 issue «aa.example.ru». Это значит, что выпустить SSL-сертификат для домена example.com может только CA aa.example.ru.

Так, благодаря CAA-записям можно определить список доверенных CA для домена и поддоменов, запретить выпуск сертификатов, а также указать контакты для связи в случае нарушения правил CAA-записи.

3. DNSSEC — это набор IETF-расширений (RFC) для протокола DNS. Он нужен для обеспечения аутентичности (подлинности, полноты и точности) данных при разрешении доменных имен. Он использует криптографию с открытым ключом.

Это позволяет определить, что ответ предоставлен владельцем DNS-зоны, а не третьей стороной, аналогично SSH-ключам или HTTPS.

#DNS #hosting #IPv4 #IPv6 | 😊 @iscode
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Пример использования съемной опорной планки
👍23🔥8
🥷 Джонни вещает: совет для Linux

Получайте уведомления, когда ваши команды в терминале завершатся!

$ sudo apt update; notify-send "Обновление завершено" "Обновления получены"

Замените apt update на любую команду, выполнение которой займет время. Не забудьте сначала установить inotify-tools:

$ sudo apt install inotify-tools
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18
Эволюция стойки 🔫
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍63
🥷 Джонни вещает: 10 опасных команд Linux, которые вы никогда не должны запускать

rm -rf / - Эта команда удалит все файлы и папки на вашем компьютере. Не запускайте ее, если не хотите потерять все свои данные.

:(){ :|: & };: - Это команда, также известная как "fork bomb", может вызвать переполнение памяти на вашем компьютере и привести к аварийному завершению системы.

mkfs.ext4 /dev/sda - Эта команда форматирует жесткий диск без какого-либо предупреждения или подтверждения. Все данные будут утеряны.

dd if=/dev/random of=/dev/sda - Эта команда перезапишет все данные на жестком диске случайными значениями, что приведет к потере данных.

chmod 777 / - Эта команда откроет полный доступ к вашей файловой системе для всех пользователей, что может привести к нарушению безопасности.

mv /home/* /dev/null - Эта команда переместит все файлы в вашей домашней директории в "null", что означает, что они будут утеряны.

wget http://example.com/file -O /dev/null - Эта команда загрузит файл и перезапишет все данные в "null", что приведет к потере данных.

mkfs.ext4 /dev/sda1 - Эта команда форматирует раздел жесткого диска без какого-либо предупреждения или подтверждения. Все данные на этом разделе будут утеряны.

ln -s /dev/null /etc/passwd - Эта команда создаст символическую ссылку на "/etc/passwd" в "null", что приведет к потере данных.

echo "Hello" > /dev/sda - Перезапишите свой раздел, это заменит ваш раздел, содержащий все данные, необходимые для загрузки системы, строкой «Hello».

😊 @iscode
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🤣1
🥷 Джонни вещает: как сделать и настроить собственный VPN

Итак, в посте рассмотрим три способа создания собственного VPN и начнём, пожалуй, с самого простого варианта, что под силу даже начинающим пользователям.

Для всех трёх способов нам понадобиться виртуальный сервер (VPS). Будет достаточно конфигурации с 1 vCPU и 1GB RAM.

Способ 1. Amnezia: Самый простой вариант настройки VPN самому. Достаточно просто установить программу-клиент Amnezia на компьютер или телефон. При первом запуске она подключится к серверу и настроит всё необходимое программное обеспечение (инструкция)

❗️ Стоит отметить, что кроме поддержки привычных OpenVPN, WireGuard, IPsec и др. протоколов, в Amnezia есть собственный защищенный протокол AmneziaWG.

Способ 2. Виртуальный сервер с предустановленным VPN: Некоторые хостеры при заказе сервера сразу предлагают установить на нем VPN с удобным веб-интерфейсом (UI) для управления пользователями.

После активации сервера нужно зайти в веб-интерфейс управления VPN-ом, создать нового пользователя и скачать его конфигурационный файл с настройками подключения и затем загрузить или импортировать этот файл в VPN-клиент с необходимым протоколом, такие как: OpenVPN Connect; WireGuard; роутеры со встроенным VPN-клиентом/с альтернативной прошивкой.

Способ 3. Готовый скрипт: На GitHub есть готовые универсальные скрипты для полуавтоматической настройки VPN. Мастер установки задаст несколько вопросов, настроит всё сам и создаст пользовательский файл конфигурации для подключения к VPN.

🖥 Один из наиболее популярных скриптов – для OpenVPN, и также для WireGuard.

если интересна данная тема, ставьте пальцы и следующий пост будет про самый трудоёмкий процесс настройки на сервере с Ubuntu

#VPN
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54🔥6
🥷 Джонни вещает: быстрая установка VPN VLESS с XTLS-Reality

Изначально хотел сделать на базе OpenVPN в пользу его поддержки среди большинства роутеров, но этот протокол вполне перестанет работать, и самым актуальным в наших условиях всё таки - VLESS(трафик шифруется и маскируется под подключение к популярным доменам).

— Под катом установка собственного VPN-сервера с управлением через GUI-интерфейс 3x-ui.

telegra.ph

#VPN #VLESS | 😊 @iscode
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🥷 Развертывание в пятницу днем?

Напоминаю главное правило:

Пятница - это время успокоения. Мы используем понедельник, чтобы вернуться к работе, а в среду работаем в полную силу.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
🥷 Джонни вещает: обходим блокировку VPN

Мой провайдер помимо замедления YouTube так же стал блокировать соединения с моими рабочими VPN. Сразу скажу, обходной путь придумал не сам, мне его подсказал автор проекта zapret, а точнее его комментарий, более того, ныне я его использую, чтоб смотреть нормально YouTube.

— Стоит добавить, что nftables и nfqws работает у меня, но это не значит, что заработает и у вас! Возможно, вам придётся изменить некоторые параметры. (очень внимательно читаем комментарий по ссылке выше и штудируем, как портировать правила iptables в nftables.)

$ iptables-translate -A OUTPUT -t mangle -o wlan0 -p udp --dport 443 -m mark ! --mark 0x40000000/0x40000000 -j NFQUEUE --queue-num 220 --queue-bypass

И получилось:

$ nft 'add rule ip mangle OUTPUT oifname "wlan0" udp dport 443 mark and 0x40000000 != 0x40000000 counter queue num 220 bypass'

wlan0 — интерфейс, через который мы ходим в сеть, 443 — порт подключения к VPN сервису, и меняем OUTPUT на output:

$ nft 'add rule ip mangle output oifname "wlan0" udp dport { 443, 18189 } mark and 0x40000000 != 0x40000000 counter queue num 220 bypass' (у меня два VPN коннекта, отсюда и два порта)

🖥 Перед запуском, проверяем, что у нас есть таблица ip mangle:

$ nft list tables

В случае, если нет создаём её и цепочку output:

$ nft add table ip mangle
$ nft 'add chain ip mangle output { type filter hook output priority 0 ; }'


Смотрим, что всё создалось: $ nft -a list table ip mangle теперь запускаем строку с добавлением нового правила и снова проверяем, что внутри таблицы, и последнее, запускаем демон, который маскирует пакеты отправленные на требуемые порты:

$ /opt/zapret/nfq/nfqws --uid 2 --qnum=220 --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d2 --dpi-desync-repeats=10 --dpi-desync-ttl=5 --daemon

❗️ Обратите внимание, значение ttl у вас может отличаться. Своё я подглядел через ps aux | grep nfqws, которое стоит в демоне от zapret.

#VPN #РКН
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥5