收起左侧

通过定时任务定期禁用/启用网卡的 IPv6 特性解决多个公网 IPv6 地址问题

0
回复
46
查看
[ 复制链接 ]

4

主题

5

回帖

0

牛值

江湖小虾

已知该问题其实是 nas 所在的网络环境提供给了 nas 多个公网 v6 地址,这其实不算是 nas 的 bug,之前有工作人员表示新增了过滤功能,但是看起来并不可用。

相关讨论

多个ipv6地址中只有一个可用

路由器分配多个IPV6地址的解决办法

我个人实践,禁用网卡后再启用网卡,有时候并不能刷新 v6 地址。

个人尝试解决(都需要在命令行下执行)。

  1. 使用 ssh 登录到 nas 设备

  2. 输入 sudo vi /usr/local/bin/refresh_ipv6.sh 编写一个 shell 脚本(注意将其中的网卡设备名改为自己实际在使用的)

    #!/bin/bash
    
    # 定义网卡设备名
    DEVICE="enp7s0-ovs"
    
    # 定义日志文件路径
    LOG_FILE="/var/log/ipv6_refresh.log"
    
    # 记录开始时间
    echo "$(date '+%Y-%m-%d %H:%M:%S') --- Starting IPv6 refresh for $DEVICE ---" >> $LOG_FILE
    
    # 禁用网卡的 v6 支持
    echo "$(date '+%Y-%m-%d %H:%M:%S') Disabling IPv6 on $DEVICE..." >> $LOG_FILE
    /usr/sbin/sysctl -w net.ipv6.conf.$DEVICE.disable_ipv6=1 >>$LOG_FILE 2>&1
    
    echo "$(date '+%Y-%m-%d %H:%M:%S') Waiting for 2 seconds..." >>$LOG_FILE
    sleep 2
    
    # 启用网卡的 v6 支持
    echo "$(date '+%Y-%m-%d %H:%M:%S') Re-enabling IPv6 on $DEVICE..." >> $LOG_FILE
    /usr/sbin/sysctl -w net.ipv6.conf.$DEVICE.disable_ipv6=0 >>$LOG_FILE 2>&1
    
    # 记录结束时间
    echo "$(date '+%Y-%m-%d %H:%M:%S') --- IPv6 refresh for $DEVICE finished ---" >> $LOG_FILE
    echo "" >> $LOG_FILE
    
    exit 0
    
  3. 输入命令 sudo chmod a+x /usr/local/bin/refresh_ipv6.sh 赋予该脚本可执行权限

  4. 输入命令 sudo crontab -e 后添加以下内容,新增一个计划任务,该任务每 2 个小时执行一次

    0 */2 * * * /usr/local/bin/refresh_ipv6.sh
    

为了测试编写的脚本是否可用,可以执行 sudo crontab -e 临时在末尾新增一行,将其中的 00 改成当前时间的分钟数+N,比如如果当前是晚上 10:30 分,则将 00 更改为 31(或者是 32/33/34)。

00 * * * * /usr/local/bin/refresh_ipv6.sh

等时间到10:31 后,sudo tail /var/log/ipv6_refresh.log 检查日志信息,如果输出的内容与以下内容类似,则表示编写的脚本没有问题且执行也没有问题,则可以再次运行 sudo crontab -e 将测试用的计划任务删除。

2025-11-20 22:09:01 --- Starting IPv6 refresh for enp7s0-ovs ---
2025-11-20 22:09:01 Disabling IPv6 on enp7s0-ovs...
net.ipv6.conf.enp7s0-ovs.disable_ipv6 = 1
2025-11-20 22:09:01 Waiting for 2 seconds...
2025-11-20 22:09:03 Re-enabling IPv6 on enp7s0-ovs...
net.ipv6.conf.enp7s0-ovs.disable_ipv6 = 0
2025-11-20 22:09:03 --- IPv6 refresh for enp7s0-ovs finished ---
收藏
送赞
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则