Skip to content

Latest commit

 

History

History
118 lines (71 loc) · 2.12 KB

README-CN.md

File metadata and controls

118 lines (71 loc) · 2.12 KB

CrossMesh

Codacy Badge Build Status codecov

CrossMesh 是一个覆盖网络(Overlay network)方案,用于连接云网络基础设施,构建多机房、混合云基础网络。

CrossMesh 目标是为容器、虚拟机、物理机、VPC跨云互联提供简单、灵活、安全且高性能的虚拟网络(Overlay)。

特性

  • 节点管理、故障检查基于 Gossip 协议。完全去中心化。不依赖协调组件。
  • 支持 Layer-2 和 Layer-3 Overlay

计划中的特性

  • Metrics 指标提供可观测性(Observability)
  • 实现虚拟网络 VPC
  • UDP 协议 Backend
  • Kubernetes CNI 支持
  • 动态 NAT 穿透

Get Started

构建 Binary

make

构建 RPM/SRPM 包

make rpm
make srpm

构建 Docker Image

GOOS=linux make docker

定义网络

编辑 utt.yml/etc/utt.yml (如果使用 RPM 包)

link:
  # 定义一个二层网络.
  vnet1:
    mode: ethernet
    iface:
      name: vn1
      mac: ea:38:ab:40:00:12
      address: 10.240.3.1/24 # 节点虚拟地址.
      
    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

或者使用 systemd:

systemctl start utt-vnet@vnet1

使用 Seed 连接另一个 CrossMesh Edge

utt net seed vnet1 tcp:121.78.89.11:3880

配置完成

CrossMesh 自动维护网络节点之间的配对。配置已经完成。

开发指南

运行测试用例

make test

编译 Protobuf

make proto