Резовинг поддомена к виртуальной машине для ssh подключения
Есть home-лаба с Proxmox, Caddy в качестве резолвера (да я знаю что он преимущественно под веб создан) и доменом с reg ru. В Proxmox пара десятков машин с вебом и своими сервисами на своих портах + вмка "guard" с Caddy. Так вот, если c реверс-проксированием поддоменов для веба проблем не возникает - всё резолвится как положено sub1. -> vm1, sub2. -> v2 ..., то с разрешением ssh всё труднее.
Так как (как я понимаю) при подключении по ssh - клиент сначала стучится на DNS сервер, получает от него ip и по этому ip уже напрямую пытается поключится с портом указанным в клиенте. В записи подключения на сервере нет информации о том, какой поступает запрос, только ip.
Так вот, попробовал в Caddy указать рероут порта 22000(выбрал нестандартный что бы не конфликтовать с 22 на ВМке "guard") на 22'е порты в ВМках согласно имени поддомена - НЕТ РЕЗУЛЬТАТОВ.
Так же, я попробовал создать srv записи для поддоменов (_ssh._tcp.vm1., _ssh._tcp.vm2.) в регистраторе с портами 22001, 22002... , эти порты на роутере замаппил уже на 22 порты каждой ВМки - НЕТ РЕЗУЛЬТАТОВ, приходится вписывать порт всё равно.
Есть ещё идея сделать кастомный DNS резолвер на самом Caddy и отдавать с регистратора через NX запись поддомены на него, что-бы имя разрешать на самом сервере и рероутить подключение уже там.
Так вот сам вопрос - возможно ли такое вообще и как это сделать? БЕЗ явного указания портов в клиенте при подключении.