Overlay L2/L3 network router, designed for connecting cloud network infrastructure.
UTT focuses on flexibility, simplicity, security and performance, and could be used to connect existing resources such as bare-metals, VMs, containers, virtual switches, VPC, etc.
- Gossip-based membership and failure detection. Completely decentralized.
- Layer-2 and Layer-3 ovarlay support.
-
Metrics.
-
Multiples virtual networks over one set of peers (like VxLAN).
-
UDP Backend.
-
Kubernetes CNI.
-
Dynamic NAT Traversal.
make
make rpm # RPM
make srpm # Source RPM
GOOS=linux make docker
Edit utt.yml (/etc/utt.yml if OS software package is used)
link:
# Layer 2 network for example.
vnet1:
mode: ethernet
iface:
name: vn1
mac: ea:38:ab:40:00:12
address: 10.240.3.1/24 # peer IP.
backends:
- psk: 123456
encrypt: false
type: tcp
params:
bind: 0.0.0.0:3880
publish: 192.168.0.161:80
priority: 1
utt -c utt.yml edge vnet1
or start with systemd:
systemctl start utt-vnet@vnet1
or start with docker:
docker run -it --cap-add NET_ADMIN --device=/dev/net/tun utt:latest edge vnet1
run inside the container or on host machine.
utt net seed vnet1 tcp:121.78.89.11:3880
UTT maintains membership among peers automatically. You have done settings. So enjoy it.
make test
make proto