佬们,想在外访问无公网服务有什么方案?

标题写的不太详细,具体的需求如下:

a服务器没有公网ip,b服务器有公网ip(可以有域名),ab在同一个虚拟局域网(zerotier)请问如何实现访问b服务器去访问a服务器的服务?不考虑所有流量直接转发,因为b服务器带宽太小。希望只有第一次访问的时候流量是通过b到a,后续流量都是客户端直接到a。换句话说,希望b起到一个类似打洞的功能。比如a服务器上的web相册,一开始访问b找到a,后续查看照片等流量都是客户端直接和a通信。客户端只有浏览器,不考虑对客户端做调整(如加入ab的虚拟网络等)

问了ai看起来大概靠谱的方案是使用WebRTC实现P2P连接,但是没做过和网络相关的东西,不知道实际上靠不靠谱,有没有佬能讲讲行不行,或者有没有更好的方案:face_holding_back_tears:感谢大家:face_holding_back_tears:

贴条补充下:因为会有朋友也访问这个服务,但是频率又不高。要他们也装app不太好。所以我想找一个客户端完全无感的方案

3 个赞

有佬有方案吗:face_holding_back_tears:

帮顶,通蹲一个解决方案!我之前情况和你的一摸一样,我直接就用b服务器代理a服务器的应用服务了,但是因为带宽就5M,体验感非常的差。

tailscale

tailscale也需要客户端安装app吧,想要个客户端不需要app,用浏览器直达的方案:face_holding_back_tears:

在同一个局域网?那远程连接

我感觉这样就别用A了,好鸡肋,直接穿B得了,我目前用lucky穿可以跑满上行,缺点就是端口随机,但基本只要不重启路由器 端口不会变,而且webhook让cf重定向到导航页,也不用去记端口什么的

1 个赞

放弃服务器b,直接cf tunnel,让cf转发

1 个赞

免vpn能用吗?vscode远程开发ms提供了通道转发,但是无vpn没法用。

试试呗

cf zerotrust?

2 个赞

p2p打洞是要看网络类型的
你得先做测试

1 个赞

zerotrust

1 个赞

@map1e
@n3shelter
@Meatbuns
感谢推荐,我研究一下,谢谢:partying_face:

搜了一下感觉类似用了vscode提供的穿透服务?那应该可以跳过b服务器,客户端和a服务器通过ms链接吗?不过还有一个问题就是a服务器是无gui的linuxserver,要怎么启动ms转发呢?没有搜到相关的教程:face_holding_back_tears:

两端都没有公网,只能通过转发,TCP 打洞好像很难。

转发服务,vscode的转发教程 https://code.visualstudio.com/docs/remote/tunnels

类似服务还有 CF 的 tunnel ,不过CF 的 tunnel 国内机器延迟很高,使用体验不佳。

1 个赞

感觉vscode这个还不错诶,请问佬有用过这个方案吗?cf tunnel的我搜了一下,他们服务器是在美西…我本地还是电信,估计是没法用了。不知道vscode这个怎么样?

没有用过。
我倾向于使用 wireguard 组网,利用有公网 IP 的机器访问。别的或体验不佳,或折腾麻烦 :tieba_028:

1 个赞

用frp进行p2p链接,配置简单

在外p2p到服务,可以把在外的客户端也加入zerotier