Я хочу узнать, сколько накладных расходов Wireguard создает на моей машине с точки зрения задержки. Однако мой сервер удален, поэтому я хотел бы протестировать его исключительно на машине, чтобы не измерять задержку всей сети.
Итак, для измерения задержки я подумал о следующей настройке.
Я добавляю к машине два устройства wireguard, wg0 и wg1. Затем я отправляю пакет на wg0, который шифрует пакет и отправляет его на wg1. Затем Wg1 расшифровывает его и отправляет на локальный порт, чтобы измерить время, которое проходит между отправкой и получением пакета.
Моя конфа WG0:
[Интерфейс]
Адрес = 10.0.0.1/24
ListenPort = 51871
[Вглядеться]
Разрешенные IP-адреса = 10.0.0.1/24, 10.0.1.1/24
Конечная точка = локальный хост: 51872
Моя конфа WG1:
[Интерфейс]
Адрес = 10.0.1.1/24
Порт прослушивания = 51872
[Вглядеться]
Разрешенные IP-адреса = 10.0.0.1/24, 10.0.1.1/24
Конечная точка = локальный хост: 51871
Я попытался использовать следующую конфигурацию, но затем не могу настроить wg1, так как установка завершается сбоем в
ip -4 маршрут добавить 10.0.0.0/24 dev wg1
из-за
RTNETLINK отвечает: файл существует
Это имеет смысл, потому что это диапазон IP-адресов устройства wg0.
Моя конфа WG0:
[Интерфейс]
Адрес = 10.0.0.1/24
ListenPort = 51871
PostUp = добавить маршрут -net 10.0.1.0/24 gw 10.0.0.1
PostDown = удаление маршрута -net 10.0.1.0/24 gw 10.0.0.1
[Вглядеться]
Разрешенные IP-адреса = 10.0.0.1/24, 10.0.1.1/24
Конечная точка = локальный хост: 51872
Моя конфа WG1:
[Интерфейс]
Адрес = 10.0.1.1/24
Порт прослушивания = 51872
PostUp = маршрут добавить -net 10.0.0.1/24 gw 10.0.1.1
PostDown = удаление маршрута -net 10.0.0.1/24 gw 10.0.1.1
[Вглядеться]
Разрешенные IP-адреса = 10.0.0.1/24, 10.0.1.1/24
Конечная точка = локальный хост: 51871
Однако я не могу настроить маршрутизацию так, чтобы мой пакет действительно проходил через устройства wg. Устройства также не выполняют рукопожатие. Это вообще возможно? Или вы можете порекомендовать другую установку?.
Моя ОС - сервер Ubuntu 20.04. В качестве примечания я хочу сравнить это с другим измерением, которое я провел, когда одно из устройств wireguard работает на виртуальной машине. В этой настройке я просто запустил wg0 на хосте и wg1 на виртуальной машине. По сути, теперь я хочу выяснить накладные расходы на запуск шлюза wireguard на виртуальной машине по сравнению с его запуском на машине.
Решение:
Как и предполагалось, теперь я запускаю второе устройство wg в другом пространстве имен. Настройка была простой, потому что даже если устройство wg перемещается в другое пространство имен, порт прослушивания остается в исходном пространстве имен. RTT составляет около 2/3 по сравнению с запуском wg1 на виртуальной машине Linux для всех, кто заинтересован.
Спасибо за предложения!