• Wireguard контроль числа подключенных юзеров. Как сделать ограниченное число подключений на один ключ?

    @Moonshiner21
    Заработать-то он поначалу заработает, но будет жёстко глючить при одновременном подключении. См. https://www.procustodibus.com/blog/2021/01/same-ke... :

    WireGuard предполагает, что каждый отдельный клиент (он же одноранговый узел) будет использовать отдельную криптографическую пару ключей. Открытый ключ в этой паре ключей используется не только для установления зашифрованного соединения с одноранговым узлом — он также используется в качестве уникального идентификатора для однорангового узла.

    Фактически WireGuard использует открытый ключ однорангового узла в качестве ключа поиска во внутренней таблице подключенных одноранговых узлов; при отправке зашифрованного трафика одноранговому узлу WireGuard обращается к этой таблице, чтобы определить общедоступный IP-адрес и порт (он же конечная точка), на который он должен отправлять зашифрованный трафик. Если несколько конечных точек пытаются использовать один и тот же ключ одновременно, запись в этой таблице для других конечных точек, пытающихся использовать тот же ключ, будет перезаписана последней конечной точкой, которая использовала ключ.

    Когда только один пользователь активно использует ключ, все будет в порядке, но когда несколько пользователей одновременно пытаются подключиться к одному и тому же хосту WireGuard с помощью одного и того же ключа, работа всех пользователей ухудшится — их соединение будет “зависать”, пока все пользователи, кроме одного, не откажутся. За кулисами WireGuard большую часть времени будет отправлять большинство пакетов обратно не на ту конечную точку, что приводит к пропущенным ответам и постоянным повторным попыткам приложений, которые пользователи пытаются использовать через WireGuard.
    Ответ написан
    Комментировать