I developed this app that I use for micro-segmenting networks. It works very well for me on ubuntu 18.04 as well as raspberry pi's. Sometimes to connect docker vm's to the reverse proxy without having to use swarm.
A Server assigns all the IP's (v4/v6) and Peer configs via MQTT out of band. Once the WireGuard Mesh is up, a vxlan interface and babeld create a meshed layer3 network. It then automatically distributes all bridges such as the one created by docker or other interfaces into the mesh and everything is reachable. It can inject a default route from several nodes for redundancy with different administrative distances.
It is a PoC at this point. I am just curious to hear what you think. I think there is elegance in the simplicity of this. Solutions exist already in npm and python but I find these dependencies unnecessary.
I developed this app that I use for micro-segmenting networks. It works very well for me on ubuntu 18.04 as well as raspberry pi's. Sometimes to connect docker vm's to the reverse proxy without having to use swarm.
A Server assigns all the IP's (v4/v6) and Peer configs via MQTT out of band. Once the WireGuard Mesh is up, a vxlan interface and babeld create a meshed layer3 network. It then automatically distributes all bridges such as the one created by docker or other interfaces into the mesh and everything is reachable. It can inject a default route from several nodes for redundancy with different administrative distances.
It is a PoC at this point. I am just curious to hear what you think. I think there is elegance in the simplicity of this. Solutions exist already in npm and python but I find these dependencies unnecessary.
Improvements could be using sqlite for example.