V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
A01514035
V2EX  ›  问与答

如何让没有公网 IP 的主机对外提供服务时不受限于跳板机器的带宽?

  •  1
     
  •   A01514035 · 2022-07-26 11:13:25 +08:00 · 2090 次点击
    这是一个创建于 856 天前的主题,其中的信息可能已经有所发展或是发生改变。

    主机 A, 没有公网 IP ,上传带宽 100Mbps ,上面部署有若干服务,通过 nginx 反代。可以通过将域名解析到内网地址在内网进行访问。

    现在如果想在外网访问主机 A 上的这些服务,有一台腾讯云的 8Mbps 的云服务器有公网 ip ,如何让公网上的用户 B 访问主机 A 上的资源而不受到腾讯云服务器的带宽限制?也就是这个云服务器只是一个握手的作用。

    举例:公网用户 B 下载主机 A 上的资源,速度能够达到 100Mbps 而不是腾讯云主机的 8Mbps 。

    PS:不过家宽这么搞好像会被请喝茶,只是单纯好奇问一下,这样的技术手段有哪些。

    23 条回复    2022-07-27 09:44:18 +08:00
    dcty
        1
    dcty  
       2022-07-26 11:23:18 +08:00
    AB 进行“异地组网”,如果刚好 NAT 类型都支持的话,可以打洞成功,就是直连了,不依赖腾讯云的带宽限制。
    xuxuxu123
        2
    xuxuxu123  
       2022-07-26 15:18:26 +08:00
    你想要的是 P2P 传输
    A01514035
        3
    A01514035  
    OP
       2022-07-26 15:19:54 +08:00
    @xuxuxu123 #2 对,就是这个意思,怎么实现呢?
    A01514035
        4
    A01514035  
    OP
       2022-07-26 15:20:38 +08:00
    @dcty #1 但是 B 用户可能是公网上的任意用户,异地组网的实现方案有哪些呢?
    wbrobot
        5
    wbrobot  
       2022-07-26 15:42:26 +08:00
    腾讯云骂骂咧咧下架了公网带宽...
    haodingzan
        6
    haodingzan  
       2022-07-26 15:57:30 +08:00
    A 的入方向封死了,只有出,似乎只能在 B 搭建服务端,A 出去找 B 建立连接。

    1 、家宽有公网 IPv6 啊,用起来,有普及率要求的所以肯定要得到。
    2 、zerotier 组网,腾讯云配 moon 服务器协助 A 打洞,打洞成功就是 p2p ,失败就走转发,这种方案更适合自己在家 /公司用。
    XiLingHost
        7
    XiLingHost  
       2022-07-26 15:59:37 +08:00   ❤️ 1
    tailscale/tinc/n2n/nebula/zerotier......
    sujin190
        8
    sujin190  
       2022-07-26 16:09:38 +08:00
    一般来说,机器没公网 ip 那么就是不通外网,就算机器是通过 nat 网关上网,那么也受外网带宽限制啊,楼上各位说的打洞是打了个寂寞么,如果说你的 nat 外网带宽比较高但是反代的机器带宽比较低,那么 nat 网关直接设置端口转发就是了吧
    A01514035
        9
    A01514035  
    OP
       2022-07-26 16:23:39 +08:00
    @XiLingHost #7 对,我就想要这些,我去搜索看看
    A01514035
        10
    A01514035  
    OP
       2022-07-26 16:25:17 +08:00
    @sujin190 #8 受外网带宽限制,是我所说的 100Mbps 吗?那也比 8Mbps 好多了。
    nat 网关直接设置端口转发,我没法知道 nat 网关是哪个,也没有权限设置端口转发吧。
    lysS
        11
    lysS  
       2022-07-26 16:25:18 +08:00
    既然没有公网 IP 了,多半 NAT 比较严格。穿透有 STUN 协议,只支持 UDP
    A01514035
        12
    A01514035  
    OP
       2022-07-26 16:26:11 +08:00
    @haodingzan #6 B 是公网上的任意用户,大概率也是没有公网 IP 的。不过你下面提出的两种方案感觉可行。
    A01514035
        13
    A01514035  
    OP
       2022-07-26 16:27:12 +08:00
    @lysS #11 A 机器是 NAT3
    sujin190
        14
    sujin190  
       2022-07-26 16:34:48 +08:00
    @A01514035 #10 从 A 机器上传到其他地方的带宽就是用户从你的机器下载的带宽,也就是下行,一般云主机都是限下行带宽不限上行
    cpalead
        15
    cpalead  
       2022-07-26 16:50:12 +08:00
    nat
    PMR
        16
    PMR  
       2022-07-26 17:01:30 +08:00 via Android
    打洞
    lysS
        17
    lysS  
       2022-07-26 17:08:15 +08:00
    @A01514035 那么对面要是完全锥型或者 IP 限制锥形才能确保穿透成功。对面也是端口限制锥形的话需要端口猜测,猜一次成功概率是 1/64k 。如果对面是完全锥形则几乎不可能穿透成功。
    bjzhou1990
        18
    bjzhou1990  
       2022-07-26 19:10:31 +08:00
    我是在公网主机上搭 zerotier network controller ,能通但是延迟很高,不知道为什么,然后用 frp 走 tcp 中转又受公网宽带限制,很头疼
    bjzhou1990
        19
    bjzhou1990  
       2022-07-26 19:24:02 +08:00
    @bjzhou1990 测试了下即使自建 network controller ,也仍然需要建 moon 节点,否则走的可能还是全球 moon 节点
    misaka00001
        20
    misaka00001  
       2022-07-26 19:38:21 +08:00 via Android
    cloudflare tunnel 了解一下
    免公网服务器,只要你的网络能够正常访问 cloudflare 即可
    misaka00001
        21
    misaka00001  
       2022-07-26 19:43:34 +08:00 via Android
    @misaka00001 我用境外 vps 测试可以跑满我本地 200mbps 的下行带带宽
    misaka00001
        22
    misaka00001  
       2022-07-26 19:50:44 +08:00 via Android
    @misaka00001 境内 vps 存在较大的网络波动,取决于与 cf 网络连接的稳定性
    A01514035
        23
    A01514035  
    OP
       2022-07-27 09:44:18 +08:00
    @misaka00001 #20 好的,谢谢。改天我试试这个玩意儿
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1086 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:45 · PVG 03:45 · LAX 11:45 · JFK 14:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.