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

家里只有 IPv6 公网地址,怎么操作才能使其他 IPv4 网络也访问到?

  •  
  •   asilin · 124 天前 · 3519 次点击
    这是一个创建于 124 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,家里面的路由器上有可以访问的 IPv6 地址,我通过手机 4G 网络,是可以正常访问的。

    但是,对于电脑等连接到办公室网络的机器来说,并没有 IPv6 地址,如何才能访问呢?


    我目前的解决方案是:手机开启 4G 网络,搭建一个 HTTP 代理服务,并分享热点,电脑连接该热点,并通过 HTTP 代理访问到家里的 IPv6 地址,比较绕。

    有没有更简单的方式或者网络服务,能够自动进行 IPv4 --> IPv6 的转换,或者提供这种服务的 DDNS 等,都行,不想再使用手机中转了。
    第 1 条附言  ·  123 天前
    使用 @haodingzan 的方法,将域名迁移到 CF 上,然后设置 AAAA 记录,并开启域名代理,则自动进行 IPv4 到 IPv6 大的流量转换。

    具体详情见 @haodingzan 的回答
    42 条回复    2022-08-08 13:48:55 +08:00
    w7938940
        1
    w7938940  
       124 天前   ❤️ 1
    套个 cf ,再加上一个 cf ip 测速工具
    7RTDKSAK
        2
    7RTDKSAK  
       124 天前
    电脑连接到双栈 vps 上的 proxy,路由器反向端口转发暴露到 vps(安全问题你自己考虑)
    我虚拟机就是这样得到 IPV6 的
    asilin
        3
    asilin  
    OP
       124 天前
    @7RTDKSAK 有没有更简单的方案,双栈 vps 还得自己维护一个 VPS 和规则,比较麻烦。
    hefish
        4
    hefish  
       124 天前
    可以给家里的电脑再配一个可用的 IPv4 地址。
    7RTDKSAK
        5
    7RTDKSAK  
       124 天前
    @asilin 那我不知道了,等楼下大佬
    BeautifulSoap
        6
    BeautifulSoap  
       124 天前 via Android
    论搜索的重要性

    https://www.v2ex.com/t/839114
    asilin
        7
    asilin  
    OP
       124 天前
    @BeautifulSoap 这个帖子看过了,基本上都是要做内网穿透

    我不想在家里再起一个机器安装这些客户端了,就想单纯的找一个能将 IPv4 转换到指定 IPv6 地址的一个服务,简单省心,还安全。
    SSang
        8
    SSang  
       124 天前
    v4 要访问 v6 必须通过中转,要么 v6 机器(服务器)穿透成 v4 ,要么 v4 机器(客户端)代理到 v6

    至少需要一台中转服务器,如果中转机有 v4 地址,那就可以做穿透;如果中转机有 v4+v6 地址,那两种都能做

    如果没有中转服务器,可以考虑用公共的服务,比如 cloudflare 或 wireguard
    Tink
        9
    Tink  
       124 天前 via Android
    cf 可以
    Truman42
        10
    Truman42  
       124 天前 via iPhone
    cf 支持纯 ipv6 站点,套一个他们的 cdn 就可以
    totoro625
        11
    totoro625  
       124 天前   ❤️ 1
    能否接受付费?
    腾讯云 ECDN 支持 ipv4 访问,ipv6 回源,需要有备案域名
    按量付费,1 元 /G 流量,使用的时间段内,请求数每小时至少扣 1 分钱

    你的问题本质上是没有公网 ip ( ipv4 )如何访问内网服务,所以要么利用 ipv6 回源,要么组建内网,要么内网穿透
    组建内网用 zerotier 和 tailscale ,
    内网穿透用 cloudflare tunnel 需要翻墙、自备一个域名即可
    或者自备服务器,用 frp 、ngrok 、n2n 、nps 等

    看你日常用量大不大,比较推荐的是在家里部署一个软路由再跑一个 cloudflare tunnel
    qbug
        12
    qbug  
       124 天前
    首先,你是想要公开服务还是只给自己确定的几台设备使用?
    如果是想要公开给所有人服务那么理论上都是要备案的,否则服务器建在国内就是非法的,使用 80 443 等常用端口会被 ISP 封禁,使用 cloudflare 或者 HE 免费 tunnel ,其中 cloudflare 应该有端口转换功能吧。使用这种方式需要绑定域名,同时意味着你的家庭网络被暴露在所有人的访问下,任何人通过域名都可以间接访问到你的网络,如果没有很好地配置防火墙,那么你的路由器或者提供网站的这台服务器有可能被扫描、DDOS 甚至通过配置或软件的漏洞入侵。所以如果没有搭建公开网站的需求,尽量避免使用这种方式。
    自用的话最为推荐的就是 P2P 组网方案,其实本质上跟你的代理没有太大区别,只不过是成套解决方案,可以在不同网络环境下使用,可以进行 NAT 打洞,可以按照路由表分流,只将必要的内网 IP 段映射到代理中,一键搞定非常方便,并且最重要的是安全,所有流量加密,没有账户批准密钥根本无法进入这个虚拟内网。这样的方案就是 zerotier 和 tailscale 两家,具体实现都差不多,并且在你这种两边都有 IPv6 公网 IP 的情况下可以 P2P 直连,使用体验不会有什么区别,都能达到满速。
    heyenyan
        13
    heyenyan  
       124 天前
    手机网络自带 ipv6 ,热点共享网络就能直连家里了。
    没必要搞个中转服务器。
    ltkun
        14
    ltkun  
       124 天前 via Android
    用 cloudflare 的 ddns 可以把纯 v6 域名给 v4 用户访问
    asilin
        15
    asilin  
    OP
       124 天前
    @totoro625 是的,我觉得 ipv6 回源是我想要的,支持动态 CDN(TCP 转发)就行。
    zzwwt
        16
    zzwwt  
       124 天前
    是不是电脑 ipv6 没开 热点直接分配 ipv6 的,不用 HTTP 代理
    asilin
        17
    asilin  
    OP
       124 天前
    @zzwwt 主要是不想用手机流量了,不然开着热点的时候,都不敢玩手机。
    asilin
        18
    asilin  
    OP
       124 天前
    @ltkun 有教程或者关键字吗?

    我搜了下,大部分都是 DNS64 之类的,用于供纯 IPv6 机器访问 IPv4 网络的,没有找到说将 IPv4 流量转换为 IPv6 流量的
    haodingzan
        19
    haodingzan  
       124 天前   ❤️ 1
    好像你有留言给我,这几天忙的肝疼没顾上答复你😂

    不知道你基础到哪一步,所以按纯小白对待先,以下几个步骤你看哪一步是不会的?
    1 、需要国外注册一个域名,如果没什么特别的要求,可以 godaddy 注册一个.site 的域名,好像是最低的了,价格$1.17 。注册时隐私保护打开,邮箱留个专门收垃圾邮件的,注册后务必把自动续费关掉。例如 example.site
    2 、路由器找找有没有 DDNS 或者动态 DNS 功能,普通路由器一般都有,先设置一个并记下来分配给你的域名。如果没有,需要先搞定 DDNS 这一步。或者你有办法随时拿到最新的 ipv6 记录值。
    3 、把第一步的域名,NS 记录修改到 Cloudflare 接管解析,添加一个解析,类型 CNAME ,名称填你需要的,比如 home ,记录值填第二步的 DDNS 域名,代理打开,完成后访问 home.example.site 就可以打开了。
    4 、如果你没有办法搞定 DDNS ,那么第三步的解析,添加类型 AAAA ,名称 home ,记录值填你的路由器 ipv6 地址,代理关掉,TTL 设置 60 ,添加成功后访问 home.example.site 也可以打开。每次 ipv6 地址更新后手动改一次记录值。

    cloudflare 可转发的端口有限,如果你要通过路由器转发到其他服务,需要用以下端口值:
    http->80,8080,8880,2052,2082,2086,2095
    https->443,2053,2083,2087,2096,8443
    haodingzan
        20
    haodingzan  
       124 天前
    @haodingzan 我去,脑抽了,更新一下,第 4 步添加类型 AAAA ,记录值 ipv6 地址,代理要开着,TTL 自动。
    asilin
        21
    asilin  
    OP
       124 天前
    @haodingzan 也就是说,我在 CF 上买一个域名,只设置 IPv6 的 AAAA 解析,它会自动给我一个 A 解析,进行 IPv4 到 IPv6 的流量转换吗?
    haodingzan
        22
    haodingzan  
       124 天前
    @asilin 对,CF 自带 CDN ,你访问的实际上是 CF 的边缘节点。
    VBk
        23
    VBk  
       124 天前
    @haodingzan 我记得这种 cloudflare ,cdn 的转发有特定端口吧,要是那几个端口才行,其他的好像不能转发。
    haodingzan
        24
    haodingzan  
       124 天前 via iPhone
    @VBk 是的,端口我在#19 列出来了,用协议配合端口号。大部分地区运营商家宽 ipv6 没封 80 和 443 ,也算个好处
    qbug
        25
    qbug  
       124 天前
    @asilin 你这完全没有必要注册域名让所有人访问啊,用 zerotier 和 tailscale 稍微配置一下就完事了,访问内网内容就像在内网,访问其他内容完全不干扰。
    ltkun
        26
    ltkun  
       124 天前 via Android
    cloudflared
    xinge666
        27
    xinge666  
       124 天前 via iPhone
    买一台有双栈网络的 vps ,装 nginx

    stream {
    server {
    listen 0.0.0.0:监听端口;
    proxy_pass [IPv6]:端口;
    }
    }
    Actrace
        28
    Actrace  
       124 天前
    楼主可以试试 vxtrans
    nyxsonsleep
        29
    nyxsonsleep  
       124 天前
    @asilin #16
    用手机的话,不是只是做一次握手的操作吗。
    把手机当成 frp 服务器,打洞完应该是直连的,后续有隧道。
    CloudyKumori
        30
    CloudyKumori  
       124 天前 via Android
    这种我一般都是 P2P 打洞或者直接中转了,开热点流量烧不起,体验也不佳
    asilin
        31
    asilin  
    OP
       123 天前 via Android
    @nyxsonsleep 如果能通过手机打洞那最好,但是我估计不一定能打洞成功,毕竟家里和办公网都是多层 nat
    asilin
        32
    asilin  
    OP
       123 天前
    @haodingzan 赞,可以了

    买了一个域名,迁移到 CF 上,设置 AAAA 记录,并开启代理即可自动进行 IPv4 到 IPv6 的转换,厉害
    haodingzan
        33
    haodingzan  
       123 天前
    @asilin 恭喜恭喜,这样就相当于公网访问了,所以路由器的防火墙记得设置好,尤其 22 端口要关掉。在 CF--网站--安全性-- WAF ,加一下 CF 的防火墙规则,仅允许中国访问,如果能固定 IP 段最好了,cloudflare 还有很多可玩的地方,慢慢研究吧😂
    muhahaha
        34
    muhahaha  
       123 天前 via iPhone
    @haodingzan 请问这个支持 tcp 协议吗?
    haodingzan
        35
    haodingzan  
       123 天前   ❤️ 1
    @muhahaha 据我所知只支持 http 、https 、ws 、wss
    zxqkyle
        36
    zxqkyle  
       123 天前
    我用 cloudflare 超级慢,下载速度 30kb
    asilin
        37
    asilin  
    OP
       123 天前
    @zxqkyle 我的速度和你一样,不过我的需求只是家里的控制面板网页,所以感觉还行。
    ety001
        38
    ety001  
       123 天前
    @zxqkyle
    @asilin
    所以还需要优选 cf 的边缘节点。
    1L 已经说了。
    zxqkyle
        39
    zxqkyle  
       123 天前
    @ety001 那是不是还要改 hosts 才能达到最佳速度
    @asilin 经过我多次尝试,最好时的下载速度为 1200kb/s ,看来不同节点速度差距非常大,不适合共享文件给他人使用
    asilin
        40
    asilin  
    OP
       123 天前
    @ety001 CF 边缘节点优选有成熟的程序吗?
    hanguofu
        41
    hanguofu  
       123 天前
    问得好,答得更好。谢谢 haodingzan
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1433 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 23:29 · PVG 07:29 · LAX 15:29 · JFK 18:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.