从C端的角度调研一些SDN产品.
我们从下面几个方面考查不同的组网工具:
- 开源开放程度, 包括哪一部分开源, 哪一部分有第三方开源实现, 是否可个人部署其中的某个部件等
- 在哪一层组网, 分为二层组网(MAC帧)和三层组网(TCP/IP), 大多数使用
Wireguard
协议的组网工具是三层组网, 不对二层做转发, 因而不支持二层的一些协议: - 底层协议, 分为基于Wireguard的, 基于Http/ws的, 基于TCP的, 基于UDP的
- 工作方式, 如组织方式, 是否是典型的 Controller-Relay/STUN-Peer 型
- 兼容性, 包括兼容的操作系统, 编程语言
- 互联网的依赖程度, 只有可自部署的组网软件才不强依赖互联网, 但是在其中, 有些软件的架构就不适合离开互联网使用.
- 个人体验
Zerotier
https://github.com/Jonnyan404/zerotier-planet 一分钟自建zerotier-plant https://www.mrdoc.fun/doc/443/
Nebula
https://github.com/slackhq/nebula
Netmaker
NarrowLink
https://narrowlink.com/docs/intro
Tailscale
https://github.com/juanfont/headscale 搭建属于自己的Tailscale网络 https://icloudnative.io/posts/how-to-set-up-or-migrate-headscale/ Tailscale出口节点无网络问题的调试与分析 https://nyan.im/p/troubleshoot-tailscale#comment-18008 我的服务器系列:tailscale使用自定义derper服务器(docker部署) https://always200.com/tailscale-derper-docker
Netbird
Candy
Easytier
zero trust
WireGuard
WireGuard 教程:使用 DNS-SD 进行 NAT-to-NAT 穿透 https://icloudnative.io/posts/wireguard-endpoint-discovery-nat-traversal/