V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
firejoke
V2EX  ?  程序员

求问是否存在这样一个现成的方案

  •  
  •   firejoke · 296 天前 · 1392 次点击
    这是一个创建于 296 天前的主题,其中的信息可能已经有所发展或是发生改变。

    腾讯云最新优惠活动来了:云产品限时1折,云服务器低至88元/年 ,点击这里立即抢购:9i0i.cn/qcloud,更有2860元代金券免费领取,付款直接抵现金用,点击这里立即领取:9i0i.cn/qcloudquan

    (福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

    环境:

    1. 代理服务器反向代理,客户端只知道代理服务器地址。
    2. 代理服务器有出口带宽限制。
    3. 资源服务器出口带宽比代理服务器出口带宽大。
    4. 资源服务器没有固定 ip 。
    5. 代理服务器通过跨网段的 VLAN (打洞)访问资源服务器。

    需求:

    1. 通过代理服务器拿到资源服务器的当前地址,以便直接访问资源服务器。
    2. 在资源服务器的访问地址变更时,能自动从代理服务器获得新的资源服务器地址。

    场景:

    1. 通过有公网 ip 的云服务器直接访问被代理的家宽资资源主机,避免云服务器的公网带宽限制。
    9 条回复  ?  2023-07-17 15:43:47 +08:00
    hamsterbase
        1
    hamsterbase  
       296 天前
    tailscale

    只要在设备上都安装 tailscale , 就可以用一个固定的内网 IP 相互访问。

    tailscale 会自动打动。 可以 免费 用 tailscale 的服务,也可以自己部署开源替代品。
    sofukwird
        2
    sofukwird  
       296 天前 via Android   ?? 1
    DNS srv record 最接近你要的效果
    http3 没试过
    shalingye
        3
    shalingye  
       296 天前 via Android
    如果你不愿意在客户端上安装相应的软件,那这个需求基本上是满足不了的。
    initObject
        4
    initObject  
       296 天前 via Android
    我的情况好像有些许类似
    给一下我的解决方案吧
    环境:
    家庭宽带下一台组装机装了 pve+一台 macmini +n1 家庭宽带公网 ipv6
    云环境下两台 oracle 免费 linux 主机 有公网 ipv4+公网 ipv6

    解决方案:
    这些机器使用 zerotier 组二层打洞内网 组 k3s 集群
    普通访问域名解析都解析到云主机
    当客户端以 ipv4 访问域名时只能通过云主机 ipv4 来访问(家宽未申请到公网 ipv4 )
    ipv6 访问时会跳转到解析到家宽 ipv6 的域名加指定端口(家宽封禁 80 443 等常用端口)
    ysc3839
        5
    ysc3839  
       296 天前 via Android
    大概没有现成的,但是写一个也不麻烦,很多语言都能实现。
    客户端 WebSocket 连接代理服务器,当资源服务器 IP 改变后提交给代理服务器,代理服务器下发资源服务器 IP 给客户端。
    xuanbg
        6
    xuanbg  
       295 天前
    资源服务器使用动态域名,通过域名直接访问资源服务器
    firejoke
        7
    firejoke  
    OP
       295 天前
    @hamsterbase @ysc3839 主要就是客户端可能无法安装软件。

    @initObject 我这边家宽的 ipv6 不如你的稳定。

    @sofukwird 我研究下 DNS 这个,谢谢,铜币给你。
    ysc3839
        8
    ysc3839  
       295 天前 via Android
    @firejoke 定义一下什么是“无法安装”?浏览器也不给装?如果什么都不给装的话,楼上提到的 DNS 方案就更不可行了,需要一个程序去解析 DNS ,但这个程序没法安装上去。
    sofukwird
        9
    sofukwird  
       295 天前 via Android
    @ysc3839 doh(DNS over https)可以在浏览器中使用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2903 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:24 · PVG 08:24 · LAX 17:24 · JFK 20:24
    Developed with CodeLauncher
    ? Do have faith in what you're doing.


    http://www.vxiaotou.com