📝夏夜随风Linux运维
type: channel
link: https://xysf.top/
description: 夏夜随风Linux运维
items: 常用子网掩码划分
items: eNSP
items: 网络基础
items: 英语基础
items: 打印机驱动
items: IPV6地址ping不通后自动重新获取地址的监控脚本
items: Linux基础知识（持续更新中）
items: 软连接
items: 飞牛域名端口转发
items: 飞牛系统下 IPv6 默认路由自动修复方案

常用子网掩码划分
type: item
date: 2026-01-11T08:38:36+00:00
description: CIDR子网掩码子网网络号可用主机范围广播地址/24255.255.255.01192.168.1.01.1 — 1.2541.255CIDR子网掩码子网网络号可用主机范围广播地址/25255.255.255.1281192.168.1.01.1 — 1.1261.127 2192.168.1.1281.129 — 1.2541.255CIDR子网掩码子网网络号可用主机范围广播地址/26255.255.255.1921192.168.1.01.1 — 1.621.63 2192.168.1.641.65 — 1.1261.127 3192.168.1.1281.129 — 1.1901.191 4192.168.1.1921.193 — 1.2541.255CIDR子网掩码子网网络号可用主机范围广播地址/27255.255.255.2241192.168.1.01.1 — 1.301.31 2192.168.1.321.33 — 1.621.63 3192.168.1.641.65 — 1.941.95 4192.168.1.961.97 — 1.1261.127 5192.168.1.1281.129 — 1.1581.159 6192.168.1.1601.161 — 1.1901.191 7192.168.1.1921.193 — 1.2221.223 8192.168.1.2241.225 — 1.2541.255CIDR子网掩码子网网络号可用主机范围广播地址/28255.255.255.2401192.168.1.01.1 — 1.141.15 2192.168.1.161.17 — 1.301.31 3192.168.1.321.33 — 1.461.47 4192.168.1.481.49 — 1.621.63 5192.168.1.641.65 — 1.781.79 6192.168.1.801.81 — 1.941.95 7192.168.1.961.97 — 1.1101.111 8192.168.1.1121.113 — 1.1261.127 9192.168.1.1281.129 — 1.1421.143 10192.168.1.1441.145 — 1.1581.159 11192.168.1.1601.161 — 1.1741.175 12192.168.1.1761.177 — 1.1901.191 13192.168.1.1921.193 — 1.2061.207 14192.168.1.2081.209 — 1.2221.223 15192.168.1.2241.225 — 1.2381.239 16192.168.1.2401.241 — 1.2541.255CIDR子网掩码子网网络号可用主机范围广播地址/29255.255.255.2481192.168.1.01.1 — 1.61.7 2192.168.1.81.9 — 1.141.15 3192.168.1.161.17 — 1.221.23 4192.168.1.241.25 — 1.301.31 5192.168.1.321.33 — 1.381.39 6192.168.1.401.41 — 1.461.47 7192.168.1.481.49 — 1.541.55 8192.168.1.561.57 — 1.621.63 9192.168.1.641.65 — 1.701.71 10192.168.1.721.73 — 1.781.79 11192.168.1.801.81 — 1.861.87 12192.168.1.881.89 — 1.941.95 13192.168.1.961.97 — 1.1021.103 14192.168.1.1041.105 — 1.1101.111 15192.168.1.1121.113 — 1.1181.119 16192.168.1.1201.121 — 1.1261.127 17192.168.1.1281.129 — 1.1341.135 18192.168.1.1361.137 — 1.1421.143 19192.168.1.1441.145 — 1.1501.151 20192.168.1.1521.153 — 1.1581.159 21192.168.1.1601.161 — 1.1661.167 22192.168.1.1681.169 — 1.1741.175 23192.168.1.1761.177 — 1.1821.183 24192.168.1.1841.185 — 1.1901.191 25192.168.1.1921.193 — 1.1981.199 26192.…

eNSP
type: item
date: 2026-01-04T01:41:00+00:00
description: 这几天学校里面课设要用到，安装完之后启动路由器一直报错，到处搜集解决方案，一个能用的没有。于是问了一下老师，提供了一个方案，使用之后直接解决了问题，所以发出来给有同样需要的朋友参考，就别看那些复制粘贴的文章了，浪费时间。还是得说一句这软件环境配置真费事，有时候我重装软件之后，同样的报错同样的方法尝试但是无法解决问题，如果以下几种都没法解决那我建议换台电脑试试🤪下面是文档内容，很详细，一般你都用到这个软件了不可能一点计算机基础没有：在华为eNSP安装后，随便拖拽个AP或者AC出来运行，如图所示：若启动后出现错误“40”、“41”，则表示设备不能正常运行，如图所示：40报错具体解决方法参考如下：第一步，先检查VirtualBox安装目录。· 检查VirtualBox安装目录是否存在中文字符· 如存在，修改VirtualBox安装目录为英文字符第二步，关闭“基于虚拟化的安全性”，一共有四种方法，可以顺序依次尝试。方法一：命令行关闭1）按Win键输入“cmd”后，右键点击“命令提示符”选择“以管理员身份运行”。​​2）输入“bcdedit”，如图所示：​​弹出信息的最后，找到“hypervisorlaunchtype“设置如果为”off“，则代表正常不用管如果为“on”或者“auto”，则需要修改成为“off”3）输入“bcdedit /set hypervisorlaunchtype off ”，回车后重启系统。（hypervisorlaunchtype可复制，点击鼠标右键黏贴）最后，重新打开eNSP，启动AC、AP验证是否可正常运行！若还是运行设备报错“40”，则进入“计算机”，输入msinfo32，查看系统信息​​找到“基于虚拟化的安全性”，若状态为“开启”或“使用中”，则表示并未真正关闭，尝试方法二，方法三，只有该项关闭才能彻底解决“40”错误问题。​​方法二：组策略关闭（家庭版系统无效）1）Win+R运行——输入gpedit.msc并回车 打开组策略。2）找到“计算机配置——管理模板——系统——Device Guard”右侧的“打开基于虚拟化的安全”策略，将其修改为“已禁用”。3）查看选项状态。方法三：注册表关闭注意：该方法会导致重启电脑后PIN失效，即开机密码自动重置，重新设置时需要提供Microsoft账号（一般是QQ邮箱）与密码，建议先确定你的邮箱与密码后在尝试该方法。1） Win+R运行——输入regedit——回车 打开注册表。2）找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard”目录右侧的"EnableVirtualizationBasedSecurity"，（如果存在，我win11没找到可能是已经关闭的缘故），选中文件，右键点击“修改”，将其DWORD值修改为0。2） 重启电脑，重新打开eNSP，启动AC、AP验证是否可正常运行！方法四：PowerShell脚本关闭（需要win10系统版本1607以上）下载脚本文件并解压缩。链接：https://www.microsoft.com/en-us/download/details.aspx?id=53337​以管理员模式打开命令行——输入set-ExecutionPolicy RemoteSigned并回车——输入Y并回车。​​复制刚刚解压缩的脚本路径。​​在管理员模式的命令行中输入cd C:\Users\Administrator\Desktop\dgreadiness_v3.6（命令行右键粘贴）并回车——输入dir并回车查看当前目录内容是否为脚本目录。​​输入.\DG_Readiness_Tool_v3.6.ps1 -Disable（注意前面有个点）并回车——等待运行完成后重启电脑——按F3两次，关闭Credential Guard和Device Guard。重启完成后查看选项状态为未启用。 **41报错具体解决方法参考如下：打开Oracle VM VirtualBox，检查右侧是否有设备如果有设备全选=>单击删除=>删除所有文件。完成上述步骤后打开我们的ensp软件且一定要保持界面没有任何一个设备后单击菜单=>工具=>注册设备。3）关闭ensp重新启动 拖动一个AC或者AP出来启动检查是否正常。若还是报40错误，则看上方的“40”错误解决步骤。开启设备后一直显示#####解决方案最直接方法为关闭防火墙的“公用网络”，具体步骤如下：1）按下WIN键盘，输入“防火墙”，搜索选择“windows defender 防火墙”。2）关闭公用网络，点击“确定”。若不想关闭“共用网络”防火墙，则可以将eNSP加入防火墙信任名单：将eNSP加入允许列表，允许专用网络、公用网络访问。若上述2个方…

网络基础
type: item
date: 2026-01-01T10:11:00+00:00
description: 基本查看VRP系统版本信息dis version查看当前有效配置display current-configuration dis this 查看当前视图配置命名设备sysname HW1保存当前配置save启用/禁用端口在指定接口下 shutdown 关闭端口 undo shutdown 打开端口配置console口交换机密码-----交换机登录默认无密码，为了安全添加认证秘密[SW1]user-interface console 0 进入用户配置console口 [SW1-ui-console0]authentication-mode password 启用密码认证 [SW1-ui-console0]set authentication password cipher 123456 配置密码为123456 [SW1-ui-console0]取消终端提示信息undo terminal monitor更改终端闲时会话时间user-interface console 0 idel-timeout 1440 将闲时超时设为1440分钟重启设备在用户视图下执行reboot 提示是否保存 提示是否重启恢复出厂设置在用户视图下执行reset saved-configuration 提示是否恢复，选择Y交换/交换机交换机能够根据以太网中的目标MAC地址智能的转发数据，因此交换机工作在数据链路层交换机可以分割冲突与，实现全双工通信交换机转发数据，主要依靠的核心工作表：MAC地址表MAC表：交换机发送广播给每个接口，每个接口返回MAC地址，交换机进行记录配置交换机远程登录-----------远程管理需要通过ip地址访问网络设备交换机的接口，默认无法配置ip地址需要使用虚拟接口vlan1[SW1]interface Vlanif 1 [SW1-Vlanif1]ip address 192.168.1.251 24配置交换机远程登录密码------远程管理需要配置VTY接口VTY是虚拟终端，是一种网络设备远程连接的方式vty 0 4表示可以同时打开5个会话[SW1]user-interface vty 0 4 表示可以同时打开5个会话 [SW1-ui-vty0-4]authentication-mode password 启用密码验证 [SW1-ui-vty0-4]set authentication password cipher 123456 设置登录密码 [SW1-ui-vty0-4]user privilege level 3 设置权限级别，默认0配置好后，用另外一台配置了同网段ip的路由器进行telnet 192.168.1.251 测试VLAN👉 商用交换机不是“透明二层转发器”👉而是 “基于 VLAN 实例的交换架构”**Trunk 端口只决定： “这个 VLAN 能不能走这条口”****VLAN 实例决定： “这个 VLAN 在不在这台交换机的世界里”**广播域接收同一广播消息的节点的集合，比如一个节点发送MAC地址的广播报文，其余能收到这条广播报文的节点的集合，就是一个广播域，通常一个ip网段就是一个广播域一个广播域中的网络节点越多，广播报文也必然会越多当广播报文越多，当前广播域的带宽占用就越多，网络不可用风险增大当广播报文越多，当前广播域中的设备资源占用高，转发数据速度慢所以当一个广播域中的节点过多，网络的稳定性和安全性会越低-vlan虚拟局域网，将一个物理的局域网LAN，在逻辑上划分多个虚拟局域网VLAN的通信技术交换机分割了冲突域，但是不能分割广播域随着交换机端口数量的增多，网络中广播增多，降低了网络的效率为了分割广播域，引入了VLANvlan的划分种类基于端口划分的静态VLAN和基于MAC地址划分的动态VLANPVIDport default vlan id，也成缺省VLAN表示接口所属的vlan每个接口都有一个PVID交换机中所有接口的PVID默认都是VLAN1，但是可以手动修改创建VLAN创建单个vlanvlan 10创建多个vlanvlan batch 10 15 20 创建多个不连续的vlan vlan batch 10 to 20 创建多个连续的vlan删除vlanundo vlan 10 undo vlan batch 10 15 20 undo vlan batch 10 to 20Access端口通常用于连接终端设备（主机、服务器），同时只能属于一个VLAN，发送的数据，没有vlan标签，交换机接收数据时用端口PVID的数据作为标签将端口加入VLAN创建vlan设置接口模式为Access将接口接入vlanvlan 2 创建vlan int g0/0/1 port link-type access 设置接…

英语基础
type: item
date: 2025-11-28T12:47:00+00:00
description: 📘 英语语法笔记（完整保留版）一、代词系统1. 主格、宾格、所有格中文意思主格 (作主语)宾格 (作宾语)所有格 (表示“的”)我Imemy你/你们youyouyour他hehimhis她sheherher它ititits我们weusour他们/她们/它们theythemtheir指示代词：这个（单数）：this这些（复数）：these那个（单数）：that那些（复数）：those那里：there一个简单的比喻： 想象“我送给她一本书”主格 (我)：动作的发起者宾格 (她)：动作的承受者所有格 (我的)：东西的归属者详细解释1. 主格 - 动作的“发起者” (主语)在句子中做主语，是动作的执行者通常位于句首，动词之前例句：I love you. She is a teacher.2. 宾格 - 动作的“承受者” (宾语)在句子中做宾语，是动作的承受对象通常位于动词之后，或介词之后例句：I love you.（动词后）This book is for us.（介词后）3. 所有格 - 事物的“主人” (表示“的”)表示所属关系，意思是“谁的”永远放在名词前面，修饰那个名词例句：This is my book. Her mother is kind.终极判断方法：主格：谁在做动作？ → She loves him.宾格：动作作用于谁？ → She loves him.所有格：谁的东西？ → She loves his dog.注意： it 可替代物体、时间、天气等二、动词系统英语动词用法核心规则一、Be动词规则主语类型动词形式I (我)amYou (你/你们)areHe/She/It (他/她/它) / 单数名词isWe/They (我们/他们) / 复数名词are总结：看主语选 am, is, are二、实义动词规则（一般现在时）主语类型动词形式示例非三单 (I, You, We, They, 复数名词)动词原形They work here.三单 (He, She, It, 单数名词)动词 + s/esHe works here.“三单”加s的规则：大多数动词：直接加 -s (like → likes)以s, x, sh, ch, o结尾：加 -es (teach → teaches, go → goes)以辅音字母+y结尾：变y为i，再加 -es (study → studies)三、时态系统1. 一般现在时用法： 经常的状态、习惯的动作、客观真理结构：状态：主语 + is/am/are + 表语动作：主语 + 动词（注意三单变化）这里冬天经常是雪天 It's often snowy in winter here.这里冬天经常下雪 It often snow in winter here.2. 现在进行时用法： 表示现在正在进行的动作结构： 主语 + is/am/are + 动词-ing动词-ing构成规则（拼写注意事项）：规则动词原形动词-ing形式说明一般情况look, play, dolooking, playing, doing直接加 -ing以不发音的-e结尾make, write, dancemaking, writing, dancing去 -e，再加 -ing以重读闭音节结尾，且末尾只有一个辅音字母run, sit, swim, putrunning, sitting, swimming, putting双写末尾辅音字母，再加 -ing以 -ie 结尾lie, die, tielying, dying, tying变 -ie 为 -y，再加 -ing以 -c 结尾picnic, panicpicnicking, panicking先在-c后加-k，再加 -ing特别注意： 双写规则关键是“重读闭音节”（辅音+元音+辅音且重读）3. 一般将来时（be going to结构）用法： 表示计划、打算要做的事结构： 主语 + is/am/are + going to + 动词原形注意事项：主 + is/am/are + going to + 动词原型主 + is/am/are + going to + 地点名词主 + is/am/are + going to be + 非动词（形容词、名词等）我打算两点到那：I am going to be there at two.他打算成为一名医生：He is going to be a doctor.口语中 going to 常简化为 gonna /ˈɡənə/疑问句和否定句：疑问：be提前 → Is she going to swim?否定：be + not → She is not going to swim.四、疑问句系统1. 一般疑问句功能： 用于询问“是”或“否”的问题…

打印机驱动
type: item
date: 2025-09-30T01:39:00+00:00
description: 联想打印机驱动 https://www.lenovoimage.com/index.php/services/index惠普打印机驱动 https://support.hp.com/cn-zh/drivers/printers

IPV6地址ping不通后自动重新获取地址的监控脚本
type: item
date: 2025-09-19T02:39:00+00:00
description: 在国内部署 IPv6 时，经常遇到 IPv6 地址自动获取失败或连接不稳定的情况。为了解决这个问题，我整合了一份 国内优化版 IPv6 监控脚本，支持日志轮转，并可以通过 systemd 实现开机自动执行和异常重启。下面我详细介绍脚本及配置方法。1️⃣ IPv6 监控脚本脚本核心功能：定时检测 IPv6 连通性自动刷新 IPv6 地址（支持 SLAAC，兼容 NetworkManager 或系统网络服务）日志记录并支持轮转，防止日志无限增长可长时间后台运行完整脚本如下：#!/bin/bash # IPv6检测脚本 - 国内优化版 LOG_FILE="/var/log/ipv6_monitor.log" MAX_LOG_SIZE=1048576 # 1MB TEST_HOSTS=( "2400:3200::1" "2400:3200:baba::1" "ipv6.sjtu.edu.cn" "ipv6.ustc.edu.cn" "ipv6.baidu.com" ) MAX_FAILS=3 FAIL_COUNT=0 CHECK_INTERVAL=300 RETRY_INTERVAL=30 log_message() { # 日志轮转 if [ -f "$LOG_FILE" ] && [ $(stat -c%s "$LOG_FILE") -gt $MAX_LOG_SIZE ]; then mv "$LOG_FILE" "${LOG_FILE}.1" echo "$(date '+%Y-%m-%d %H:%M:%S') - 日志文件轮转" > "$LOG_FILE" fi echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> "$LOG_FILE" logger -t ipv6-monitor "$1" } check_ipv6() { local success_count=0 local total_tests=${#TEST_HOSTS[@]} local required_success=$((total_tests / 2 + 1)) if ! ip -6 route show default | grep -q default; then log_message "警告: 没有IPv6默认路由" return 1 fi for host in "${TEST_HOSTS[@]}"; do if ping6 -c 2 -W 3 "$host" > /dev/null 2>&1; then ((success_count++)) log_message "检测通过: $host" else log_message "检测失败: $host" fi sleep 1 done if host ipv6.sjtu.edu.cn > /dev/null 2>&1; then ((success_count++)) fi if [ $success_count -ge $required_success ]; then log_message "IPv6连接正常 (通过 $success_count/$total_tests 个测试点)" return 0 else log_message "IPv6连接异常 (仅通过 $success_count/$total_tests 个测试点)" return 1 fi } renew_ipv6() { log_message "开始重新获取IPv6地址..." local interface=$(ip -6 route show default | awk '{print $5}' | head -n1) [ -z "$interface" ] && interface=$(ip link show | grep -E '^[0-9]+:' | grep -v lo: | awk -F': ' '{print $2}' | head -n1) log_message "使用网络接口: $interface" ip -6 addr flush dev "$interface" sleep 2 local method_used="" if command -v nmcli > /dev/null 2>&1; then log_message "使用方法1: NetworkManager" nmcli device disconnect "$interface" 2>/dev/null sleep 2 nmcli device connect "$interface" 2>/dev/null method_used="networkmanager" sleep 10…

Linux基础知识（持续更新中）
type: item
date: 2025-09-18T13:49:00+00:00
description: Linux基本命令pwd显示当前所在的位置cd切换目录 相对路径：以根开始的路径 cd games 绝对路径：以当前位置，为参照的路径 cd /usr/games cd ~root cd ~wanglong 直接进入家目录 .. 表示上一层目录（父目录） ls 显示目录显示当前目录下的内容 -l 长格式显示详细属性 -h 提供易读的容量单位（K、M等） -lh -d 显示目录本身（而不是内容）的属性 -ld -A 显示所有内容，包含隐藏数据 -R 递归显示目录内容cat 查看少量文本查看文本文件内容，适合查看内容较少的文件 cat --help //查看命令帮助信息 cat -n /etc/shells //显示行号 cat /root/anaconda-ks.cfg cat /etc/passwd cat /etc/fstabless 滚动查看文本查看文本文件内容，适合查看内容较多文件 按上下键可以进行滚动 按q键退出hostname 主机名hostname abc.haha.xixi hostname //显示设置的hostnamecpu与内存lscpu 查看cpu信息 cat /proc/meminfo 查看内容信息ifconfig 查看ip查看ip信息 lo:本机回环地址（此接口专门用于测试），永远为127.0.0.1，代表本机mkdir 创建目录创建目录 mkdir /路径/目录名 -p 连同父目录一并创建 touch 创建文件创建文本文件 touch /opt/1.txt 创建文件 ls /opt 查看目录head/tail 查看收尾格式：head/tail -n 文件名 查看前n行/倒数n行 head -3 /etc/passwd tail -3 /etc/passwdgrep 指定字符的行输出包含指定字符串的行 grep root /etc/passwd grep bash /etc/passwd 常用命令 grep 选项 '字符串' 文本文件 -v 取反匹配（不包含） -i 忽略大小写 grep -v root /etc/passwd 高级使用 ^word 以字符word开头 word$ 以字符word结尾 grep ^root /etc/passwd 查看以root开头的文件 grep bash$ /etc/passwd 查看以bash结尾的文件 ^$ 表示空行，这两个是一个整体，表示空行 grep ^$ /etc/default/useradd #筛选出空行 grep -v ^$ /etc/default/useradd 不要（筛选出的）空行 linux中大多数配置文件内容，有以#开头的注释行 grep -v ^# /etc/login.defs | grep -v ^$ > /opt/log.txt #将/etc/login.defs去除以#开头的注释行和去除空行，然后输出到/opt/log.txtvim 编辑器文本编辑器 vim当文件不存在时，会自动创建文件，不能创建目录 vim打开一个文件时，默认处于命令模式；从命令模式按i键可以进入编辑状态，按Esc键返回命令模式；从命令模式输入冒号:可以进入末行模式，在末行模式下主要执行wq存盘与退出等基本操作。 vim末行模式 读取文件内容 [root@localhost /]# echo 123456 > /opt/aa.txt [root@localhost /]# echo hahaxixi > /opt/cc.txt [root@localhost /]# vim /opt/cc.txt 末行模式下 :r /opt/aa.txt #将aa.txt文件追加到文本后面 末行模式下 :r /etc/passwd #将passwd文件追加到文本后面 末行模式下 :r /etc/shells #将shells文件追加到文本后面 字符串替换 :1,10s/root/new/g 替换第1-10行所有的“root” :%s/root/new/g 替换文件内所有的“root” 开关参数的控制 :set nu或nonu 显示/不显示行号 :set ai或noai 启用/关闭自动缩进 永久开关功能设置 vim /root/.vimrc set nu #将这个命令写入到.vimrc中命令模式常用操作： 1G 或 gg ，跳转到文件的首行 G ，跳转到文件的末尾行 yy、#yy ，复制光标处的一行、#行 p、P ，粘贴到光标处之后、之前 x 或 Delete键 ，删除光标处的单个字符 dd、#dd ，删除光标处的一行、#行 d^、d$ ，从光标处之前删除至行首/行尾 /word 向后查找字符串“word”，再按n/N跳至后/前一个结果 u ，撤销最近的一次操作 U ，撤销对当前…

软连接
type: item
date: 2025-09-16T13:12:00+00:00
description: ln -s /etc/nginx/sites-available/chat.soarfree.top /etc/nginx/sites-enabled/

飞牛域名端口转发
type: item
date: 2025-09-16T10:41:00+00:00
description: server { listen 80; # 如果配置了SSL，也会监听443端口 # listen 443 ssl; # ssl_certificate /path/to/your/cert.pem; # ssl_certificate_key /path/to/your/key.pem; server_name nas.soarfree.top; # 您的域名 # 核心配置：代理所有请求到飞牛NAS location / { # 后端NAS服务器的IP和端口 proxy_pass http://192.168.1.4:81; # 以下这些头部信息至关重要，它们确保后端服务能接收到正确的客户端信息 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; # 一些超时和缓冲区的优化设置 proxy_buffering off; proxy_request_buffering off; proxy_http_version 1.1; proxy_read_timeout 36000s; proxy_connect_timeout 600s; proxy_send_timeout 600s; } # 可选：如果您需要代理WebSocket连接，可以添加一个特定的location # location /ws/ { # proxy_pass http://192.168.1.4:81; # proxy_http_version 1.1; # proxy_set_header Upgrade $http_upgrade; # proxy_set_header Connection "Upgrade"; # proxy_set_header Host $host; # } }检查配置并重载 Nginx：# 测试配置文件语法是否正确 sudo nginx -t # 如果测试通过，重载Nginx使配置生效 sudo systemctl reload nginx

飞牛系统下 IPv6 默认路由自动修复方案
type: item
date: 2025-09-16T07:10:19+00:00
description: 在给飞牛系统配置 IPv6 时，很多朋友会遇到这样的问题：能够获取到 IPv6 地址，但是没有默认网关（default via fe80::xxxx）。手动执行命令：sudo ip -6 route add default via fe80::1 dev enp1s0后可以正常上网。但是当 IPv6 地址租期到期或网卡重连时，路由会消失，需要再次手动添加，非常麻烦。本文将介绍一种简单有效的解决方案：通过 NetworkManager 的 dispatcher 脚本，让系统在网卡地址更新时自动补上默认路由。问题分析IPv6 默认网关通常通过 RA（Router Advertisement） 下发，但部分光猫设备（尤其是运营商定制版）可能只下发前缀，不提供默认路由，导致系统没有默认 IPv6 路由。解决思路是：手动指定光猫的链路本地地址（通常为 fe80::1）作为默认网关。写一个钩子脚本，确保每次网卡重新获取 IPv6 地址时自动补上路由。解决步骤1. 新建 dispatcher 脚本编辑 /etc/NetworkManager/dispatcher.d/90-ipv6-route：#!/bin/bash IFACE=$1 STATUS=$2 if [ "$IFACE" = "enp1s0" ] && [ "$STATUS" = "up" ]; then /sbin/ip -6 route replace default via fe80::1 dev enp1s0 fi2. 赋予执行权限sudo chmod +x /etc/NetworkManager/dispatcher.d/90-ipv6-route3. 重启 NetworkManagersudo systemctl restart NetworkManager验证效果断开并重新启用 enp1s0 网卡，或者等待 IPv6 地址续租。然后执行：ip -6 route show应该能看到：default via fe80::1 dev enp1s0 proto static metric 100测试：ping6 -c 4 ipv6.baidu.com能够正常响应，即表示脚本生效。总结通过 NetworkManager dispatcher 脚本，我们解决了飞牛系统下 IPv6 默认路由缺失的问题。其优点是：简单稳定，不依赖额外的服务或定时任务。能在每次地址变动时自动修复路由，避免手动操作。这样，即使 IPv6 地址是动态的，也能保证系统始终具备可用的默认 IPv6 路由。