Перейти к содержанию

Новая сеть

Мы строим новую сеть.

Все старые устройства пока продолжают работать — переходный период продлится пару недель, пока новая инфраструктура не будет готова. После того как она встанет, все существующие подключения переедут на новые серверы.

Ключевая идея новой архитектуры — распределённая инфраструктура. Облако вместо дерева.


Первый уровень: входные узлы. Облако, разбитое на ячейки. Каждая ячейка — Kubernetes-кластер, связанный единым доменом. Здесь мы получаем гибкую ротацию IP-адресов за счёт постоянного обновления нод: топология не стоит на месте, пул адресов непрерывно меняется. Ячеек много, доменные имена тоже не постоянны. Механизм рассылки каждый раз направляет клиента по разному пути — при достаточном масштабе IP-адреса и домены повторяются, но не выходя за рамки среднестатистического обращения пользователя к одним и тем же сетевым ресурсам.

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

Третий уровень: общесетевая инфраструктура. Данные о подключениях, участниках, узлах — всё, что нужно для управления маршрутизацией, резервного копирования и операционного контроля — выносится в отдельный распределённый кластер.


Первые два уровня — плоскость данных, рабочая часть сети. Третий — плоскость управления, мозг всей системы. Именно с него мы и начнём строительство новой архитектуры.

Прежде всего — это работа с данными, в том числе с чувствительными. А это предполагает повышенные требования к безопасности. Я никогда не был маньяком в этой области — наверное, пора им стать.