Noeiov0.2.0

快速开始

启动一个 derper 中继并将两个节点组成私有网络

本文介绍如何启动 derper 中继并将两个节点组网。开始前请先完成安装。

  1. 准备一台 derper 中继。derper 需要部署在一台所有节点都能访问到的机器上,一般是带公网 IP 的云厂商机器。Docker 和二进制两种部署方式见安装。

    如果暂时没有公网机器,也可以用公开的试用 derper 服务器:在获取试用 Token 页面选一台服务器,生成 token 和 network ID,然后直接从第三步继续。

  2. 生成 derper 认证 token,这一步只在自建 derper 时需要。--network 是一个用于标识虚拟网络的 UUID,可以随意换成别的 UUID;持有同一 UUID token 的节点会加入同一个虚拟网络。

    Docker 方式:

    docker exec noeio-derper /usr/local/bin/noeio-derp token create --network <your-uuid> --ttl 0

    或二进制方式:

    noeio-derp token create --network <your-uuid> --ttl 0
  3. 在每个需要加入虚拟网络的节点上安装 noeio daemon。安装脚本会自动识别系统与架构,下载对应的预编译二进制并放入 PATH。

    curl --proto '=https' --tlsv1.2 -sSf https://noeio.net/install.sh | sh

    非 Linux 宿主机不建议用 Docker 运行 noeio 本体:每个操作系统的虚拟网卡创建方式不同,默认 Docker 镜像提供的是 Linux 的部署。

  4. 在每个节点上启动 noeio daemon。--derper-server 换成你的 derper 地址,--derper-token 换成第二步拿到的 token;--stun 建议换成离你较近的节点,可用的公开地址见 STUN 服务器整理。

    noeio boot \
      --stun stun.chat.bilibili.com:3478 \
      --derper-server 192.168.0.1:8080 \
      --derper-token <第二步拿到的 token>

    这些参数也可以写进配置文件,之后直接 noeio boot 启动即可,具体见配置文件。

  5. 创建虚拟网卡并加入网络。--ip 可以自定义,建议使用 100.64.0.0/10 网段,同一个网络下每个节点的 IP 不能相同。--network 需要与 token 对应的 network ID 保持一致。

    节点 A 上执行:

    noeio create vnic --ip 100.64.0.1 --network <your-uuid>

    节点 B 上执行:

    noeio create vnic --ip 100.64.0.2 --network <your-uuid>
  6. 在节点 A 上通过虚拟网络 ping 节点 B:

    ping 100.64.0.2
    64 bytes from 100.64.0.2: icmp_seq=1 ttl=64 time=34.155 ms
    64 bytes from 100.64.0.2: icmp_seq=2 ttl=64 time=28.900 ms
    64 bytes from 100.64.0.2: icmp_seq=3 ttl=64 time=23.171 ms
    64 bytes from 100.64.0.2: icmp_seq=4 ttl=64 time=31.013 ms
    64 bytes from 100.64.0.2: icmp_seq=5 ttl=64 time=26.343 ms
    64 bytes from 100.64.0.2: icmp_seq=6 ttl=64 time=29.072 ms
    64 bytes from 100.64.0.2: icmp_seq=7 ttl=64 time=22.765 ms

    ping 通即表示两个节点已经连上,组网完成。