у нас сеть из Микротиков и эта задача решается с помощью OSPF довольно элементарно - каждая точка анонсирует свою подсеть в рамках одного и того же пространства (Area) и маршруты пушатся всем участникам.
Настройка на микротиках элементарна:
1. добавляем в OSPF Gre интерфейсы, предварительно повесив с обоих сторон на каждый gre по статическому адресу
2. добавляем в список анонсируемых подсетей свою внутреннюю сеть и подсеть в которой сидят GRE
всё! дерево маршрутов само строится и уходит на удаленные точки
причем если добавляем узлы еще глубже, т.е. если в вашем случае добавим точку (4) подключенную через (2), то другая крайняя точка (3) - сразу же узнает и сможет обмениваться с ней информацией