跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 一个 P2P 跨网段组网的小工具
未分類
5 2 月 2021

一个 P2P 跨网段组网的小工具

一个 P2P 跨网段组网的小工具

資深大佬 : araaaa 3

fubuki 是一个类似于 n2n, tinc 的小工具

Github: https://github.com/xutianyi1999/fubuki

支持平台: Windows, Linux

传输方式

客户端与客户端之间只能 P2P 传输,无法通过服务器中转,服务端只提供客户端信息之间共享和同步

对于对等 NAT 是无法被穿透的

如何工作

客户端在启动时会创建 TUN 网卡,然后将自己的节点信息上传至服务端,所有其他的节点信息将被同步到本地。 当有报文经过 TUN 网卡时,客户端将会读取到这个 IP 报文,通过报文头得到目标 TUN 的 IP 地址,就能从映射表得到报文所在的外网 IP,最后将这个报文放入 UDP 中发往目的 IP

关于这个工程

代码很精简,只实现了基本功能,主要是想通过 tuntap 做一些好玩的小东西

大佬有話說 (32)

  • 資深大佬 : missdeer

    好像有点厉害的样子,用 wintun 的项目越来越多了

  • 主 資深大佬 : araaaa

    @missdeer wintun 的 api 做的很方便,之前用 openvpn tap 的话需要撸 win32 很头大

  • 資深大佬 : 1041412569

    可以走 ipv6 组网不?

  • 資深大佬 : chunxue

    和 zerotier 比有什么优势

  • 主 資深大佬 : araaaa

    @1041412569 可以

  • 主 資深大佬 : araaaa

    @chunxue emm..部署方便

  • 資深大佬 : Zy143L

    1.支持自定义服务器吗?
    2.这和 ZeroTier 好像没区别…都 UDP 打洞
    3.如果后期考虑支持 TCP KCP 最好
    4.这名字 fubuki ?说的是小狐狸(白上吹雪)?

  • 資深大佬 : Zy143L

    @Zy143L 还是说的是吹雪级驱逐舰

  • 資深大佬 : xarthur

    如果是想实现 p2p 功能,可以直接用 libp2p,nat 传统之类的功能直接支持而且被抽象掉了。

  • 主 資深大佬 : araaaa

    @Zy143L 什么是自定义服务器。这本身就是一个重复轮子啊写给自己玩的。支持 tcp 的话意味着要走中转了,中转以后会考虑加入的。kcp 中转我觉得不是很有必要,如果只为了解决无法穿透其实有一种非常简单的办法就是直接伪造报文头就可以了,这个也会考虑加。吹雪驱逐舰哒

  • 主 資深大佬 : araaaa

    @xarthur 这个库看起来不错

  • 資深大佬 : missdeer

    认识一个人也写了个类似的东西,用了 openvpn 的 tap-windows,嫌慢,又说 wintun 的文档太少,于是尝试自己写个虚拟网卡驱动,貌似快写完了,说以后中国人有了自己的虚拟网卡驱动。。。

  • 主 資深大佬 : araaaa

    @missdeer wintun 现在文档很全了,windows 下其实应该就是 ndis 驱动开发

  • 資深大佬 : Dkngit

    国内普遍多级 NAT,跨运营商、跨地域、UDP 包 QOS 严重。

    考虑到现实情况,支持 TCP 通道 服务器中转 更实用。

  • 資深大佬 : qiuai

    我一直在找一个方案,把相隔 2KM 的 2 个家里的电脑做一个局域网,但是不想走中转。
    现在是用的 VPN,但是并不太方便。本来想用蒲公英路由器的公网组网,但是看了看好像是走中转的。
    主这个方案能实现 SMB 共享么?

  • 主 資深大佬 : araaaa

    @Dkngit 所以还是适合都在同一省内,udp 的话用电信目前在大陆区域内 qos 已经比较不错了

  • 主 資深大佬 : araaaa

    @qiuai 只要 nat 是圆锥,宽带不是移动这种,那就没问题

  • 資深大佬 : Zy143L

    @araaaa 移动很多全椎 FullCone 的

  • 資深大佬 : no1xsyzy

    @qiuai ( TR069

  • 資深大佬 : hanguofu

    顺便问问: 用哪个软件测试 nat 类型啊 ?

  • 主 資深大佬 : araaaa

    @hanguofu #20 https://github.com/HMBSbige/NatTypeTester

  • 資深大佬 : qiuai

    @no1xsyzy 想过,没找到太符合情况的文章啊…有详细点的文章么?

  • 資深大佬 : 1041412569

    有考虑加 arm64 版么,路由器挂了一下运行不了。

  • 主 資深大佬 : araaaa

    @1041412569 #23 加了个 aarch64 放在 release 里了

  • 資深大佬 : no1xsyzy

    @qiuai 我不是很清楚你具体的情况与大部分文章的互通。
    但是,所有文章应该都会介绍到 TR069 内网互能 ping 通的程度,一般会到 point-to-point 完成。那么之后就是在 point-to-point 基础上升级到 site-to-site,这部分参考下你采用的传输方案(比如 ov 或者 wg )的 Arch Linux Wiki 或者官方教程或者两相结合。
    大致上来说,主要就是 point-to-point 基础上,网关配置路由表或 DHCP 下发路由表或者各设备静态路由表把对端 site 的路由到本地侧节点,两头都打开转发(节点上是否需要 NAT ?)。

  • 資深大佬 : wym0823

    简单试用了一下,服务端和客户端是用 key 绑定的,只能为一个局域网提供服务。不能像 n2n 那样,服务端可以是公共的,多个局域网共用一个服务端。还有 fubuki.exe 编译的时候应该用了不少 vc 运行库,一旦客户端缺少某个运行库就跑不起来,得折腾老半天

  • 主 資深大佬 : araaaa

    @wym0823 emm 只做了基本功能,只适合自己一个人玩玩或者小范围用。编译的话我是 rust1.50 和 vs2019

  • 資深大佬 : missdeer

    @qiuai https://github.com/gnbdev/gnb 貌似符合你的需求,也是基于 UDP 的,但是穿透成功率就有点看运气,你的路由器需要使能 upnp,没有完全开源,那个代码编译不出最终的可执行文件,但是预编译好的程序覆盖的平台还挺广的

  • 資深大佬 : sypopo

    感觉还是把 ZeroTier 放在路由器上好用

  • 資深大佬 : sypopo

    @qiuai 用 ZeroTier 就可以啊 ,SMB 共享跑满带宽。

  • 資深大佬 : qiuai

    @sypopo 好的,一会看看,一直没试过这个
    @no1xsyzy 谢谢,研究研究,本来想直接找人放一条光缆…
    @missdeer 谢谢,我看看

  • 資深大佬 : mandymak

    @qiuai https://hdick.com/tr069-wireguard.html

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具