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

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

  •  
  •   firejoke · 2023-07-17 00:10:24 +08:00 · 1625 次点击
    这是一个创建于 503 天前的主题,其中的信息可能已经有所发展或是发生改变。

    环境:

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

    需求:

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

    场景:

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

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

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

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

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

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