January 7

Свой VPN

VPN-сервер-шлюз с публичным IP

работает следующим образом:

  1. Инфраструктура:
    • VPN-сервер размещается на сервере с публичным IP-адресом, доступным из интернета.
    • Сервер подключен к интернету через провайдера и имеет статический или динамический публичный IP.
  2. Настройка VPN:
    • Устанавливается VPN-протокол (например, OpenVPN, WireGuard, IPSec).
    • Настраиваются параметры шифрования, аутентификации и маршрутизации.
    • VPN-сервер управляет туннелированием трафика между клиентом и интернетом.
  3. Роль шлюза:
    • Клиент подключается к VPN-серверу через зашифрованный туннель.
    • Трафик клиента перенаправляется через VPN-сервер, маскируя IP-адрес клиента.
    • Сервер передает запросы клиента в интернет от своего публичного IP-адреса.
  4. Маршрутизация:
    • На сервере настраиваются правила маршрутизации (например, через iptables или nftables), чтобы перенаправлять трафик от клиентов в интернет.
    • Включается IP Forwarding для обеспечения маршрутизации между интерфейсами.
  5. Безопасность:
    • Используются сертификаты, ключи или учетные данные для аутентификации.
    • Настраиваются правила файрвола для ограничения доступа.

Результат: клиенты получают доступ к интернету через публичный IP VPN-сервера, обеспечивая анонимность и защиту данных.

Мой коммент:

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

Нужен широкий канал в интернет

Какой канал в Интернет нужен?

Для расчета пропускной способности:

Предположения:

  1. Средний трафик YouTube:
    • Качество видео: 720p (3 Мбит/с) в среднем.
    • Одновременно стримящих: 10% (1000 пользователей).
  2. Средний трафик веб-серфинга:
    • Средний пользователь: ~1 Мбит/с.
    • Остальные 90% (9000 пользователей).

мой коммент:

Здесь использован очень лояльный к объему трафика расчет

Расчет:

  1. YouTube-трафик:
    1000 пользователей × 3 Мбит/с=3000 Мбит/с
  2. Веб-серфинг:
    9000 пользователей × 1Мбит/с = 9000 Мбит/с
  3. Итоговая пропускная способность:
    3000Мбит/с+9000Мбит/с=12,000Мбит/с

Ответ:

Для 10 000 пользователей потребуется канал интернет-подключения с пропускной способностью не менее 12 Гбит/с.

Мой коммент:

Есть старый провайдерский сетевой стереотип - 5..8 конечных пользователей, висящих одновременно на канале в 1Гбит/с на 80% будут удовлетворены, если им сказать: Ваш канал 1Гбит/с и ничего не заметят.

То есть можно сказать что канал на 10 000 юзеров нужен 2 Гбита всего

Вывод: тестировать можно и на 1 Гб/с

для 5 юзеров одновременно, например.

Итог - что нужно для реализации

Для организации подключения с пропускной способностью 12 Гбит/с для 10 000 пользователей потребуется следующее:


1. Интернет-подключение:

  • Провайдер: Заключите договор с интернет-провайдером, предоставляющим корпоративные каналы на скорости 10–40 Гбит/с.
  • Публичный IP: Получите выделенный IP-адрес или диапазон для VPN-сервера.

2. Сетевое оборудование:

  • Маршрутизатор:
    • Модели, поддерживающие пропускную способность 10+ Гбит/с, например, Cisco ASR 1000, MikroTik CCR2216, или аналоги.
  • Коммутаторы:
    • 10-гигабитные L3-коммутаторы для распределения нагрузки (например, Ubiquiti EdgeSwitch 48).
  • Сервер VPN:
    • Мощные серверы с сетевыми картами 10/25 Гбит/с (например, Dell PowerEdge R650 или HP ProLiant DL380).
  • Балансировщик нагрузки (если более одного провайдера):
    • Аппаратный (например, F5 Networks или MikroTik).

3. Программное обеспечение:

  • ОС для VPN:
    • Linux-дистрибутивы с поддержкой OpenVPN, WireGuard или IPSec.
  • Файрвол и NAT:
    • Используйте iptables или nftables для управления правилами.
  • Мониторинг трафика:
    • Программы: Zabbix, Grafana или SolarWinds.

4. Организация подключения:

  • Подключение интернета:
    • Основной канал 12 Гбит/с + резервный канал.
  • Сетевая топология:
    • Разделите пользователей на подсети (например, по 1000 пользователей на подсеть).
  • VPN-конфигурация:
    • Разделите нагрузку между несколькими VPN-серверами.
  • Кэширование контента:
    • Установите прокси-сервер (например, Squid) для уменьшения нагрузки при веб-серфинге и стриминге.

5. Масштабирование:

  • Используйте балансировщики нагрузки и кластеризацию VPN-серверов для распределения нагрузки между несколькими серверами.
  • Разверните CDN (например, Cloudflare) для оптимизации доставки контента.

Пример конфигурации оборудования:

  • Маршрутизатор: Cisco ASR 1001-X.
  • Сервер: 2x Dell PowerEdge R650 (10 Гбит/с на сервер).
  • Коммутатор: Ubiquiti EdgeSwitch 48 с портами 10 Гбит.
  • Кабели: Оптоволоконные (OM4) или Ethernet Cat6a для подключения.

Корректная настройка и балансировка обеспечат стабильную работу для 10 000 пользователей.

Сколько стоит это и какие есть варианты??

1. Амазон (AWS)

Для расчета стоимости аренды на AWS для канала 12 Гбит/с, будем исходить из следующих параметров:

  • Использование EC2 (например, t3.large или m5.large для Kubernetes): каждый сервер с пропускной способностью около 1 Гбит/с.
  • Публичный IP-адрес (Elastic IP).
  • Исходящий трафик: $0.09 за ГБ.

Предположения:

  • 12 Гбит/с = 1,5 ГБ/с * 60 с * 60 мин * 24 ч * 365 дней = 47,304 ТБ в год.
  • Исходящий трафик: 47,304 ТБ * $0.09/ГБ = $4,257.36 в год.

Для вычисления общей стоимости:

  • EC2 аренда: 2 сервера (для канала 2 Гбит/с) по $100/месяц (ориентировочная цена для подходящей конфигурации) = $2,400/год.
  • Публичный IP: 2 IP-адреса по $5/месяц = $120/год.

Итого (AWS):

  • Аренда EC2: $2,400
  • Трафик: $4,257.36
  • Публичные IP: $120

Общий бюджет для AWS: $6,777.36/год.


2. Физический сервер на выделенном канале

Для физического сервера на выделенном канале с пропускной способностью 12 Гбит/с необходимо учесть стоимость оборудования, аренды канала, публичных IP и трафика.

Оборудование:

  • Сервер с высокопроизводительным процессором, 128 ГБ RAM, 1 TB SSD: $5,000–$7,000 (средняя цена).
  • Канал 12 Гбит/с с публичным IP: в зависимости от провайдера, цена аренды может составлять около $2,000–$5,000 в месяц.

Трафик:

  • Допустим, цена исходящего трафика составляет $2–$5 за 1 ТБ (по индивидуальному контракту).

Предположения:

  • 12 Гбит/с = 47,304 ТБ трафика в год.
  • Трафик: 47,304 ТБ * $3/ТБ = $141,912/год.
  • Оборудование: $6,000 (один раз за 3 года, это $2,000 в год).

Итого (физический сервер):

  • Оборудование: $2,000/год
  • Канал 12 Гбит/с с IP: $24,000/год
  • Трафик: $141,912/год

Общий бюджет для физического сервера: $167,912/год.


Резюме:

  • AWS: $6,777.36/год
  • Физический сервер: $167,912/год

Вывод по способу аппаратного решения:

решение с реализацией на собственном "домашнем" физическом сервере - это многоденег и риски по неисправностям и необходимости обеспечения надежности, что может удвоить затраты. Поэтому рассмотрим варианты по аренде серваков на облачных сервисах.

подключение 2Гб/с (минимум стартовый)

Примечания:

  • Selectel (Россия): Стоимость аренды зависит от конфигурации сервера. За дополнительные IP-адреса и трафик может взиматься дополнительная плата.
  • Biznet (Индонезия): Преимущество этого провайдера — доступность и цены для индонезийского региона, однако цены могут варьироваться в зависимости от конфигурации сервера.
  • Hostinger: Облачные решения с более ограниченным функционалом. Подходит для более бюджетных решений, но пропускная способность и тарифы на трафик могут быть ограничены.
  • AWS (Amazon): Высокие гибкость и масштабируемость, однако стоимость может расти в зависимости от объема трафика и выбранных ресурсов.
  • Google Cloud: Предлагает аналогичные решения AWS, с фокусом на Kubernetes и облачные технологии.

Для получения точных расчетов необходимо учитывать специфику каждого провайдера и выбранные ресурсы.

Расчет на базу из 10 000 юзеров

с эффективностью 80% по доходу

Вычтем из выручки 20% на обслуживание и на то что забыли посчитать,

оценим потенциал на 100 000 клиентов:

Комментарии:

  1. Прочие доходы рассчитаны как 10% от основного дохода, предполагая дополнительные источники дохода.
  2. Расходы на администрирование проекта включают техподдержку, маркетинг и управление.
  3. Налоги взяты условно 20%, но их ставка может варьироваться в зависимости от юрисдикции.
  4. ROI by PAT показывает рентабельность вложений, исходя из чистой прибыли после налогов.

Технические решения по софту:

Outline

осторожно, потенциально опасные технологии!

https://jigsaw.google.com/ пиздец конечно ресурсик еще тот. Управление Э и служба БТ от гуглов. Они блять за свободный интернет типа. Факт-чекеры ёбаные. Думаю первое что сделает их сервер-менеджер при установке - сольёт весь кэш браузера в гугл и прошерстит все ресурсы и сайты которые ты держишь.

Решение на базе OUTLINE https://getoutline.org/ru/faq/

Outline – это бесплатное ПО с открытым исходным кодом. Бренд Outline принадлежит Jigsaw, и его необходимо использовать должным образом. В руководстве пользователя описано, как избежать потенциально обманных и неверных утверждений о вашем взаимодействии с Outline и Jigsaw и как правильно использовать одобренные элементы товарного знака.

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

Как выбрать облачный сервис?

Выберите облачный сервис, отвечающий вашим потребностям и бюджету. Google Cloud и Amazon Web Services зарекомендовали себя как надежные поставщики. Digital Ocean предлагает одни из самых доступных тарифов, и многие пользователи отмечают, что этот сервис наиболее прост в настройке.

Альтернативы.

Сервисы для развёртывания VPN-сервера без связи с глобальными игроками

  1. Algo VPN
    • Описание: Open-source проект для быстрого развертывания WireGuard или IPsec VPN на вашем сервере.
    • Разработчик: Инженеры из Trail of Bits (независимая компания по кибербезопасности).
    • Особенности:
      • Поддержка большинства облачных платформ и bare-metal серверов.
      • Простота установки без привязки к глобальным игрокам.
    • Сайт: https://github.com/trailofbits/algo.
  2. Streisand
    • Описание: Автоматизированный инструмент для развертывания VPN с поддержкой Shadowsocks, V2Ray и OpenVPN.
    • Разработчик: Сообщество энтузиастов, независимое от корпораций.
    • Особенности:
      • Автоматическая настройка обфускации.
      • Поддержка множества протоколов.
    • Сайт: https://github.com/StreisandEffect/streisand.
  3. Outline Forks (без Google)
    • Описание: Независимые форки сервиса Outline, отказывающиеся от оригинального API Google.
    • Особенности:
      • Управление локально без передачи данных в Google.
      • Маскировка трафика через Shadowsocks.
    • Пример форка: https://github.com/Jigsaw-Code/outline-server — можно модифицировать под себя.
  4. XRay
    • Описание: Открытый проект для развёртывания V2Ray с улучшенной поддержкой обфускации.
    • Разработчик: Сообщество разработчиков без привязки к крупным корпорациям.
    • Особенности:
      • Маскировка трафика под HTTPS.
      • Совместимость с CDN и TLS.
    • Сайт: https://github.com/XTLS/Xray-core.
  5. SoftEther VPN
    • Описание: Свободно распространяемый VPN-сервер с поддержкой многих протоколов.
    • Разработчик: Университет Цукуба, Япония.
    • Особенности:
      • Маскировка трафика под обычный HTTPS.
      • Простой в установке и настройке.
    • Сайт: https://www.softether.org/.

Всё круто короч вперед