💡 Полезные Советы

Оптимизация сетевого стека Linux: Включение TCP BBR для ускорения VPN и прокси.

07.12.25
12

Если вы настроили VPN (O******, W***** Op****) или прокси-сервер, но сталкиваетесь с низкой скоростью передачи данных при хорошем канале, причина часто кроется не в ширине канала, а в устаревших алгоритмах управления перегрузкой TCP.

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

Что такое TCP BBR и зачем он нужен?

По умолчанию в большинстве дистрибутивов Linux используется алгоритм TCP CUBIC. Он был создан в эпоху проводных сетей и работает по принципу "loss-based" (основан на потере пакетов):

  1. Сервер наращивает скорость передачи.

  2. Как только теряется хотя бы один пакет, CUBIC считает, что канал забит, и резко сбрасывает скорость (обычно в 2 раза).

  3. Затем начинается медленный набор скорости заново.

Проблема: В современных сетях (особенно мобильных и международных) потеря пакетов часто носит случайный характер и не означает, что канал перегружен. В результате CUBIC «тормозит» там, где можно работать на полную мощность.

Решение (TCP BBR): Algorithm BBR (Bottleneck Bandwidth and Round-trip propagation time), разработанный Google, использует другой подход. Он моделирует сеть, постоянно измеряя два параметра:

  • Максимальную пропускную способность (Bandwidth).

  • Минимальное время отклика (RTT).

BBR игнорирует случайные потери пакетов и поддерживает скорость передачи на уровне реальной пропускной способности канала. Это дает прирост скорости от 30% до 1000% на нестабильных соединениях.

Инструкция по включению

Шаг 0: Проверка версии ядра

Для работы BBR требуется ядро Linux версии 4.9 или выше. Абсолютное большинство современных систем (Ubuntu 18.04+, Debian 10+, CentOS 8+) уже соответствуют этому требованию.

Проверьте версию ядра командой:

uname -r

Если версия ниже 4.9, вам необходимо сначала обновить ядро ОС.

Шаг 1: Включение BBR

Нам нужно изменить два параметра ядра через sysctl.

  1. Изменить планировщик пакетов (Queue Discipline) на fq (Fair Queueing), так как BBR требует его для корректной работы.

  2. Включить сам алгоритм bbr.

# Добавляем настройки в конфигурационный файл
echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
# Применяем изменения без перезагрузки
sudo sysctl -p

Шаг 2: Проверка результата

Убедитесь, что настройки применились корректно.

  1. Проверяем, какой алгоритм управления перегрузкой используется сейчас:

  2. sysctl net.ipv4.tcp_congestion_control
  3. Проверяем, запущен ли модуль BBR:

  4. lsmod | grep bbr

Ожидаемый вывод (пример):

tcp_bbr 20480 14

Результаты

После включения BBR перезагрузка сервера не требуется, изменения вступают в силу мгновенно для новых соединений.

Что вы заметите:

  • Стабильность: YouTube и потоковое видео перестанут буферизироваться.

  • Скорость: Speedtest покажет результаты, близкие к заявленным хостером, даже если клиент находится на другом континенте.

  • Плавность: Исчезнут резкие провалы скорости при использовании мобильного интернета.

Техническое примечание (для администраторов)

  • Почему fq, а не fq_codel? Хотя fq_codel часто является дефолтным в современных дистрибутивах, для работы BBR необходим именно планировщик fq, так как он обеспечивает pacing (равномерную подачу пакетов), на который опирается модель BBR.

  • Совместимость: BBR работает только на стороне отправителя (в данном случае — вашего VPN-сервера). Клиентам (телефонам, ноутбукам) ничего настраивать не нужно.

Свой протокол SSTP на Keenetic и Mikrotik? Или это протокол Microsoft?

26.10.25
99

Протокол SSTP (Secure Socket Tunneling Protocol) придумала и разработала компания Microsoft.

Когда говорят что у Keenetic или Mikrotik "свой SSTP", имеется в виду не свой протокол, а своя программная реализация этого протокола.

Например как с веб-браузерами:

  1. Протокол: Есть стандарт HTTPS, по которому работают современные сайты.

  2. Реализация: Есть Google Chrome, Mozilla Firefox, Apple Safari. Это разные программы (разные реализации), написанные разными компаниями, но все они "понимают" один и тот же протокол HTTP.

Что значит свой SSTP на Keenetic?

Это значит, что инженеры Keenetic написали собственный код (свою программу-клиент и программу-сервер), который работает по правилам (стандарту) протокола SSTP от Microsoft.

Чем он отличается от других (например, от того, что в Windows)?

  1. По протоколу - ничем. Он полностью совместим. Клиент SSTP на Windows 10/11 может без проблем подключиться к SSTP-серверу, поднятому на Keenetic. И наоборот, роутер Keenetic (как клиент) может подключиться к SSTP-серверу на Windows Server.

  2. По реализации - всем. Он написан на другом языке программирования, оптимизирован для работы на оборудовании Keenetic (у роутеров меньше оперативной памяти и более слабые процессоры, чем у ПК) и встроен в их операционную систему KeeneticOS. Реализация Microsoft встроена в Windows.

А на Mikrotik есть SSTP? Там тоже свой SSTP?

Да, на Mikrotik (в RouterOS) есть SSTP. Он поддерживается уже много лет и отлично работает.

И да, там тоже "свой SSTP". Точно так же, как и Keenetic, компания Mikrotik написала свою собственную программную реализацию протокола SSTP, чтобы он работал в их операционной системе RouterOS. Эта реализация также полностью совместима со стандартом Microsoft.

Протокол (стандарт) один - его придумала Microsoft. А вот реализаций (программ, которые этот протокол используют) много.

В чем главная фишка SSTP?

Главная фишка SSTP - это его способность маскироваться под обычный HTTPS-трафик.

1 . Обход блокировок (Firewall/DPI): Это его основное преимущество. SSTP инкапсулирует VPN-трафик в HTTPS (SSL/TLS) соединение. Большинство межсетевых экранов (файрволов) и систем глубокого анализа пакетов (DPI - Deep Packet Inspection) пропускают HTTPS-трафик, так как это стандартный протокол для защищенных веб-сайтов (банков, магазинов, почты и т.д.). Для DPI трафик SSTP выглядит как обычный HTTPS.

  • В отличие от OpenVPN, который может быть настроен на любой порт и легко идентифицируется DPI, если не применять обфускацию, SSTP по умолчанию "выглядит" как веб-трафик.

  • WireGuard хоть и быстр, но его трафик также может быть идентифицирован DPI, если не использовать маскировку.

2 . Надежное шифрование: SSTP использует SSL/TLS для шифрования, что обеспечивает высокий уровень безопасности. Это те же криптографические стандарты, что используются для защиты банковских транзакций в интернете.

3 . Встроенная поддержка в Windows: Поскольку SSTP разработан Microsoft, он встроен во все современные версии Windows, что делает его очень простым в настройке для клиентов на Windows — не требуется установка дополнительного ПО.

4 . Удобство для администраторов (Windows-среда): Для организаций, полностью построенных на инфраструктуре Windows Server (Active Directory, RRAS), SSTP является естественным выбором для удаленного доступа, так как он легко интегрируется с этими системами.

Как работает SSTP?

1 . Инкапсуляция в HTTPS:

  • SSTP устанавливает VPN-туннель через протокол HTTPS. Это означает, что он использует TCP-порт 443 (стандартный порт для HTTPS).

  • Когда вы подключаетесь к SSTP-серверу, ваш клиент инициирует обычное HTTPS-соединение. Внутри этого HTTPS-соединения SSTP создает свой собственный туннель.

2 . SSL/TLS Handshake:

  • Как и любое HTTPS-соединение, SSTP сначала выполняет SSL/TLS "рукопожатие" (handshake), чтобы установить защищенный канал. На этом этапе клиент и сервер обмениваются сертификатами (обычно сервер отправляет свой сертификат клиенту, чтобы клиент мог убедиться в подлинности сервера) и договариваются о параметрах шифрования.

  • Это ключевой момент для обхода DPI: на данном этапе трафик выглядит идентично обычному HTTPS.

3 . Аутентификация и туннель:

  • После установления защищенного TLS-канала, внутри него происходит аутентификация пользователя (по логину/паролю или другим методам).

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

SSTP является одним из наиболее эффективных протоколов для обхода DPI и файрволов, которые блокируют VPN-трафик. Его главный козырь - использование стандартного порта 443 и маскировка под HTTPS. Это делает его очень полезным в сетях с жесткими ограничениями или в странах, где VPN-трафик активно блокируется.

Как установить Outline Client на Linux Mint?

22.04.25
228

1 . Скачайте образ по ссылке: Linux: https://s3.amazonaws.com/outline-releases/client/linux/stable/Outline-Client.AppImage Альтернативно, через терминал: bash wget https://s3.amazonaws.com/outline-releases/client/linux/stable/Outline-Client.AppImage 2 . Выполните команду в терминале, чтобы установить необходимые библиотеки для работы Outline: bash sudo apt install libappindicator3-1 libgtk-3-0 libnotify4 libnss3 libxss1 libxtst6 xdg-utils Зачем это нужно?

Эти пакеты обеспечивают работу графического интерфейса, системных уведомлений и интеграцию с рабочим столом.

3 . Настройте права и запустите приложение

  • Сделайте файл исполняемым(нужно находиться в той же папке, что и файл):

bash chmod +x Outline-Client.AppImage

  • Запустите клиент от обычного пользователя (без sudo):

bash ./Outline-Client.AppImage

4 . Потребуется доустановить Outline -Controller от суперпользователя:

  • Вводим пароль суперпользователя
  • Yes
  • Решение проблемы с интерфейсом Если кнопки не отображаются:
  • Перейдите в Параметры системы → Экран.
  • Временно измените ориентацию на Книжную (Portrait).
  • Запустите Outline Client — теперь интерфейс должен отображаться корректно.
  • После настройки подключения верните ориентацию экрана в исходное состояние.

Почему это происходит?

Приложение может некорректно обрабатывать размер окна на некоторых разрешениях экрана. А изменения размера интерфейса приложения нет.

5 . Подключение к серверу - Получите ключ доступа от администратора сервера. Он имеет формат: text ss://<зашифрованные_данные> Вставьте ключ в поле ввода Outline Client: - Если ключ определился автоматически, нажмите «Подключиться». - Если нет — вставьте его вручную и нажмите «Подключиться».

6 . Теперь у вас есть доступ к свободному интернету. Чтобы убедиться, что вы подключились к серверу, введите в Google Поиске фразу "Какой у меня IP-адрес". IP-адрес, указанный в Google, должен совпадать с IP-адресом в клиенте Outline.

Важно:

Используйте только доверенные ключи доступа — они предоставляют полный доступ к вашему трафику.

Как раздать VPN-соединение через мобильный хот-спот в Windows 11 (например, на телевизор)

13.04.25
4097

Если вы хотите подключить телевизор (или другое устройство) к интернету через VPN, настроенному на вашем компьютере с Windows 11, выполните следующие шаги:

1 . Убедитесь, что VPN работает

Сначала проверьте, что VPN-подключение активно и стабильно. Это обязательное условие — именно его трафик вы хотите раздать.

2 . Настройте мобильный хот-спот

  • Откройте Параметры Windows (нажмите Win + I).

  • Перейдите в раздел Сеть и интернет → Мобильный хот-спот.

  • Включите опцию Мобильный хот-спот.

  • В поле «Совместное использование интернет-подключения» выберите Wi-Fi.

  • Установите имя сети (SSID) и пароль для подключения.

  • Активируйте переключатель, чтобы включить раздачу.

3 . Настройте общий доступ к VPN-подключению

Если после подключения телевизора к хот-споту интернет работает, но трафик не проходит через VPN — выполните настройку общего доступа:

  • Откройте Панель управления → Сеть и интернет → Центр управления сетями и общим доступом.

  • В левом меню нажмите Изменение параметров адаптера.

  • Найдите активное VPN-подключение, кликните по нему правой кнопкой мыши и выберите Свойства.

  • Перейдите на вкладку Доступ.

  • Поставьте галочку Разрешить другим пользователям использовать подключение к Интернету данного компьютера.

  • В выпадающем списке выберите адаптер мобильного хот-спота (обычно называется что-то вроде Локальная сеть 1-100, Microsoft Wi-Fi Direct Virtual Adapter или vEthernet).

Нажмите ОК, чтобы сохранить изменения.

4 . Подключите телевизор

Теперь подключите телевизор к созданной Wi-Fi сети. Интернет-соединение должно проходить через VPN, а не в обход.