正常来说,ipv6地址永久性,按理说分配的ipv6是不会过期的,但实际上路由器重新拨号将导致ipv6地址失效,会分配新的ipv6地址
但仅仅是路由器获取新地址,linux电脑若无法及时使用新地址进行网络连接,而是继续使用分配的旧地址将导致断网之类的问题。
本解决方法无法彻底避免这种问题,仅仅是通过缩短ipv6的有效时间,让断网的状态缩短,默认情况下,一个错误的ipv6可能要几天时间才会被系统剔除。通过缩短时间,可以在数小时内完成更新,避免长时间断网的情况。配置:
/etc/sysctl.conf
# ipv6 在路由器重启 会出现卡死现象
# 遇到冲突或前缀变动时,不要等待,直接让新地址可用
net.ipv6.conf.all.accept_dad = 0
net.ipv6.conf.default.accept_dad = 0
# 限制系统中存在的全球地址数量,强迫内核覆盖旧地址
net.ipv6.conf.all.max_addresses = 3
net.ipv6.conf.default.max_addresses = 3
# slaac 自动分配的ip快速过期,避免路由器重启旧ip继续使用
net.ipv6.conf.all.temp_valid_lft = 43200
net.ipv6.conf.all.temp_prefered_lft = 14400