IPv6 有没有类似于 IPv4 的端口映射的能力?

4 天前
 lifanxi

以前我家里内网有一台应用服务器对外提供服务,我的 OpenWrt 路由器上的配置就是 IPv4 做了一个端口映射到这台服务器上,IPv6 直接把 DDNS 指向这台服务器,并在路由器上开放相应的端口。完美。

最近对这台应用服务器做了拆分,拆成了多台 VM 在不同的 IP/端口上提供不同的服务。这时 IPv4 很容易解决,把相应的端口映射改到各台 VM 上就行。但 IPv6 不知道该怎么处理了,没有办法在路由上配置出类似 IPv4 的转发策略?

2475 次点击
所在节点    宽带症候群
23 条回复
bigfei
4 天前
ipv6tables 也是可以 redirect 的
rulagiti
4 天前
基本上 ipv6 能做的 ip6tables 都能做
rulagiti
4 天前
@rulagiti ipv4 能做的
blueboyggh
4 天前
你的多台 vm 没有自己的 v6 地址吗?
lifanxi
4 天前
@bigfei 仔细看了一下 OpenWrt 的配置界面,确实可以配 IPv6 的端口映射,我来试试看。
lifanxi
4 天前
@blueboyggh 有的,每台都不一样。但是如果用 DDNS 的方案,那就要绑定到几个不同的域名上,我还是希望通过一个域名用不同的端口访问到不同的服务。
zbinlin
4 天前
openwrt 不是支持 {hostname}.lan 来访问内网主机吗,你直接在 openwrt 做一个服务转发,然后根据不同的子域名转发到对应的主机服务上不就行了?
feng0vx
4 天前
feng0vx
4 天前
另外设置防火墙 ipv6 入站 rules
feng0vx
4 天前
不好意思没看全,此上三层请忽略~
lentrody
4 天前
IPv6 时代的正确习惯就是给每台设备分配子域名。
在一台设备上跑 DDNS 脚本就同时更新所有同网关下设备的 IPv6 地址,只要设备的 IPv6 地址是固定后缀就行。
可以这样本地拼接再提交 https://github.com/ddnspod/dnspod-ipv6-ddns/blob/master/dnspod-ipv6-ddns.sh
也可以提交后让服务商自己拼接 https://dynv6.com/docs/apis
blueboyggh
4 天前
@lifanxi 那你主路由装个 lucky 就好了,端口转发工具,支持 v6 转发,主路由如果装不了软件,就找其中一个 vm 装,然后 ddns 绑定到这个 vm
A1188
4 天前
试试 Socat ?
SenLief
4 天前
这个内网装个反代就可以了 nginx caddy 什么的都行,或者直接用 socat 链接两个端口。
lifanxi
4 天前
@blueboyggh @A1188 @SenLief
谢谢建议,反代或者转发是最后一条路,如果能直连我还是倾向于直连。因为毕竟多跳了一下,多增加了一个不稳定因素。
目前试下来,@bigfei 说的直接配端口射映貌似是可以,我在 OpenWrt 上配置 DNAT 到另一台机器的 IPv6 地址是可以的。不过,如果用公网 IPv6 地址前缀会变,它貌似不支持动态前缀的写法,我还在继续试验改成用 ULA IPv6 地址试试。
bobryjosin
4 天前
你的需求不就是 ipv6 nat ? nat 后就和 ipv4 一样可以端口映射了,内网每台机器和路由上都配一个静态的内网 ipv6 地址,有公网地址的路由上做一个 DNAT 不就行了,这样就不需要管前缀了。
dislike
4 天前
用 socat 吧,主路由 ipv6 做 DDNS,然后把各个端口分别用 socat 映射到内网各 VM 的 ipv4 地址就可以了,这样内网的 V4 地址固定,更容易管理.
liyue961
4 天前
@lifanxi 使用反向代理不就好了。只要内网 v4 固定,设置端口就可以了
flynaj
4 天前
openwrt 里面的 socat 可以满足你,可以 v4 ,v6 互相转换,也可以转发。
fanersai
3 天前
安装 socat

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

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

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

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

© 2021 V2EX