В данной статье рассматривается способ установки и настройки прокси Cloak из репозитория автора проекта на Github. Уже несколько лет существует коробочное решение от Amnezia VPN c клиентами для Windows, Mac, Linux, Android и iOS (iOS поддерживает Cloak начиная с версии 3.08).
Здесь мы рассмотрим установку чистого Cloak для существующего сервера OpenVPN.
Эта статья результат ознакомления с инструментом Cloak и рабочий гайд по настройке работы OpenVPN на OpenWRT через него.
#Cloak |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤3🫡2
Состоит она из 7 уровней и каждый уровень выполняет определенную ему роль и задачи. Разберем, что делает каждый уровень снизу вверх:
1) Физический уровень:
определяет метод передачи данных, какая среда используется (передача электрических сигналов, световых импульсов или радиоэфир), уровень напряжения, метод кодирования двоичных сигналов.
2) Канальный уровень:
он берет на себя задачу адресации в пределах локальной сети, обнаруживает ошибки, проверяет целостность данных. Если слышали про MAC-адреса и протокол «Ethernet», то они располагаются на этом уровне.
3) Сетевой уровень:
этот уровень берет на себя объединения участков сети и выбор оптимального пути (т.е. маршрутизация). Каждое сетевое устройство должно иметь уникальный сетевой адрес в сети. Думаю, многие слышали про протоколы IPv4 и IPv6. Эти протоколы работают на данном уровне.
4) Транспортный уровень:
Этот уровень берет на себя функцию транспорта. К примеру, когда вы скачиваете файл с Интернета, файл в виде сегментов отправляется на Ваш компьютер. Также здесь вводятся понятия портов, которые нужны для указания назначения к конкретной службе. На этом уровне работают протоколы TCP (с установлением соединения) и UDP (без установления соединения).
5) Сеансовый уровень:
Роль этого уровня в установлении, управлении и разрыве соединения между двумя хостами. К примеру, когда открываете страницу на веб-сервере, то Вы не единственный посетитель на нем. И вот для того, чтобы поддерживать сеансы со всеми пользователями, нужен сеансовый уровень.
6) Уровень представления:
Он структурирует информацию в читабельный вид для прикладного уровня. Например, многие компьютеры используют таблицу кодировки ASCII для вывода текстовой информации или формат jpeg для вывода графического изображения.
7) Прикладной уровень:
Наверное, это самый понятный для всех уровень. Как раз на этом уроне работают привычные для нас приложения — e-mail, браузеры по протоколу HTTP, FTP и остальное.
#OSI |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3🫡2
#HTTP #QUIC |
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍4
Для понимания ситуации все примеры ниже будут ссылаться на схему.
Комментарий: Две серые сети. Первая сеть напоминает типичную офисную сеть (NAT), вторая — «гейтвей», то есть сервер с белым интерфейсом и серым, смотрящим в свою собственную приватную сеть. В дальнейших рассуждениях мы полагаем, что «наш» ноутбук — А, а «сервер» — Б.
Задача: у нас локально запущено приложение, нам нужно дать возможность другому пользователю (за пределами нашей сети) посмотреть на него.
Решение: проброс локального порта (127.0.0.1:80) на публично доступный адрес. Допустим, наш «публично доступный» Б занял 80ый порт чем-то полезным, так что пробрасывать мы будем на нестандартный порт (8080).
Итоговая конфигурация: запросы на 8.8.8.8:8080 будут попадать на localhost ноутбука А.
Опция -R позволяет перенаправлять с удалённого (Remote) сервера порт на свой (локальный).
Важно: если мы хотим использовать адрес 8.8.8.8, то нам нужно разрешить GatewayPorts в настройках сервера Б.
Задача. На сервере «Б» слушает некий демон (допустим, sql-сервер). Наше приложение не совместимо с сервером (другая битность, ОС, злой админ, запрещающий и накладывающий лимиты и т.д.). Мы хотим локально получить доступ к удалённому localhost'у.
Итоговая конфигурация: запросы на localhost:3333 на 'A' должны обслуживаться демоном на localhost:3128 'Б'.
Опция -L позволяет локальные обращения (Local) направлять на удалённый сервер.
Задача: На сервере «Б» на сером интерфейсе слушает некий сервис и мы хотим дать возможность коллеге (192.168.0.3) посмотреть на это приложение.
Итоговая конфигурация: запросы на наш серый IP-адрес (192.168.0.2) попадают на серый интерфейс сервера Б.
#SSH |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥3
API (Application Programming Interface) – это программный интерфейс. Он обеспечивает взаимодействие двух программ между собой и позволяет без особых усилий встраивать контент с любого сайта. Основной задачей API является создание связи между двумя приложениями. API позволяет отправлять запросы на передачу или получение информации. Взаимодействие осуществляется через JSON, а данные получаем в приложениях с помощью API-запросов. API-запрос включает в себя 4 компонента: endpoint (точка приема запроса), header (заголовок), method (метод) и data (данные). После вызова всех компонентов мы можем построить API-запрос.
CRUD-операции включают в себя 4 функции: Create (создание), Read (чтение), Update (редактирование) и Delete (удаление). Это основные методы работы с базами данных. Операции CRUD предназначены для редактирования данных программы. Давайте рассмотрим подробнее, что означает каждая операция:
GET – метод GET позволяет получить информацию из источника/базы данных.
POST – метод POST позволяет вносить информацию в источник/базу данных.
PUT – метод PUT позволяет обновлять существующую информацию в источнике/базе данных
DELETE – метод DELETE удалять существующую информацию из источника/базы данных
JSON (JavaScript Object Notation) используется для представления данных на сервере в текстовом формате. Он легко читается как людьми, так и машинами. Вот как выглядят данные в JSON: картинка
Open API – означает, что API находится в свободном доступе и открыт для всех.
Partner API – в данном случае происходит взаимодействие между сервером и клиентами.
Private API – защищенный API, может использоваться только для внутренних операций, например, платежей.
API – это мощный инструмент для взаимодействия приложений на стороне клиента и сервера. API обеспечивает защищенность, скорость и масштабируемость для приложений eCommerce. Он помогает разработчикам отправлять данные клиентам и в наши дни используется повсеместно.
#API #CRUD |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Автономный способ обхода DPI и эффективный способ обхода блокировок сайтов по IP-адресу
Провайдеры Российской Федерации, в большинстве своем, применяют системы глубокого анализа трафика (DPI, Deep Packet Inspection) для блокировки сайтов, внесенных в реестр запрещенных. Не существует единого стандарта на DPI, есть большое количество реализации от разных поставщиков DPI-решений, отличающихся по типу подключения и типу работы.
Существует два распространенных типа подключения DPI пассивный и активный:
⏺ Пассивный DPI —DPI подключенный в провайдерскую сеть параллельно (не в разрез) либо через пассивный оптический сплиттер, либо с использованием зеркалирования исходящего от пользователей трафика. Такое подключение не замедляет скорость работы сети провайдера в случае недостаточной производительности DPI, из-за чего применяется у крупных провайдеров. DPI с таким типом подключения технически может только выявлять попытку запроса запрещенного контента, но не пресекать ее. Чтобы обойти это ограничение и заблокировать доступ на запрещенный сайт, DPI отправляет пользователю, запрашивающему заблокированный URL, специально сформированный HTTP-пакет с перенаправлением на страницу-заглушку провайдера, словно такой ответ прислал сам запрашиваемый ресурс (подделывается IP-адрес отправителя и TCP sequence). Из-за того, что DPI физически расположен ближе к пользователю, чем запрашиваемый сайт, подделанный ответ доходит до устройства пользователя быстрее, чем настоящий ответ от сайта
⏺ Активный DPI —DPI подключенный в сеть провайдера привычным образом, как и любое другое сетевое устройство. Провайдер настраивает маршрутизацию так, чтобы DPI получал трафик от пользователей к заблокированным IP-адресам или доменам, а DPI уже принимает решение о пропуске или блокировке трафика. Активный DPI может проверять как исходящий, так и входящий трафик, однако, если провайдер применяет DPI только для блокирования сайтов из реестра, чаще всего его настраивают на проверку только исходящего трафика
💬 Читать подробнее
#DPI |🌐 Сетевик Джонни
Провайдеры Российской Федерации, в большинстве своем, применяют системы глубокого анализа трафика (DPI, Deep Packet Inspection) для блокировки сайтов, внесенных в реестр запрещенных. Не существует единого стандарта на DPI, есть большое количество реализации от разных поставщиков DPI-решений, отличающихся по типу подключения и типу работы.
Существует два распространенных типа подключения DPI пассивный и активный:
#DPI |
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔5👍3
Почему ваш веб-сайт должен быть меньше 14 КБ
Чем меньше веб-сайт, тем быстрее он грузится, и это неудивительно.
Удивительно то, что страница на 14 КБ может грузиться гораздо быстрее, чем страница на 15 КБ, даже на
Так происходит из-за алгоритма медленного старта TCP.
⏺ Transmission Control Protocol (TCP) — это способ использования Internet Protocol (IP) для надёжной передачи пакетов данных; иногда его также называют TCP/IP.
⏺ Медленный старт TCP (TCP slow start) — это алгоритм, используемый серверами для определения того, сколько пакетов можно отправить за раз.
В каждом пакете TCP 40 байтов используются под заголовок — 16 байтов для IP и дополнительные 24 байта для TCP.
То есть на каждый пакет TCP остаётся 1460 байтов.
То есть если вы сможете уместить свой веб-сайт (или хотя бы его критически важные части) в 14 КБ, то сэкономите посетителям кучу времени, необходимого для передачи данных туда и обратно между ними и сервером веб-сайта.
💬 Читать подробнее
#tcp |🌐 Сетевик Джонни
Чем меньше веб-сайт, тем быстрее он грузится, и это неудивительно.
Удивительно то, что страница на 14 КБ может грузиться гораздо быстрее, чем страница на 15 КБ, даже на
612 мс быстрее, хотя разница между страницами на 15 КБ и 16 КБ минимальна.Так происходит из-за алгоритма медленного старта TCP.
В каждом пакете TCP 40 байтов используются под заголовок — 16 байтов для IP и дополнительные 24 байта для TCP.
То есть на каждый пакет TCP остаётся 1460 байтов.
10 x 1460 = 14600 байтов, или приблизительно 14 КБ!То есть если вы сможете уместить свой веб-сайт (или хотя бы его критически важные части) в 14 КБ, то сэкономите посетителям кучу времени, необходимого для передачи данных туда и обратно между ними и сервером веб-сайта.
#tcp |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥2❤1👎1🖕1
Обменяться параметрами можно вручную через мессенджер или сделать сигнальный сервер.
Соединения между браузерами еще нет, но нужно обменяться начальными параметрами
Параметры представлены в виде строк. Их можно отправлять друг другу вручную, например через мессенджер.
Можно автоматизировать. Сделать сигнальный сервер, который будет пересылать параметры между клиентами.
Требования к соединению зависят от задачи. Например, для видеосвязи браузеры должны выбрать кодек, который оба поддерживают. В браузерах есть API для формирования SDP.
См. Рис. “Session descriptors exchange”.
• Алиса формирует SDPOffer с указанием поддерживаемых кодеков. Отправляет Бобу.
• Боб получает SDPOffer и на его основе формирует SDPAnswer: выбирает кодек который есть у него и в SDPOffer. Нельзя сформировать SDPAnswer без SDPOffer. Боб отправляет SDPAnswer Алисе.
• Алиса устанавливает SDPAnswer: для трансляции будет использоваться кодек из SDPAnswer.
ICECandidate-ов может быть несколько. Например, один адрес в локальной сети, другой - во внешней. Чтобы узнать свой адрес нужен STUN сервер.
См. Рис. “Address exchange”.
Алиса узнает свои адреса, по которым она может получать пакеты. И отправляет их Бобу. Боб выбирает из полученных адресов-кандидатов.
У Алисы может быть несколько адресов. Например, один адрес в локальной сети, другой - во внешней. Если Боб в той же локальной сети, Алиса и Боб соединятся по локальному адресу.
Браузер не знает свой адрес. Чтобы узнать свой адрес браузер делает запрос к специальному STUN серверу. STUN сервер сообщает браузеру его (браузера) внешний адрес. Есть публичные STUN сервера, например у Google.
#WebRTC |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Во всех лабораторках для агрегирования использовались 2 кабеля. На самом деле можно использовать и 3, и 4 (вплоть до 8 интерфейсов в один port-channel). Но лучше использовать 2, 4 или 8 интерфейсов. А все из-за алгоритма хеширования, который придумала Cisco. Алгоритм высчитывает значения хэша от 0 до 7.
Данная таблица отображает 8 значений в двоичном и десятичном виде.
На основании этой величины выбирается порт Etherchannel и присваивается значение. После этого порт получает некую «маску», которая отображает величины, за которые тот порт отвечает. Вот пример. У нас есть 2 физических интерфейса, которые мы объединяем в один port-channel.
1) 0x0 — fa0/1
2) 0x1 — fa0/2
3) 0x2 — fa0/1
4) 0x3 — fa0/2
5) 0x4 — fa0/1
6) 0x5 — fa0/2
7) 0x6 — fa0/1
8) 0x7 — fa0/2
В результате получим, что половину значений или паттернов возьмет на себя fa0/1, а вторую половину fa0/2. То есть получаем 4:4. В таком случае балансировка будет работать правильно (50/50).
1) 0x0 — fa0/1
2) 0x1 — fa0/2
3) 0x2 — fa0/3
4) 0x3 — fa0/1
5) 0x4 — fa0/2
6) 0x5 — fa0/3
7) 0x6 — fa0/1
8) 0x7 — fa0/2
Здесь получаем, что fa0/1 возьмет на себя 3 паттерна, fa0/2 тоже 3 паттерна, а fa0/3 2 паттерна. Соответственно нагрузка будет распределена не равномерно. Получим 3:3:2. То есть первые два линка будут всегда загруженные, чем третий.
#агрегирование |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🫡2
Экосистема Hyper. Полный пиринг и шифрование
В настоящее время резко выросла потребность людей в защищённых коммуникациях. А с ней и популярность сервисов для защиты связи и шифрования. Это VPN, mesh-сети и пиринговые приложения для прямого обмена зашифрованными сообщениями, файлами и т. д. Один из самых продвинутых наборов такого рода — экосистема Hyper. Есть и другие (о них ниже).
Hyper — это набор маленьких JavaScript-модулей, которые можно комбинировать для создания неограниченного количества P2P-приложений, от VPN до коммуникационных инструментов типа P2P-мессенджера Keet. На сегодняшний день Keet — это практически единственное реальное приложение, построенное на Hyper, своего рода демонстрация возможностей платформы.
В набор Hyper входят следующие основные компоненты:
• Hypercore — защищённый распределённый журнал. Создан для обмена большими массивами данных и потоками данных в реальном времени. Из особенностей — разреженная репликация, простая плоская файловая структура для максимальной производительности ввода-вывода, безопасность (подписанные деревья Меркла для проверки целостности журнала в реальном времени), модульность.
• Hyperdrive — безопасная распределённая файловая система, работающая в реальном времени. Другие модели для работы с файлами: Localdrive и Mirrordrive.
• Hyperswarm — распределённый сетевой стек для P2P-коммуникации.
• Hyperbeam — сквозное шифрование в канале между двумя пирами на основе Hyperswarm.
• HyperDHT — Hyperswarm с поддержкой DHT (распределённое обнаружение пиров — distributed holepunching, как в торрентах).
• Hyperbee — B-дерево на базе Hypercore. Позволяет выполнять итерации с сортировкой и многое другое.
• Hypershell — спаунит терминал (оболочку) в любом месте. Полностью одноранговый, аутентифицированный и зашифрованный.
💬 Ссылка на чтение
#Hyper ||🌐 Сетевик Джонни
В настоящее время резко выросла потребность людей в защищённых коммуникациях. А с ней и популярность сервисов для защиты связи и шифрования. Это VPN, mesh-сети и пиринговые приложения для прямого обмена зашифрованными сообщениями, файлами и т. д. Один из самых продвинутых наборов такого рода — экосистема Hyper. Есть и другие (о них ниже).
Hyper — это набор маленьких JavaScript-модулей, которые можно комбинировать для создания неограниченного количества P2P-приложений, от VPN до коммуникационных инструментов типа P2P-мессенджера Keet. На сегодняшний день Keet — это практически единственное реальное приложение, построенное на Hyper, своего рода демонстрация возможностей платформы.
В набор Hyper входят следующие основные компоненты:
• Hypercore — защищённый распределённый журнал. Создан для обмена большими массивами данных и потоками данных в реальном времени. Из особенностей — разреженная репликация, простая плоская файловая структура для максимальной производительности ввода-вывода, безопасность (подписанные деревья Меркла для проверки целостности журнала в реальном времени), модульность.
• Hyperdrive — безопасная распределённая файловая система, работающая в реальном времени. Другие модели для работы с файлами: Localdrive и Mirrordrive.
• Hyperswarm — распределённый сетевой стек для P2P-коммуникации.
• Hyperbeam — сквозное шифрование в канале между двумя пирами на основе Hyperswarm.
• HyperDHT — Hyperswarm с поддержкой DHT (распределённое обнаружение пиров — distributed holepunching, как в торрентах).
• Hyperbee — B-дерево на базе Hypercore. Позволяет выполнять итерации с сортировкой и многое другое.
• Hypershell — спаунит терминал (оболочку) в любом месте. Полностью одноранговый, аутентифицированный и зашифрованный.
#Hyper ||
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
WebSocket (веб-сокет) - это протокол для двусторонней связи между клиентом и сервером через веб-соединение. Он предоставляет возможность передавать данные в режиме реального времени без необходимости постоянного запроса к серверу. WebSocket обеспечивает более эффективное соединение и не такие накладные расходы на его организацию, чем традиционные методы - например, HTTP-запросы и ответы.
Протокол имеет две схемы URI:
Вот основные характеристики и особенности WebSocket:
Установка соединения: WebSocket начинается с установки соединения через HTTP (обычно используется стандартный порт 80 или защищенный порт 443). После успешной установки соединения клиент и сервер могут обмениваться данными в реальном времени;
Двусторонняя связь: WebSocket поддерживает как отправку данных от клиента к серверу, так и от сервера к клиенту. Это позволяет строить интерактивные веб-приложения, где клиент и сервер могут обмениваться информацией без задержек;
Низкая задержка: WebSocket обеспечивает низкую задержку (лаг) по сравнению с традиционными методами долгого опроса (long polling) или периодическими запросами;
Протокол на основе кадров (frame-based protocol): Данные в WebSocket упаковываются в кадры (frames), что делает их эффективными для передачи и обработки;
Поддержка защиты (Security): WebSocket может использовать шифрование для обеспечения безопасности передаваемых данных, используя wss:// вместо ws:// в URL;
Поддержка разных типов данных: WebSocket позволяет передавать различные типы данных, включая текст, бинарные данные и даже произвольные объекты;
Событийная модель: WebSocket использует событийную модель для обработки входящих данных. Это означает, что Вы можете реагировать на события, такие как открытие соединения, получение сообщения или закрытие соединения.
#WebSocket |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Мы видим стандартный цикл PDCA с учетом сетевой специфики. Первым элементом системы является источник правды (source of truth), это в каком-то формате ipam- система, мы тут храним полный перечень сетевого оборудования (не обязательно только сетевого, но в нашем контексте важно именно сетевое), подсети, актуальные используемые ip адреса, vlan и тд., все что нам необходимо для описания текущего состояния сетевой инфраструктуры. Важное условие – данные в нашей системе должны быть актуальными и консистентными, то есть мы должны опираться на эти данные и не сомневаться в них (поэтому мы называем его источником правды).
На основании вносимых изменений в эти данные мы производим изменения в сети вручную или с помощью различных инструментов автоматизации, Ansible, Nornir, Netbrain, кому что больше нравится и подходит для решения конкретной задачи.
Хорошо, мы раскатили изменения в сети. Что происходит дальше? Дальше мы как-то должны понять, что все раскатилось хорошо и сеть работает. Сеть работает так, как мы и запланировали, в соответствии с источником правды.
В данной статье мы рассмотрим актуальные методы проверки работоспособности сетевого оборудования. Конкретно в этой статье мы поговорим про протоколы мониторинга. Статья является переваренным опытом компании Netopia, которая занимается разработкой программного обеспечения для сетей.
#PDCA |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🕸️ Raspberry Pi в роли шпиона: Создание Wi-Fi моста для доступа к корпоративной сети
Ethernet/Wi-Fi мост (Ethernet-to-Wi-Fi bridge или Wi-Fi-to-Ethernet bridge) - это устройство или программное решение, которое позволяет соединять две разные сети: проводную сеть Ethernet и беспроводную сеть Wi-Fi, обеспечивая обмен данными между ними.
Пентестер или редтимер, находясь физически внутри компании, может обнаружить сетевую розетку, подключить к ней "мост", который начинает работать как точка доступа. Подключившись к этой точке доступа, можно получить доступ во внутреннюю сеть компании.
Raspberry Pi - это мини-компьютер, разработанный и производимый британской фирмой Raspberry Pi Foundation.
Для начала, вам потребуется Raspberry Pi и карта Micro SD с установленной операционной системой Raspberry Pi OS. Для установки ОС, используйте Raspberry Pi Imager, который можно скачать и установить на вашем устройстве. После установки, выберите необходимую версию ОС и карту памяти, а затем выполните запись.
Теперь можем перейти непосредственно к настройке и автоматизации работы самого моста. Есть несколько способов сделать это, но сначала нам необходимо обновить ОС нашей «Малины», делается это в терминале, с помощью команд :
⏺ ⏺ ⏺
Устанавливается RaspAP из командной строки, командой:
⏺ 💬 Читать подробнее
#Raspberry |🌐 Сетевик Джонни
Ethernet/Wi-Fi мост (Ethernet-to-Wi-Fi bridge или Wi-Fi-to-Ethernet bridge) - это устройство или программное решение, которое позволяет соединять две разные сети: проводную сеть Ethernet и беспроводную сеть Wi-Fi, обеспечивая обмен данными между ними.
Пентестер или редтимер, находясь физически внутри компании, может обнаружить сетевую розетку, подключить к ней "мост", который начинает работать как точка доступа. Подключившись к этой точке доступа, можно получить доступ во внутреннюю сеть компании.
Raspberry Pi - это мини-компьютер, разработанный и производимый британской фирмой Raspberry Pi Foundation.
Для начала, вам потребуется Raspberry Pi и карта Micro SD с установленной операционной системой Raspberry Pi OS. Для установки ОС, используйте Raspberry Pi Imager, который можно скачать и установить на вашем устройстве. После установки, выберите необходимую версию ОС и карту памяти, а затем выполните запись.
Теперь можем перейти непосредственно к настройке и автоматизации работы самого моста. Есть несколько способов сделать это, но сначала нам необходимо обновить ОС нашей «Малины», делается это в терминале, с помощью команд :
sudo apt-get update
sudo apt-get full-upgrade
sudo reboot
RaspAP - это проект с открытым исходным кодом, который позволяет создавать беспроводные маршрутизаторы из различных популярных устройств, работающих на операционной системе Debian, включая Raspberry Pi.Устанавливается RaspAP из командной строки, командой:
curl -sL https://install.raspap.com | bash
#Raspberry |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Из этой статьи узнаете, как выглядит интернет изнутри, какие существуют топологии сетей и почему одни среды передачи приоритетнее других.
Услуги доставки и дистрибуции содержимого (CDN) предоставляют множество преимуществ, но главным из них является то, что распределение контента по всему миру и предоставление его клиенту из ближайшего местоположения позволяет нам значительно сократить время распространения всех пакетов данных. Возможно, мы не сможем ускорить передачу пакетов, но расположив наши сервера ближе к пользователям, мы сможем сократить расстояние между пользователем и сервером.
Из цитаты выше следует, что CDN ускоряет загрузку сайта. Разберемся, как это работает.
В коммуникационных сетях топология – это расположение элементов. Различают физическую и логическую топологию. Физическая топология – расположение элементов сети, а логическая топология – то, как данные передаются в пределах сети. В случае, описанном выше устройства соединены друг с другом и такая сеть называется полносвязной физически и логически. Для экономии количества кабелей выберем другую топологию. Например, каждый компьютер будет соединен с соседями только слева и справа. Такая сеть называется «кольцом»
#CDN |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
На Hacker News предложили поделиться профильной литературой, которую можно назвать «алмазом» в своей области знаний. Участники дискуссии обсудили книги по стандартизации систем и продуктов, управлении персоналом и даже нейробиологии. Мы выделим несколько избранных материалов о сетях, алгоритмах, разработке и системном администрировании.
Это — классика из 90-х, посвященная математическим основам информатики. Несмотря на возраст, Concrete Mathematics до сих пор попадает в подборки лучшей литературы на профильных площадках. В списке авторов числятся такие знаковые имена, как Дональд Кнут и Роналд Грэм.
Перехватить пакеты с помощью Wireshark несложно. Но как проанализировать собранную информацию и понять, что на самом деле происходит в сети? С этим поможет другой частый гость тематических подборок — Practical Packet Analysis. Книга стала одной из самых упоминаемых изданий по компьютерным сетям на Reddit.
Это — настольный справочник, посвященный API в пользовательском пространстве Linux. В нем Майкл Керриск, который остается мейнтейнером справочного ресурса man-pages, описал библиотечные функции для системного программирования. По словам читателей, книга значительно сокращает время, проводимое в поисковиках.
Книга издательства O’Reilly о том, как использовать техники feedback control при разработке и администрировании приложений в корпоративной среде. На примере кейсов и симуляций автор делится подходами к управлению серверным и сетевым оборудованием в дата-центрах — например, при неожиданных скачках трафика.
#books |
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8
DN42 - это сеть из VPN-туннелей с маршрутизацией по протоколу BGP. Участники устанавливают между собой соединения, используя различные туннельные технологии (Wireguard, OpenVPN, GRE, Tinc, ZeroTier и другие).
DN42 использует адреса в диапазоне 172.20.0.0/14 (для IPv4), fd00::/8 (для IPv6), а также номера автономных систем (AS) из приватного диапазона 4242420000-4242429999.
В настоящий момент (сентябрь 2023го) для аллокации свободно 314 IPv4-блоков (15% диапазона), ~72058 миллиардов /64-сетей (0.00006% диапазона), 1404 ASN (65% диапазона). ASN можно получить в диапазоне 4242420000-AS4242423999 (остальные блоки пока закрыты для регистрации).
В отличие от Интернет, в DN42 минимальный маршрутизируемый блок - это /29 (IPv4) и /64 (IPv6). Что позволяет делать dual-stack системы.
Зачем оно нужно?
Для сравнения, в Интернет минимальный маршрутизируемый IPv4-блок - это /24, который стоит ~11000 EUR (покупка), ~200 EUR/месяц(аренда).
SSH
Скорее всего у Вас уже есть SSH ключи, но если нет, то генерируем их командой ssh-keygen:
Она создаст пару ключей ~/.ssh/id_ecdsa (закрытый ключ) и /home/asm/.ssh/id_ecdsa.pub (публичный ключ).
#DN42 |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🙉2
Когда неподкованные пользователи (пенсионеры, школьники, офисный планктон) первый раз сталкиваются с чёрным окошком, именуемым "Командной строкой" они зачастую хотят с профессиональным видом проверить интернет соединение.
ping 8.8.8.8
Магический C:\Windows\System32\PING.EXE выполняет вполне интуитивно понятные действия: отправляет запрос на указанный адрес (в данном случае 8.8.8.8 - dns google), и если адрес отвечает, то выводит задержку ответа, по которой можно косвенно судить о скорости интернет соединения...
Если же вы имеете начальное представление о принципе работы интернетов этих ваших и примерно понимаете сетевую модель, то вам до следующего заголовка)
База базовая
Сидели умные люди такие в восьмидесятых и думали, как бы интернет сделать общий. Сидели они, будучи соединёнными сотнями Ethernet кабелей и разрабатывали иерархическую модель интернета, дабы каждый был соединён с каждым, и было всё стильно, да без централизации...
Зелёные (верхние) уровни нас не интересуют, их реализовывают конкретные приложения и сервисы, их зоопарк мы трогать не будем. Нужно идти с низов.
Второй уровень добавляет понятие MAC адресов. Теперь тот, кто отправляет данные, идентифицирует того, кто на другом конце провода. Каждому устройству в сети даётся уникальный шестибайтный адрес, и появляется возможность маршрутизировать данные к конкретному абоненту (в зоне действия провода).
#Ping |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Установка и настройка сервера Matrix Synapse + PostgreSQL + Admin UI + Element WEB. Ubuntu 20 LTS / Ubuntu 22 LTS
Matrix Synapse - это серверная реализация протокола Matrix. Он представляет собой программный сервер, который обеспечивает коммуникацию и синхронизацию данных в сети Matrix.
Matrix Synapse используется для следующих задач:
⏺ Обмен сообщениями: Он обеспечивает передачу текстовых сообщений между пользователями в реальном времени. Пользователи могут отправлять и получать сообщения один на один или участвовать в групповых чатах.
⏺ Голосовые и видеозвонки: Matrix Synapse поддерживает голосовые и видеозвонки, что позволяет пользователям общаться в режиме реального времени, используя аудио и видео связь.
⏺ Синхронизация данных: Сервер Matrix Synapse синхронизирует данные между пользователями и их устройствами. Это позволяет пользователям получать свои сообщения и данные на всех устройствах, которые они используют для доступа к Matrix.
⏺ Децентрализация: Matrix Synapse поддерживает децентрализованную архитектуру, что означает, что каждый пользователь может иметь свой собственный сервер Matrix Synapse. Это дает пользователям контроль над своими данными и коммуникациями, так как они не зависят от централизованного сервера.
⏺ Защита и приватность: Matrix Synapse обеспечивает шифрование end-to-end для обмена сообщениями, что гарантирует безопасность и приватность коммуникаций. Это означает, что только отправитель и получатель могут прочитать содержимое сообщения.
Установка
Прежде всего обновим нашу систему:
⏺ apt update
⏺ apt upgrade
Установим дополнительные зависимости
apt install net-tools python3-dev python3-pip libpq-dev mc aptitude htop apache2-utils lsb-release wget apt-transport-https
pip install psycopg2
Подключим matrix.org репозитории для Ubuntu/Debian x64 архитектуры доступные по адресу https://packages.matrix.org/debian/.
💬 Читать подробнее
#Matrix |🌐 Сетевик Джонни
Matrix Synapse - это серверная реализация протокола Matrix. Он представляет собой программный сервер, который обеспечивает коммуникацию и синхронизацию данных в сети Matrix.
Matrix Synapse используется для следующих задач:
Установка
Прежде всего обновим нашу систему:
Установим дополнительные зависимости
apt install net-tools python3-dev python3-pip libpq-dev mc aptitude htop apache2-utils lsb-release wget apt-transport-https
pip install psycopg2
Подключим matrix.org репозитории для Ubuntu/Debian x64 архитектуры доступные по адресу https://packages.matrix.org/debian/.
#Matrix |
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤2👍2
Как начать работать с IPv6 там, где его нет (часть 1)
Появлением на свет этот материал обязан переводу статьи IPv6 — это катастрофа (но поправимая) (автор Mathew Duggan) и является её логическим продолжением. Если вы живёте в небольшом городе, которого в том числе нет в этом списке, и ваш провайдер в него не входит, то велика вероятность, что просто так взять и начать по-настоящему (за пределами lan) работать с IPv6 не получится. Некоторых стран СНГ это касается в полной мере, где целые государства не имеют для этого необходимого интеллектуального и материального ресурса. Однако исследовательский интерес толкает человечество вперёд, поэтому в статье будут описаны стратегии, как получить и настроить IPv6 на различных, в том числе мобильных устройствах там, где его нет, используя возможности брокеров. В материале скомпилированы разные подходы, чтобы читатель мог реализовать подходящий вариант. Если у вас ещё имеются сомнения, нужно ли это вообще, то рекомендую почитать мотивационную статью, ссылка на которую приведена выше.
В настоящее время основным подходом к внедрению IPv6 является dual-stack, когда устройство одновременно настроено на функционирование обоих IP-протоколов. Это и понятно, ведь основная часть интернета работает на версии IPv4. Механизм 6to4 позволяет подключить ваше устройство IPv4 к брокеру, создав туннель в IPv6. И всё бы было легко и просто, но для такой схемы с вашей стороны необходим маршрутизируемый в wan адрес (белый IP), который в мире сarrier-grade nat провайдеры выдают только за дополнительную плату. Как с этим быть, подробно и рассмотрим в статье.
💬 Читать подробнее
#IPv6 |🌐 Сетевик Джонни
Появлением на свет этот материал обязан переводу статьи IPv6 — это катастрофа (но поправимая) (автор Mathew Duggan) и является её логическим продолжением. Если вы живёте в небольшом городе, которого в том числе нет в этом списке, и ваш провайдер в него не входит, то велика вероятность, что просто так взять и начать по-настоящему (за пределами lan) работать с IPv6 не получится. Некоторых стран СНГ это касается в полной мере, где целые государства не имеют для этого необходимого интеллектуального и материального ресурса. Однако исследовательский интерес толкает человечество вперёд, поэтому в статье будут описаны стратегии, как получить и настроить IPv6 на различных, в том числе мобильных устройствах там, где его нет, используя возможности брокеров. В материале скомпилированы разные подходы, чтобы читатель мог реализовать подходящий вариант. Если у вас ещё имеются сомнения, нужно ли это вообще, то рекомендую почитать мотивационную статью, ссылка на которую приведена выше.
В настоящее время основным подходом к внедрению IPv6 является dual-stack, когда устройство одновременно настроено на функционирование обоих IP-протоколов. Это и понятно, ведь основная часть интернета работает на версии IPv4. Механизм 6to4 позволяет подключить ваше устройство IPv4 к брокеру, создав туннель в IPv6. И всё бы было легко и просто, но для такой схемы с вашей стороны необходим маршрутизируемый в wan адрес (белый IP), который в мире сarrier-grade nat провайдеры выдают только за дополнительную плату. Как с этим быть, подробно и рассмотрим в статье.
#IPv6 |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
SSU2 — транспортный протокол I2P нового поколения на базе UDP
SSU — протокол I2P, являющийся криптографической оберткой UDP из стека TCP/IP, то есть это низкоуровневый транспортный протокол наравне с NTCP2, который является аналогичной зашифрованной обёрткой TCP. Этот уровень логики I2P обеспечивает первый слой безопасности всей информации, передаваемой между участниками сети.
SSU является первым транспортным протоколом I2P в буквальном смысле, он был создан до NTCP и тем более до NTCP2. С бородатого 2003 года анонимусы гоняют по сети пакеты SSU! С тех пор появился транспорт NTCP и даже его вторая версия, а SSU в течение без малого двадцати лет не получал каких-либо обновлений кроме незначительных исправлений реализации и, как говорят разработчики, костылей вроде поддержки IPv6.
Без этого протокола невозможно полноценное функционирование сети, в особенности на устройствах без выделенного IP-адреса, поэтому, несмотря на оптимизированную работу по TCP (NTCP2), сети I2P был необходим SSU2 — новое поколение транспорта на базе UDP. Спустя девятнадцать лет существования Проекта невидимого интернета (полное название I2P) появилось официальное обсуждение второй версии протокола SSU.
Причины появления SSU2
⏺ Медленная криптография. SSU использует старый алгоритм Diffie-Hellman, который требует много вычислительных мощностей, что влечет дополнительные задержки и нагрузку на процессор;
⏺ Уязвимость для подмены адреса. Протокол UDP не подразумевает контроль сессий, вся входящая информация валится в один сетевой сокет и принимается без полноценной проверки валидности;
⏺ Архитектурные недостатки. Навряд ли первый разработчик (jrandom) видел сразу всю картину протокола целиком, поэтому писал код как есть, уже тогда начав вставлять в SSU костыли по мере необходимости. Накопившиеся нагромождения не позволяют совершенствовать протокол и программировать работу с ним на современном уровне.
💬 Подробнее в статье
#SSU |🌐 Сетевик Джонни
SSU — протокол I2P, являющийся криптографической оберткой UDP из стека TCP/IP, то есть это низкоуровневый транспортный протокол наравне с NTCP2, который является аналогичной зашифрованной обёрткой TCP. Этот уровень логики I2P обеспечивает первый слой безопасности всей информации, передаваемой между участниками сети.
SSU является первым транспортным протоколом I2P в буквальном смысле, он был создан до NTCP и тем более до NTCP2. С бородатого 2003 года анонимусы гоняют по сети пакеты SSU! С тех пор появился транспорт NTCP и даже его вторая версия, а SSU в течение без малого двадцати лет не получал каких-либо обновлений кроме незначительных исправлений реализации и, как говорят разработчики, костылей вроде поддержки IPv6.
Без этого протокола невозможно полноценное функционирование сети, в особенности на устройствах без выделенного IP-адреса, поэтому, несмотря на оптимизированную работу по TCP (NTCP2), сети I2P был необходим SSU2 — новое поколение транспорта на базе UDP. Спустя девятнадцать лет существования Проекта невидимого интернета (полное название I2P) появилось официальное обсуждение второй версии протокола SSU.
Причины появления SSU2
#SSU |
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2