1
qbqbqbqb 2021-07-05 18:50:45 +08:00
ip6tables 支持任意形式的掩码,规则里写成 “IPv6 地址 /::ffff:ffff:ffff:ffff” 的形式就可以匹配后 64 位了
|
2
acbot OP @qbqbqbqb IPv6-PD 这种模式下 内网的机器公网地址是 IPv6-PD + 随机字符串 IPv6-PD 每次拨号都变 后面随机字符也是要变的,也就是你要放行的内网服务器的公网 IPv6 随机性很大 不像 v4 内网地址可以自己指定
|
3
rio 2021-07-05 21:34:37 +08:00
@acbot 机器数量不多的话,后缀可以静态指定(比如 ::1 );数量多的话可以 DHCPv6 。PD 的前缀也需要通过路由器 RA,所以路由器上直接跑 DDNS 也完全可行。
|
4
qbqbqbqb 2021-07-06 11:28:16 +08:00
@acbot 可以用 SLAAC 模式,不用 DHCPv6 有状态。SLAAC 模式下内网机器会生成一个固定地址和一个临时地址,两个都可以接受连接,上网默认用临时地址(所以 DDNS 脚本需要有获取本机固定地址并上传的功能,不能让服务商自行判断你的地址),固定地址后 64 位不会变(以前是用 MAC 地址计算,即 EUI-64 ;现在操作系统都有隐私保护功能,是用另外的不暴露 MAC 地址的算法计算,如果不重装系统不更换硬件,一般也不会变)。
|
6
acbot OP @qbqbqbqb DDNS 我跟多的是想放到防火墙或者是网关设备上运行,如果是服务器本地运行获取 Ip 问题就简单。但是防火墙端口开启问题还是存在 如果关闭网关防火墙或者是直接所有主机的端口都打开 显然不太安全 如果是只开某个特定 IP 的端口 这个特定的 IP 又在变 因为 PPPoE 获取的公网 PD 是变得 不像 v4 时候只有一个内网固定地址
|
7
qbqbqbqb 2021-07-06 11:57:35 +08:00
@acbot 放到网关设备上运行也可以。SLAAC 获取的两个地址(一个永久和一个临时)里,永久地址后缀是不会变的(除非系统或硬件有改动)。完全可以在网关上拼接前缀+固定后缀得到完整地址(需要 DDNS 软件或脚本支持相应的功能)。防火墙如果是 ip6tables 的话也可以后缀匹配。
|
8
heq 2021-07-06 19:42:15 +08:00 via Android
|
9
ericww 2021-07-06 20:00:07 +08:00 via iPhone
直接放行目标端口即可,如果有幸其他主机此端口也有服务,并且被扫描到,建议买张彩票,肯定中特等奖。在他能扫描完你的 /64 网段甚至 /56 之前,你的 ISP 已经给你换 PD 前缀了
|
10
acbot OP @ericww 你说这个也算是一个方法,不过我感觉 qbqbqbqb heq 提到的 ip6tables 的后缀匹配应该是值得研究的方法
|
11
weyou 2021-07-09 17:02:25 +08:00 via Android
#9 才是正解,只要放行端口就好了,PD 和后缀都不可靠。至于安全性,有两点考虑
1.因为 ipv6 前缀包含的地址范围太大了,别人通过这个端口扫描到你内网其他机器的可能性非常低 2.内网中其他机器的服务也没必要使用同样的端口,防止 ipv6 地址被别人获取后直接进行端口扫描。 |