Запускаю wireguard на сервере и подключаюсь с клиента в обычной стандартной конфигурации и в итоге скорость интернета через туннель печальная, но если создать на сервере правило маршрутизации wg в tun от sing-box (freedom outbound), то скорость интернета через туннель на клиенте возрастает почти до максимальной.
Я так понимаю при таком конфиге сам сервер начинает устанавливать tcp соединения, а не просто гнать трафик по маршруту, и скорость возрастает из-за tcp congestion control (bbr). Так вот есть ли какие-то более дешевые способы сделать похожее через wireguard? Нагрузка на цп сильно возрастает из-за singbox, может есть какой-то похожий софт?
Попробуйте в конфигах wg добавить MTU = 1492. и вообще потестить на уменьшение mtu.
1492 это выход за рамки, если на интернет интерфейсе (или роутере) стоит mtu 1500, то максимальный mtu внутри ipv4 wg не может быть выше 1440 (который у меня и стоит, уменьшение только снижает скорость как и положено)
у меня “чистый” wg вообще не требует манипуляций с mtu. а вот его обертки в разные штуки постоянно ругаются на оверсайсз. при этом скорость падает раза в 2-3. уменьшение mtu в этих случаях повышает скорость, как и положено ) ваш случай просто мне показался очень похожем на проблемы с mtu )
по дефолту в wg mtu 1420 который и не требует манипуляций на большинстве сетей
ничего другого похожего не нашел и решил оставить sing-box, но часто появляется плавающий баг: новые соединения перестают устанавливаться (curl зависает на trying…), в логах системы и sing-box при этом ничего необычного. попробую поставить сокс сервер и tun2socks вместо одного sing-box
upd: hev-socks5-tunnel и hev-socks5-server вместе не дают нужного эффекта, как будто системный tcp или его настройки не используются. hev-socks5-tunnel и sing-box с socks в итоге пинг на wg клиентах становится 2x, системный tcp используется но скорость все равно ужасна. Походу придётся смириться или поверх wg пускать уже какой-то другой протокол (hysteria? от wg отказываться не хочу, уж очень удобен)
tpws zapret’а, по идее, может работать в таком режиме. Он использует splice для проксирования сокетов, должно создавать минимум нагрузки на CPU.