#!/bin/sh echo -e "\033[36m====================================================\033[0m" echo -e "\033[36m 网络拓扑自动侦测脚本 (单臂/双臂路由自动适配) \033[0m" echo -e "\033[36m====================================================\033[0m" # 核心逻辑:去 UCI 配置库里查水表,看看有没有注册 wan 接口 if uci -q get network.wan >/dev/null; then echo -e "\033[32m✅ 检测到 WAN 接口配置 (判断为:硬路由/双臂模式)\033[0m" echo " -> [1/3] 将 WAN 口协议设置为 dhcp (获取上游网络)..." uci set network.wan.proto='dhcp' echo " -> [2/3] 将 LAN 口设置为静态 IP: 192.168.100.1 (充当主网关)..." uci set network.lan.proto='static' uci set network.lan.ipaddr='192.168.100.1' uci set network.lan.netmask='255.255.255.0' else echo -e "\033[33m⚠️ 未检测到 WAN 接口配置 (判断为:软路由/单臂/旁路由模式)\033[0m" echo " -> [1/3] 将 LAN 口协议从 static 切换为 dhcp (请求上游分配IP)..." uci set network.lan.proto='dhcp' echo " -> [2/3] 清除旧的静态 IP 残留,防止底层冲突..." uci delete network.lan.ipaddr >/dev/null 2>&1 uci delete network.lan.netmask >/dev/null 2>&1 fi echo " -> [3/3] 提交修改并重启网络服务 (请耐心等待 6-8 秒)..." uci commit network /etc/init.d/network restart sleep 6 echo -e "\033[32m🎉 搞定!当前 br-lan 接口的最新状态如下:\033[0m" ip addr show br-lan | grep inet echo -e "\033[36m====================================================\033[0m"