Вдогонку к предыдущему посту. Я разобрался в чём косяк.
В IKEv2 появилась новая фича: так называемый "childless IKE_SA" (RFC6023). Это когда IKE-сессия стартует вообще без криптодоменов. А "дочерние" SA-сессии (тоннели) подтягиваются уже как-нибудь потом.
IKEv1 так не умеет. Там всегда IKE-сессия стартует хотя бы с одним криптодоменом (первым в списке). Juniper так тоже не умеет. Циски со старыми прошивками так не умеют. И шосукахарактерно, StrongSWAN в stroke-режиме ("старый" синтаксис конфига) тоже не поддерживает childless IKE_SA.
А вот когда переходишь на свеженький StrongSWAN + VICI, то он там чётко отделяет мух от котлет ike от child sa. И когда у тебя настроено IKEv2, после чего делаешь "swanctl -i --ike блаблабла", то он как раз и пытается в тот самый пресловутый childless IKE_SA. И если удаленная сторона не понимает что это такое, то она дает совершенно неочевидный отлуп из серии "Invalid syntax", "Cannot parse packet" и всё в этом духе. То есть не отшивает явно "у тебя неправильный PSK, иди нах", а просто делает вид шта "нипаняла" и молча перестает отвечать на запросы противоположной стороны.
Выход простой: стартовать на стороне StrongSWAN-а не IKE, а сразу "ребёнка": "swanctl -i --child блаблабла".
Блин. Сколько же я времени убил на познание этой особенности. А ещё мне дико стыдно за почём зря замученную техподдержку одного ни в чём не виноватого хостинг-провайдера.