wireguard-клиенты с внешними адресами из пересекающихся диапазонов
настроил wireguard-сервер, подключил к нему клиента (смартфон с art/linux и «образцовым» wireguard-клиентом).
в качестве AllowedIPs для клиента указал, естественно, «широкую маску» (0.0.0.0/0), так как подключаться клиент будет и из дома (через интернет-провайдера), и по вайфай из транспорта (mt_free), и через оператора мобильной связи, и во всех трёх случаях внешний ip-адрес будет выделяться динамически (ещё и из разных диапазонов, не всегда заранее известных). настроил, подключился, всё работает.
трудности возникли при попытке подключить аналогичным образом второго идентичного клиента: как оказалось, жёсткая привязка клиентов к их внешним ip-адресам — это ключевая особеннность wireguard (ответ от разработчика на вопрос о похожей проблеме). и потому, как я понял, в AllowedIPs для разных клиентов недопустимо указывать пересекающиеся диапазоны адресов.
как же быть в описанной ситуации? (схожая с ней — это когда более одного клиента находятся в одной и той же сети за nat-ом и внешний ip-адрес у них будет один и тот же).
да, этих двух клиентов я, конечно, подключил, настроив два сетевых интерфейса на сервере и, соответственно, использовав два разных порта для подключения к серверу. но это, конечно, неправильно: ведь уже для десятка клиентов конфигурация будет плохо-обозримой и трудно-управляемой, а когда их будут сотни-тысячи — наступит ад.
как вернуться к конфигурации с одним сетевым интерфейсом и одним прослушиваемым портом, сохранив возможность подключаться с ip-адресов в пересекающихся диапазонах?