如何把 IPv6 的流量转发到 IPv4 上? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wayne630
V2EX    宽带症候群

如何把 IPv6 的流量转发到 IPv4 上?

  •  
  •   wayne630 2023-08-22 18:27:46 +08:00 6362 次点击
    这是一个创建于 784 天前的主题,其中的信息可能已经有所发展或是发生改变。

    路由器是 OpenWRT x86 ,上面运行着一个远古服务,它只能如 0.0.0.0:8888 这样监听 IPv4 ,并不能如::8888 这样双栈监听。宽带目前只有公网 v6 ,所以在外网并不能访问这个服务,有没最简单的办法能在公网通过 v6 访问这个服务呢?谢谢大家!

    23 条回复    2023-10-12 21:56:31 +08:00
    brader
        1
    brader  
       2023-08-22 18:30:52 +08:00
    我记得 cloudflare 可以接收 v6 流量转发 v4 流量
    yzc27
        2
    yzc27  
       2023-08-22 18:34:02 +08:00 via iPhone
    刚刚问了下 chatgpt ,它的解决方案里有用到 iptables
    cnbatch
        3
    cnbatch  
       2023-08-22 18:36:02 +08:00
    能否这样:开个端口转发,设置成仅监听 IPv6 的 8888 ,然后转发给 127.0.0.1:8888
    Muniesa
        4
    Muniesa  
       2023-08-22 18:36:24 +08:00 via Android
    nginx 转发一下就可以吧
    fox0001
        5
    fox0001  
       2023-08-22 18:37:11 +08:00 via Android
    如果能使用 Nginx 之类做反向代理,就简单了。
    wayne630
        6
    wayne630  
    OP
       2023-08-22 18:38:36 +08:00
    nginx 试过反代了,不太行,客户端连接很久后提示 400 错误
    sunmacarenas
        7
    sunmacarenas  
       2023-08-22 18:40:15 +08:00 via Android
    openwrt 上用 socat 配置 ipv6 转发
    wayne630
        8
    wayne630  
    OP
       2023-08-22 18:54:21 +08:00
    @sunmacarenas 非常感谢! socat 完美解决了我的问题!
    执行如下命令:
    socat TCP6-LISTEN:8889,reuseaddr,fork TCP4:127.0.0.1:8888 &
    在公网通过 IPv6 访问 8889 端口,即可访问原来仅能通过 IPv4 访问 8888 端口才能访问的服务。
    再次感谢!
    Tink
        9
    Tink  
    PRO
       2023-08-22 18:56:41 +08:00 via Android
    iptables 转一下呗
    hzqim
        10
    hzqim  
       2023-08-22 19:48:09 +08:00 via Android   1
    有一个项目叫 大吉(lucky)
    https://github.com/gdy666/lucky
    linshiyouxiang
        11
    linshiyouxiang  
       2023-08-22 20:15:18 +08:00
    @wayne630 追加一个 openwrt 上 [luci-app-socatg]( https://github.com/big-tooth/luci-app-socatg) 图形界面, 使用完美.

    内网要是有 v2ray 也能通过其转发.
    linshiyouxiang
        12
    linshiyouxiang  
       2023-08-22 20:16:05 +08:00
    表达有误, 内网有 v2ray ,也能通过 v2ray 转发那个 远古服务
    tyhunter
        13
    tyhunter  
       2023-08-22 20:27:56 +08:00
    #10 提到的 Lucky 挺好用的,用端口转发就行,我在 NAS 上跑了 SS ,在 3xxx 端口,然后在路由器的 Lucky 上配置了端口转发(监听 NAS IP:3xxx 转发到路由器的 3xxxx 端口)和 DDNS ,这样手机直接配置 SS 的地址为 DDNS:3xxxxx 就能直接连回家了,和内网操作一样
    lovelylain
        14
    lovelylain  
       2023-08-22 20:40:46 +08:00 via Android
    @wayne630 nginx 是可行的,你没成功是你的问题。折腾 nginx 可以在 ipv6 直连和 frp 反代时下游的 web 服务都能取到客户端 ip 。
    40kecedwixyCdM81
        15
    40kecedwixyCdM81  
       2023-08-22 21:38:27 +08:00
    opkg install socat
    wayne630
        16
    wayne630  
    OP
       2023-08-22 21:49:41 +08:00 via iPhone
    @lovelylain 问题是后端不是标准的 web 服务。总之就是折腾了半天 nginx 都 400
    aru
        17
    aru  
       2023-08-23 07:06:55 +08:00
    @wayne630
    不是标准服务就要用 nginx 的 stream 模块做 tcp/udp 的转发
    https://docs.nginx.com/nginx/admin-guide/load-balancer/tcp-udp-load-balancer/

    另外,haproxy 其实更合适
    cq65617875
        18
    cq65617875  
       2023-08-23 08:10:25 +08:00
    最好用应用转发
    例如 socat 或者 gost 这种
    iptables 要用到 tproxy
    yuchenr
        19
    yuchenr  
       2023-08-23 09:03:37 +08:00
    随便一个支持双栈 tcp 端口转发就可以
    SSSaya
        20
    SSSaya  
       2023-08-24 06:25:58 +08:00
    op 那直接用 socat/Lucky 就行了
    xinJang
        21
    xinJang  
       2023-08-24 15:58:30 +08:00
    @brader 尝试过 很卡很卡 放弃吧
    wayne630
        22
    wayne630  
    OP
       2023-08-28 10:10:44 +08:00
    @xinJang 这个方案肯定不行,数据去美国绕一圈再回来肯定卡
    blueboyggh
        23
    blueboyggh  
       2023-10-12 21:56:31 +08:00
    为啥我把 socat/lucky 跑在内网的一个 n1 上就不行呢?

    n1 现在用 v6 地址可以连上 ssh ,但是想通过 n1 走 socat/lucky 转发到局域网内的其他设备,就访问不到

    有没有大佬给解解惑
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     977 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 22:34 PVG 06:34 LAX 15:34 JFK 18:34
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86