wangyu- / udp2raw

A Tunnel which Turns UDP Traffic into Encrypted UDP/FakeTCP/ICMP Traffic by using Raw Socket,helps you Bypass UDP FireWalls(or Unstable UDP Environment)
MIT License
7.31k stars 1.17k forks source link

怎样给zerotier套上udp2raw-tunnel? #332

Open piiiiiiiiiiiiiii opened 4 years ago

piiiiiiiiiiiiiii commented 4 years ago

zerotier是一个p2p的水管,可以做到点对点穿透并直联,自建lan非常快,但是很容易被isp流控。

能否给zerotier套上udp2raw-tunnel,谢谢

sing1ee commented 3 years ago

@TKaxv-7S 感谢回复,再请教个问题,既然upd2raw-tunnel是套在zerotier外面的,那么问题在于,upd2raw-tunnel是怎么连接上服务器的?因为在配置时服务器客户端都要指定IP地址,服务器肯定是监听所有IP,那客户端的IP如何配置呢?配置成服务器的外网IP吗?还是说使用--lower-level参数走数据链路层?服务器的外网IP直接连接是不可以的, 因为还有运营商nat的存在,不打洞是无法直接连接上的。 image 就像这张图,其中数据发送流程就是:通过虚拟网卡加路由的方式将需要走隧道的流量转发到openvpn client,然后openvpn client通过配置文件中配置好的端口将流量转发给本地地址的3333端口,upd2raw-tunnel客户端将流量加密后发送给IP为45.66.77.88:8855的服务器,之后解密发送给openvpn server,通过虚拟网卡加路由转发给应用程序。这个流程是没问题的。 但是其中upd2raw-tunnel 客户端需要连接45.66.77.88:8855,这个IP看起来是个外网IP,如果是两个内网打洞的话是没有这个IP的,这时应该怎么配置upd2raw-tunnel客户端呢?

这个是对的。要打洞,必须zerotier在外面,如果外面再套别的,打洞就被破坏掉了。

sing1ee commented 3 years ago

上面这个图,之所以可以。因为vpn server是运行在公网的服务器上的,不需要打洞。那这样,zerotier外面套一个,也没问题。

heartnn commented 3 years ago

我有一个这样的想法: 1.在家里使用openwrt路由器,跑udp2raw,下面接我的nas,办公室也一样 2.随身备一个op路由器,上面了跑udp2raw,出差的时候电脑通过这个路由器上网

zerotier被xx的问题不就解决了? @TKaxv-7S

你这套娃套的有点复杂了吧,我出门带个R2S?还得多带一根网线?

piiiiiiiiiiiiiii commented 3 years ago

我有一个这样的想法: 1.在家里使用openwrt路由器,跑udp2raw,下面接我的nas,办公室也一样 2.随身备一个op路由器,上面了跑udp2raw,出差的时候电脑通过这个路由器上网 zerotier被xx的问题不就解决了? @TKaxv-7S

你这套娃套的有点复杂了吧,我出门带个R2S?还得多带一根网线?

带个op路由器

kachaxiaoying commented 3 years ago

我有一个这样的想法: 1.在家里使用openwrt路由器,跑udp2raw,下面接我的nas,办公室也一样 2.随身备一个op路由器,上面了跑udp2raw,出差的时候电脑通过这个路由器上网 zerotier被xx的问题不就解决了? @TKaxv-7S

你这套娃套的有点复杂了吧,我出门带个R2S?还得多带一根网线?

带个op路由器

这样还不是要公网ip,现在的问题是如果两端都没有公网ip,用zerotier打洞的话,在zerotier会给两端分配内网ip,我举个我自己的例子,我的openwrt内网分配的ip是172.28.103.94,我在外面用的手机分配的ip是172.28.240.58,那么看起来没有公网ip的话upd2raw-tunnel无法套在外面,只能套在里面,现在的问题是套在里面是否会有效果,这算黑科技吗?

piiiiiiiiiiiiiii commented 3 years ago

我有一个这样的想法: 1.在家里使用openwrt路由器,跑udp2raw,下面接我的nas,办公室也一样 2.随身备一个op路由器,上面了跑udp2raw,出差的时候电脑通过这个路由器上网 zerotier被xx的问题不就解决了? @TKaxv-7S

你这套娃套的有点复杂了吧,我出门带个R2S?还得多带一根网线?

带个op路由器

这样还不是要公网ip,现在的问题是如果两端都没有公网ip,用zerotier打洞的话,在zerotier会给两端分配内网ip,我举个我自己的例子,我的openwrt内网分配的ip是172.28.103.94,我在外面用的手机分配的ip是172.28.240.58,那么看起来没有公网ip的话upd2raw-tunnel无法套在外面,只能套在里面,现在的问题是套在里面是否会有效果,这算黑科技吗?

没法直接打洞

commandoccz commented 3 years ago

按照TKaxv-7S的配置,还有 OXERIS 的配置图,udp2raw绝逼是工作在Zerotier之上的,之所以有效果可能是因为有混淆,不算严格意义的Udp over TCP,参见udp2raw+finalspeed 加速tcp流量 Step by Step 教程https://github.com/wangyu-/udp2raw-tunnel/blob/unified/doc/finalspeed_step_by_step.md中对于FinalSpeed Java115接口的绑定,所以如果要让Zerotier工作在udp2raw上必须绑定9993,且zerotier必须指定9993或者其他端口,不能是随机端口,相关内容参见https://github.com/zerotier/ZeroTierOne/blob/master/service/README.md中关于local.conf的设置 微信截图_20210901225045

commandoccz commented 3 years ago

其实zerotier over Udp2raw没有意义,所有udp2raw的例子都是基于c/s构架的vpn,像zerotier这样去中心化的vpn根本就用不上udp2raw

TheZ4ro commented 2 years ago

同意你的说法,udp2raw是c/s模式,zerotier是p2p模式,无法套用。在zerotier上套用udp2raw,唯一的好处是可以维持多tcp通道对,有一定的防断效果,但理论上多tcp通道也是在zerotier上,基于UDP,仍然没有绕开QoS。所以效果有限。 关于QoS,已经有大量总结,一句话就是几乎不太可能完美绕开。除非是某个UDP协议是开口的,比如time sync/DNS放行,那可以基于该协议来研究混淆以骗过QoS。

OXERIS commented 2 years ago

同意你的说法,udp2raw是c/s模式,zerotier是p2p模式,无法套用。在zerotier上套用udp2raw,唯一的好处是可以维持多tcp通道对,有一定的防断效果,但理论上多tcp通道也是在zerotier上,基于UDP,仍然没有绕开QoS。所以效果有限。 关于QoS,已经有大量总结,一句话就是几乎不太可能完美绕开。除非是某个UDP协议是开口的,比如time sync/DNS放行,那可以基于该协议来研究混淆以骗过QoS。

运营商阻断是真的烦

commandoccz commented 2 years ago

同意你的说法,udp2raw是c/s模式,zerotier是p2p模式,无法套用。在zerotier上套用udp2raw,唯一的好处是可以维持多tcp通道对,有一定的防断效果,但理论上多tcp通道也是在zerotier上,基于UDP,仍然没有绕开QoS。所以效果有限。 关于QoS,已经有大量总结,一句话就是几乎不太可能完美绕开。除非是某个UDP协议是开口的,比如time sync/DNS放行,那可以基于该协议来研究混淆以骗过QoS。

所以我准备放弃zerotier或者将其转为备用,用Wireguard作为主要通道。反正也买了一年的腾讯VPS

OXERIS commented 2 years ago

同意你的说法,udp2raw是c/s模式,zerotier是p2p模式,无法套用。在zerotier上套用udp2raw,唯一的好处是可以维持多tcp通道对,有一定的防断效果,但理论上多tcp通道也是在zerotier上,基于UDP,仍然没有绕开QoS。所以效果有限。 关于QoS,已经有大量总结,一句话就是几乎不太可能完美绕开。除非是某个UDP协议是开口的,比如time sync/DNS放行,那可以基于该协议来研究混淆以骗过QoS。

所以我准备放弃zerotier或者将其转为备用,用Wireguard作为主要通道。反正也买了一年的腾讯VPS 但这需要流量。。。,实际上,我现在用着一个叫smart gate的方案,还不错,是tcp打洞,利用手机转发服务端的端口。项目地址:https://github.com/lazy-luo/smarGate

commandoccz commented 2 years ago

哈哈哈,我知道这个项目,很早就关注了,一直没弄明白为何要手机中转,万一一直打洞不成功,手机凉凉了

OXERIS commented 2 years ago

为啥会凉凉?但是我用着还行,顺便推荐分享一下

piiiiiiiiiiiiiii commented 2 years ago

同意你的说法,udp2raw是c/s模式,zerotier是p2p模式,无法套用。在zerotier上套用udp2raw,唯一的好处是可以维持多tcp通道对,有一定的防断效果,但理论上多tcp通道也是在zerotier上,基于UDP,仍然没有绕开QoS。所以效果有限。 关于QoS,已经有大量总结,一句话就是几乎不太可能完美绕开。除非是某个UDP协议是开口的,比如time sync/DNS放行,那可以基于该协议来研究混淆以骗过QoS。

所以我准备放弃zerotier或者将其转为备用,用Wireguard作为主要通道。反正也买了一年的腾讯VPS 但这需要流量。。。,实际上,我现在用着一个叫smart gate的方案,还不错,是tcp打洞,利用手机转发服务端的端口。项目地址:https://github.com/lazy-luo/smarGate

tinc了解一下,已经稳定使用一年多,并且可以配成点对网,挺好的

klpk commented 1 year ago

同意你的说法,udp2raw是c/s模式,zerotier是p2p模式,无法套用。在zerotier上套用udp2raw,唯一的好处是可以维持多tcp通道对,有一定的防断效果,但理论上多tcp通道也是在zerotier上,基于UDP,仍然没有绕开QoS。所以效果有限。 关于QoS,已经有大量总结,一句话就是几乎不太可能完美绕开。除非是某个UDP协议是开口的,比如time sync/DNS放行,那可以基于该协议来研究混淆以骗过QoS。

所以我准备放弃zerotier或者将其转为备用,用Wireguard作为主要通道。反正也买了一年的腾讯VPS 但这需要流量。。。,实际上,我现在用着一个叫smart gate的方案,还不错,是tcp打洞,利用手机转发服务端的端口。项目地址:https://github.com/lazy-luo/smarGate

tinc了解一下,已经稳定使用一年多,并且可以配成点对网,挺好的

速率如何,我现在公司用的openwrt软路由做网关,在上面装了zerotier,家里电脑上装了客户端。访问公司内网是可以的,公司是电信,去年我也是电信的时候,网络非常好,能够跑满公司上传带宽,ping公司内网IP能做到10ms以下。今年家里换了联通宽带,喜的是也能点对点,ping一般也在15ms以下。但有时候就会经常卡住一下,SVN更新的时候,经常传输个几十或一两百M的量后就卡住好久,感觉就是跨运营商UDP被QoS造成的问题。

piiiiiiiiiiiiiii commented 1 year ago

同意你的说法,udp2raw是c/s模式,zerotier是p2p模式,无法套用。在zerotier上套用udp2raw,唯一的好处是可以维持多tcp通道对,有一定的防断效果,但理论上多tcp通道也是在zerotier上,基于UDP,仍然没有绕开QoS。所以效果有限。 关于QoS,已经有大量总结,一句话就是几乎不太可能完美绕开。除非是某个UDP协议是开口的,比如time sync/DNS放行,那可以基于该协议来研究混淆以骗过QoS。

所以我准备放弃zerotier或者将其转为备用,用Wireguard作为主要通道。反正也买了一年的腾讯VPS 但这需要流量。。。,实际上,我现在用着一个叫smart gate的方案,还不错,是tcp打洞,利用手机转发服务端的端口。项目地址:https://github.com/lazy-luo/smarGate

tinc了解一下,已经稳定使用一年多,并且可以配成点对网,挺好的

速率如何,我现在公司用的openwrt软路由做网关,在上面装了zerotier,家里电脑上装了客户端。访问公司内网是可以的,公司是电信,去年我也是电信的时候,网络非常好,能够跑满公司上传带宽,ping公司内网IP能做到10ms以下。今年家里换了联通宽带,喜的是也能点对点,ping一般也在15ms以下。但有时候就会经常卡住一下,SVN更新的时候,经常传输个几十或一两百M的量后就卡住好久,感觉就是跨运营商UDP被QoS造成的问题。

能跑满