标题写的不太详细,具体的需求如下:
a服务器没有公网ip,b服务器有公网ip(可以有域名),ab在同一个虚拟局域网(zerotier)请问如何实现访问b服务器去访问a服务器的服务?不考虑所有流量直接转发,因为b服务器带宽太小。希望只有第一次访问的时候流量是通过b到a,后续流量都是客户端直接到a。换句话说,希望b起到一个类似打洞的功能。比如a服务器上的web相册,一开始访问b找到a,后续查看照片等流量都是客户端直接和a通信。客户端只有浏览器,不考虑对客户端做调整(如加入ab的虚拟网络等)
问了ai看起来大概靠谱的方案是使用WebRTC实现P2P连接,但是没做过和网络相关的东西,不知道实际上靠不靠谱,有没有佬能讲讲行不行,或者有没有更好的方案感谢大家
贴条补充下:因为会有朋友也访问这个服务,但是频率又不高。要他们也装app不太好。所以我想找一个客户端完全无感的方案
3 个赞
mulin
(少林寺驻武当山办事处大神父吴啦嘛)
3
帮顶,通蹲一个解决方案!我之前情况和你的一摸一样,我直接就用b服务器代理a服务器的应用服务了,但是因为带宽就5M,体验感非常的差。
tailscale也需要客户端安装app吧,想要个客户端不需要app,用浏览器直达的方案
Pon
(阿黄)
8
我感觉这样就别用A了,好鸡肋,直接穿B得了,我目前用lucky穿可以跑满上行,缺点就是端口随机,但基本只要不重启路由器 端口不会变,而且webhook让cf重定向到导航页,也不用去记端口什么的
1 个赞
qidizi
(Q)
10
免vpn能用吗?vscode远程开发ms提供了通道转发,但是无vpn没法用。
搜了一下感觉类似用了vscode提供的穿透服务?那应该可以跳过b服务器,客户端和a服务器通过ms链接吗?不过还有一个问题就是a服务器是无gui的linuxserver,要怎么启动ms转发呢?没有搜到相关的教程
两端都没有公网,只能通过转发,TCP 打洞好像很难。
转发服务,vscode的转发教程 https://code.visualstudio.com/docs/remote/tunnels
类似服务还有 CF 的 tunnel ,不过CF 的 tunnel 国内机器延迟很高,使用体验不佳。
1 个赞
感觉vscode这个还不错诶,请问佬有用过这个方案吗?cf tunnel的我搜了一下,他们服务器是在美西…我本地还是电信,估计是没法用了。不知道vscode这个怎么样?
没有用过。
我倾向于使用 wireguard 组网,利用有公网 IP 的机器访问。别的或体验不佳,或折腾麻烦
1 个赞
nice
([root@master ~]#)
21
在外p2p到服务,可以把在外的客户端也加入zerotier