之前用群晖时,用DDNS也会出现ipv6地址变更后无法使用的情况,主要是linux无法像windows那样进行刷新,导致系统存在2个以上ipv6地址所致。解决办法也很简单就是通过定时清除旧的ipv6地址。
现在从群晖迁移到飞牛系统后,发现也存在同样的问题,因群晖和飞牛系统不一样,群晖的代码不能用,但原理是一样的。经过多次测试,问题得以解决。
清除前
清除后
主要用到以下代码,通过添加cron定时任务(或1panel、宝塔面板、青龙面板等带有计划任务的第三方软件)设置每1分钟、每5分钟还是10分钟,自己设置检测频率,去检测ipv6地址的个数,超过2个执行down、up命令。
#!/bin/bash
ipv6_addr_count=`ip addr | grep -E -c "2408|2409|240a|240e"`
if [ $ipv6_addr_count -gt 1 ]; then
echo "IPV6地址数量大于1 , 将进行刷新"
# 关闭、开启网络
sudo ip link set dev enp3s0 down
sudo ip link set dev enp3s0 up
else
echo "IPV6地址数量为1 , 将不进行重置!"
fi
enp3s0为飞牛的网络接口,每个人的可能不一样,可以通过ip addr去查询
最新评论