Global-scale overlay network router, designed for connecting cloud network infrastructure.
Last updated Feb 25, 2025
14
Stars
1
Forks
1
Issues
0
Stars/day
Attention Score
1
Language breakdown
No language data available.
▸ Files
click to expand
README
utt
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.
Features
- Gossip-based membership and failure detection. Completely decentralized.
- Layer-2 and Layer-3 ovarlay support.
Planning
- Metrics.
- Multiples virtual networks over one set of peers (like VxLAN).
- UDP Backend.
- Kubernetes CNI.
- Dynamic NAT Traversal.
Get Started
build binary
make
build RPM/SRPM
make rpm # RPM
make srpm # Source RPM
build docker image
GOOS=linux make docker
Define your network
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
Start network
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
Seed to Publish yourself
run inside the container or on host machine.
utt net seed vnet1 tcp:121.78.89.11:3880
Enjoy
UTT maintains membership among peers automatically. You have done settings. So enjoy it.
Development Guide
run test
make test
compile protobuf
make proto
🔗 More in this category