众所周知,目前运营商虽然给分配了 ipv6 地址,但总会变,虽然有 ddns-go 能解决问题,但对于一些 docker 应用就很麻烦,我想到一个方案,但还不会设置,请求大家出出主意。 首先,家用主路由上,开启 ipv6 的本地地址分配服务,将所有需要放出去的设备都分配上本地地址,特别是 docker 的应用,配上一个有本地 ipv6 地址的网络,将容器用上这个网络,容器内的应用会获取到本地 ipv6 地址,然后类似以前 ipv4 那样,做一个本地 ipv6-运营商下放的 ipv6 的地址映射,搞定。 无论运营商的 ipv6 如何变,本地的是不会变的。相当于本地的默认 ipv6 静态化,出口 web 的均由路由器来管理做地址映射。 思路有了,如果用的是 routeros 设备,还不知道如何设置。。。。
1
baobao1270 2023-08-31 15:55:03 +08:00
1. 首选方案是通过 Wireguard 或者 IPSec 访问内网,不要字节把内网服务暴露到公网。这样只需要 DDNS 路由器的 IPv6 就行了。
2. 你说的这个是 NAT66 ,也可以,但是我个人认为并不优雅。其实不分配 IPv6 ULA ,只给容器内网 IPv4 ,然后路由器负责 6to4 的端口转发,也是一种解决方案。6to4 端口转发方案的优点在于,Docker 本身对 IPv6 支持并没有 IPv4 那么好,Docker 都用 IPv4 网络更好。 3. 如果你的路由器能做到通过 DHCPv6 固定 GUA IPv6 后缀,也可以自己写 DDNS ,实现「前缀一变,批量修改」。 |
2
flynaj 2023-08-31 20:37:14 +08:00 via Android
socat 做转发,内网可以全部用 v4 ,还安全
|