Categorygithub.com/crossmesh/fabric
modulepackage
0.2.0
Repository: https://github.com/crossmesh/fabric.git
Documentation: pkg.go.dev

# README

utt

Codacy Badge Build Status codecov

简体中文

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

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author