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

263 天前
 wayne630

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

3408 次点击
所在节点    宽带症候群
23 条回复
brader
263 天前
我记得 cloudflare 可以接收 v6 流量转发 v4 流量
yzc27
263 天前
刚刚问了下 chatgpt ,它的解决方案里有用到 iptables
cnbatch
263 天前
能否这样:开个端口转发,设置成仅监听 IPv6 的 8888 ,然后转发给 127.0.0.1:8888
Muniesa
263 天前
nginx 转发一下就可以吧
fox0001
263 天前
如果能使用 Nginx 之类做反向代理,就简单了。
wayne630
263 天前
nginx 试过反代了,不太行,客户端连接很久后提示 400 错误
sunmacarenas
263 天前
openwrt 上用 socat 配置 ipv6 转发
wayne630
263 天前
@sunmacarenas 非常感谢! socat 完美解决了我的问题!
执行如下命令:
socat TCP6-LISTEN:8889,reuseaddr,fork TCP4:127.0.0.1:8888 &
在公网通过 IPv6 访问 8889 端口,即可访问原来仅能通过 IPv4 访问 8888 端口才能访问的服务。
再次感谢!
Tink
263 天前
iptables 转一下呗
hzqim
263 天前
有一个项目叫 大吉(lucky)
https://github.com/gdy666/lucky
linshiyouxiang
263 天前
@wayne630 追加一个 openwrt 上 [luci-app-socatg]( https://github.com/big-tooth/luci-app-socatg) 图形界面, 使用完美.

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

另外,haproxy 其实更合适
cq65617875
263 天前
最好用应用转发
例如 socat 或者 gost 这种
iptables 要用到 tproxy
yuchenr
262 天前
随便一个支持双栈 tcp 端口转发就可以
SSSaya
262 天前
op 那直接用 socat/Lucky 就行了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/967455

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX