У меня есть реализация strongswan, и я сталкиваюсь с проблемой, когда два пользователя находятся за одним NAT, второй "запускает" первого. Мне удалось решить проблему, используя:
Проблема с EAP в том, что имена пользователей должны быть уникальными. «Боб» и «Билл» нормально работают через NAT, однако два устройства, вошедшие в систему как «Боб», отталкивают друг друга (второе устройство работает, но первое перестает отправлять эхо-запросы). Каждому пользователю назначается уникальный виртуальный адрес из пула.
Это проблема, потому что я хочу предоставить сотням устройств общее имя пользователя \ пароль. Я уверен, что PSK также можно использовать, но в прошлый раз, когда я пробовал PSK, два устройства с одинаковым PSK загружали друг друга.
Я предпочитаю использовать IKEv2, но при необходимости могу использовать IKEv1 \ L2TP. Я думаю, что это возможно, потому что Strongswan может просто выяснить, как повторно зашифровать возвращаемые пакеты с помощью SPI.