IPv6 地址和临时 IPv6 地址后缀都会变更, IPv6 地址是随着前缀变更而变更, 防火墙规则没法写.

2023-02-12 15:54:49 +08:00
 Tweak7136
不太理解 IPv6, 两个地址后缀都会改变是正常的吗?
还有一个 DHCPv6 下发的固定后缀的地址不会变, 但是设备在 AP 后面的话, 前缀变更后设备收不到通知还是怎么着,前缀不会更新.
有人知道是什么问题吗?
路由器是 Openwrt
6122 次点击
所在节点    宽带症候群
41 条回复
lifanxi
2023-02-13 07:53:20 +08:00
我问过一模一样的问题,答案就是防火墙规则只写后缀匹配就可以了。
azure2023us
2023-02-13 09:14:49 +08:00
我的
# block v6 input
ip6tables -I INPUT -p udp --dport 1900 -j REJECT
ip6tables -I INPUT -p udp --dport 5353 -j REJECT
ip6tables -I INPUT -p udp --dport 546 -j REJECT
ip6tables -I INPUT -p udp --dport 123 -j REJECT
ip6tables -I INPUT -p udp --dport 53 -j REJECT
ip6tables -I INPUT -p tcp --dport 53 -j REJECT
ip6tables -I INPUT -s fc00::/6 -j ACCEPT

类似这样写

ip6tables -I INPUT -s 前缀::/掩码 -j ACCEPT
azure2023us
2023-02-13 09:16:53 +08:00
上面这样写 是因为了解决 IPv6 裸奔
azure2023us
2023-02-13 09:18:32 +08:00
@evalfun 不需要别人扫,你去访问,就有记录
tril
2023-02-13 10:07:38 +08:00
@wwbfred 视频的 15:30 左右有提到,德国电信 24 小时更改一次前缀,还介绍了这种情况下如何设置防火墙,听起来和国内一样。会不会是视频里提到的“op 把 v4 和 v6 地址自动分成了两个 dns 记录”导致的?
acbot
2023-02-13 10:25:28 +08:00
因为开放服务本身就是针对固定地址的情况所以前后缀都是动态的环境下默认配置开发端口就有困难。

1. 在前缀也是动态的情况下,v6 可以使用负掩码做后缀匹配具体的机器,比如掩码 /::ffff 代表匹配 v6 最后一段地址是什么,以此类推。
2. 隐私或临时地址后缀都是随机的这个地址只能禁用不能修改后缀的生成方式,而本机地址 Linux/Windows 都可以指定后缀的生成方式,比如 使用 EUI-64 方式生成后缀就相对固定,其中 Linux 还可以直接指定具体的字符串做后缀。
wwbfred
2023-02-13 10:33:56 +08:00
@tril 他提到的是如何把 IPV6 地址也和 IPV4 一样设置成 static 的,即使前缀发生改变。说白了就是找到那个不变量以方便编写防火墙规则。但这个方案在 OP 下就会产生前缀改变时长时间断网的问题,只是视频里没有提。由于没有固定前缀,ULA 也不能关,防止出现设备完全没有一个固定 IP 地址的情况。
在 OP 解决这个问题之前,还是建议使用 SLAAC ,防火墙规则再找别的办法解决。还有一个问题,就是 Android 设备只支持 SLAAC ,用 OP+Android 还用 DHCPv6 现阶段简直就是给自己挖坑,还是一挖挖俩。
wwbfred
2023-02-13 10:45:44 +08:00
@lslqtz SLAAC 没释放 IP 是因为 Valid Lifetime 没过期,属于正常现象。使用 SLAAC 一张网卡上有新旧一大堆 IPV6 地址也是正常现象,不用管。
SLAAC 有两个 lifetime ,Preferred lifetime 和 Valid lifetime 。如果前缀发生改变,Openwrt 会立刻通知所有设备,把之前 IP 的 Preferred lifetime 置零,这样下属系统就不会使用这个地址建立任何新的连接。等到 Valid lifetime 过期,所有使用该地址的连接都将不能再通信,地址到那时才会被释放。
cnbatch
2023-02-14 03:40:21 +08:00
可惜目前在动态公网环境下完美支持 NPTv6 的防火墙几乎不存在,要不然 OP 就可以用 NPTv6 解决这种问题了
aukus
2023-02-15 09:25:51 +08:00
运营商给了静态前缀 /60 ,应该怎么部署?有人知道不
seputetto
2023-02-16 01:28:06 +08:00
不依赖前缀,其实楼里已经有人说了
i.imgur.com/PQoBhht.png
写 ::后缀 /::ffff:ffff:ffff:ffff
seputetto
2023-02-16 01:29:08 +08:00
不依赖前缀,其实楼里已经有人说了

写 ::后缀 /::ffff:ffff:ffff:ffff
seputetto
2023-02-16 01:41:40 +08:00

2022 年的截图,NAS IPv6 后缀 ::211:32ff:feef:90cf (SLAAC)

openwrt 路由 IPv6(1)

openwrt 路由 IPv6(2)

NAS IPv6
a90405
2023-02-16 18:26:08 +08:00
@questionyu nftables 不能这样写,会报错,iptables 可以。
a90405
2023-02-16 18:26:59 +08:00
@seputetto nftables 不行
a90405
2023-02-16 18:40:37 +08:00
可以了,要 luci 界面那样配置,命令行的改了挺多
panhaipeng
2023-03-07 14:35:26 +08:00
按这个德国 UP 主的介绍,没有问题。并不是因为使用 DHCPv6 导致的前缀更新之后,终端没有及时更新。经过我的测试即使在使用 DHCPv6 重新拨号之后,终端是可以即时更新的,是依赖于 RA 消息。直接把 过期的前缀的 preferred_lft 时间置为 0 。楼主提到如果 “但是设备在 AP 后面的话, 前缀变更后设备收不到通知还是怎么着,前缀不会更新.” 应该是因为 RA 消息没有经过 AP 进行中继,转发到终端设备。比如如果 AP 是 OpenWRT 系统,在 AP 上对 RA-service 可以设置成 relay-mode 之类的,是不是就可以解决收不到前缀更新的通知?即使使用 SLAAC 生成的方式,如果没有收到前缀更新的 SA 通知,如果前缀变化,旧的 IPv6 应该也是无法使用了的
panhaipeng
2023-03-11 07:28:40 +08:00
@panhaipeng DHCPv6 的确是无法及时更新变化有前缀,我上面的回复有问题。我其实用的还是 SLAAC 。
yzc27
311 天前
@questionyu 我也是 linksys 路由,只看到 ipv6 防火墙总开关,也没具体的设置。。。
yzc27
307 天前
@questionyu 我也在用 linksys ,但通过尝试,发现似乎::1234:5678:1234:5678/::ffff:ffff:ffff:ffff 这种写法不能用在 IPv6 Port Services 里面,请问有优雅的解决方法吗?

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

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

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

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

© 2021 V2EX