Снижение издержек VPN (данные, потребляемые самим VPN - строгие лимиты спутниковых данных)

Перед тем как комментировать, что это незначительно - прошу читать внимательно. Я использую спутник с жесткими лимитами данных.

Когда у меня подключена машина к интернету и она тестирует работу в фоновом режиме через роутер на нашем локальном интернете по оптоволокну, я вижу трафик 2 МБ/день.

Когда я использую Wireguard, я вижу 7 МБ/день (используя роутер GiLinet в качестве клиента Wireguard на машине).

Наш спутниковый тариф — 100 МБ/месяц. Мне нужно сократить это использование.

Можно ли изменить или настроить параметры (keep alive?) чтобы снизить этот показатель?

Если вы строго отправляете трафик с клиентской стороны — так, что сервер после паузы не должен иметь возможность связываться с вашим спутниковым клиентом — можете просто отключить keepalive, чтобы устранить единственный источник фонового пропускания данных, вызываемый Wireguard.

Поскольку вы боретесь с мегабайтами, возможно, стоит оптимизировать ваш MTU.

Кратко. MTU — это размер пакета в байтах.

Например, у меня дома подключение по оптоволокну с MTU 1500. Это означает, что каждый отправляемый пакет — 1500 байт. Если ваш пакет данных — лишь 500 байт, то на выходе из роутера он все равно будет 1500 байт. А если пакет чуть больше — 1501 байт, то он разобьется на два пакета по 1500 байт. Большой MTU может увеличить скорость соединения, но повысить использование данных.

(Кстати, мобильный оператор несколько лет назад обновил прошивку своих мобильных хотспотов, установив огромный MTU. Быстрая скорость — до 600 Мбит/с по 4G. Минус — начинали жаловаться, что в режиме ожидания тратится около 1 ГБ за несколько часов — при тарифе 10 ГБ/мес.)

Итак, с этим понятно, попробуйте оптимизировать ваш MTU.

Вы так никогда полностью не исключите, что Wireguard будет использовать больше данных, так как его MTU должно быть меньше, чем у вашего интернет-соединения.

Сначала найдите ваш MTU. Популярные размеры:

1500
1492
1480
1428

Пробуйте эти размеры и делайте небольшие корректировки, пока не найдете максимально возможный. Для определения MTU на Windows используйте команду:

ping www.google.com -f -l 1500

Здесь 1500 — тестируемый размер пакета. Если пинг не проходит — уменьшайте значение и повторяйте. После определения подходящего размера, учтите, что в конфигурации Wireguard MTU должно быть на 16 байт меньше (если у вас IPv4), чтобы учесть дополнительные данные протокола.

Можно попробовать уменьшить на 20 байт для учёта лишних данных.

Единственный совет — уменьшить интервал keep alive. Возможно, это поможет, хотя честно говоря, не уверен, что это существенно.

Я не нашел ничего о keepalive в моих файлах wg0.conf или peer.conf, значит предполагаю, что оно отключено, и снизить использование данных не получится?

Да… у меня Wireguard использует очень много данных — за прошлую неделю — более 100 ГБ, что в десять раз больше всего остального. Чувствуется, что что-то не так, я использую Trend Micro VPN в режиме «умный», и он был включен всё это время, что, кажется, использовал только Wireguard.

Отличный пост. Мне потребуется время, чтобы полностью его понять и попробовать. Спасибо за подробное объяснение.