Как организовать шифрованную сеть без сервера?
Tinc - то, что нужно.
"Любого" не получится. Если у машин белые (т.е. публичные) IP-адреса, можно построить полносвязную сеть IPsec-туннелей между ними, если у части машин белые адреса, то ту часть полностью связать, а остальные ходят до всех с белыми адресами и их соединения типа транспорт, чтобы каждому соединению типа туннель не добавлять все остальные подсети в качестве локальных или удаленных. Если ни у одной машины нет белого адреса, будут проблемы, понадобится минимум проброс ESP или udp/500, udp/4500 внутрь ната хотя бы для одной машины. Поверх собранной топологии имеет смысл поднять какой-нибудь протокол динамической маршрутизации.