路由器是 OpenWRT x86 ,上面运行着一个远古服务,它只能如 0.0.0.0:8888 这样监听 IPv4 ,并不能如::8888 这样双栈监听。宽带目前只有公网 v6 ,所以在外网并不能访问这个服务,有没最简单的办法能在公网通过 v6 访问这个服务呢?谢谢大家!
1
brader 2023-08-22 18:30:52 +08:00
我记得 cloudflare 可以接收 v6 流量转发 v4 流量
|
2
yzc27 2023-08-22 18:34:02 +08:00 via iPhone
刚刚问了下 chatgpt ,它的解决方案里有用到 iptables
|
3
cnbatch 2023-08-22 18:36:02 +08:00
能否这样:开个端口转发,设置成仅监听 IPv6 的 8888 ,然后转发给 127.0.0.1:8888
|
4
Muniesa 2023-08-22 18:36:24 +08:00 via Android
nginx 转发一下就可以吧
|
5
fox0001 2023-08-22 18:37:11 +08:00 via Android
如果能使用 Nginx 之类做反向代理,就简单了。
|
6
wayne630 OP nginx 试过反代了,不太行,客户端连接很久后提示 400 错误
|
7
sunmacarenas 2023-08-22 18:40:15 +08:00 via Android
openwrt 上用 socat 配置 ipv6 转发
|
8
wayne630 OP @sunmacarenas 非常感谢! socat 完美解决了我的问题!
执行如下命令: socat TCP6-LISTEN:8889,reuseaddr,fork TCP4:127.0.0.1:8888 & 在公网通过 IPv6 访问 8889 端口,即可访问原来仅能通过 IPv4 访问 8888 端口才能访问的服务。 再次感谢! |
9
Tink 2023-08-22 18:56:41 +08:00 via Android
iptables 转一下呗
|
10
hzqim 2023-08-22 19:48:09 +08:00 via Android
有一个项目叫 大吉(lucky)
https://github.com/gdy666/lucky |
11
linshiyouxiang 2023-08-22 20:15:18 +08:00
@wayne630 追加一个 openwrt 上 [luci-app-socatg]( https://github.com/big-tooth/luci-app-socatg) 图形界面, 使用完美.
内网要是有 v2ray 也能通过其转发. |
12
linshiyouxiang 2023-08-22 20:16:05 +08:00
表达有误, 内网有 v2ray ,也能通过 v2ray 转发那个 远古服务
|
13
tyhunter 2023-08-22 20:27:56 +08:00
#10 提到的 Lucky 挺好用的,用端口转发就行,我在 NAS 上跑了 SS ,在 3xxx 端口,然后在路由器的 Lucky 上配置了端口转发(监听 NAS IP:3xxx 转发到路由器的 3xxxx 端口)和 DDNS ,这样手机直接配置 SS 的地址为 DDNS:3xxxxx 就能直接连回家了,和内网操作一样
|
14
lovelylain 2023-08-22 20:40:46 +08:00 via Android
@wayne630 nginx 是可行的,你没成功是你的问题。折腾 nginx 可以在 ipv6 直连和 frp 反代时下游的 web 服务都能取到客户端 ip 。
|
15
40kecedwixyCdM81 2023-08-22 21:38:27 +08:00
opkg install socat
|
16
wayne630 OP @lovelylain 问题是后端不是标准的 web 服务。总之就是折腾了半天 nginx 都 400
|
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 其实更合适 |
18
cq65617875 2023-08-23 08:10:25 +08:00
最好用应用转发
例如 socat 或者 gost 这种 iptables 要用到 tproxy |
19
yuchenr 2023-08-23 09:03:37 +08:00
随便一个支持双栈 tcp 端口转发就可以
|
20
SSSaya 2023-08-24 06:25:58 +08:00
op 那直接用 socat/Lucky 就行了
|
23
blueboyggh 2023-10-12 21:56:31 +08:00
为啥我把 socat/lucky 跑在内网的一个 n1 上就不行呢?
n1 现在用 v6 地址可以连上 ssh ,但是想通过 n1 走 socat/lucky 转发到局域网内的其他设备,就访问不到 有没有大佬给解解惑 |