测试机器:410 随身wifi debian12
启用流量后,发送几次curl命令查询ip 就能够实现0.01的余额变动
启用流量后,请及时关闭,流量费很贵!

测试效果

connect.sh

#!/bin/bash

echo "🚀 正在启用 4G 数据连接..."

# 1. 拨号并拉起网卡
mmcli -m 0 --simple-connect="apn=cmnet" > /dev/null 2>&1
ip link set wwan0 up

echo "⏳ 正在呼叫 DHCP 获取 IP..."
# 加上这一句:-q 表示获取到 IP 就退出,忽略它修改 DNS 失败的报错
udhcpc -i wwan0 -q > /dev/null 2>&1

sleep 2

# 2. 获取 4G 的源 IP
IP_INFO=$(ip -4 addr show wwan0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}')

if [ -n "$IP_INFO" ]; then
    echo "✅ 4G 已就绪!当前分配的 IP 是: $IP_INFO"
    
    echo "🗺️ 正在配置策略路由 (VIP 封闭通道 Table 100)..."
    ip rule del table 100 2>/dev/null
    ip route flush table 100 2>/dev/null
    
    ip route add default dev wwan0 table 100
    ip rule add from $IP_INFO table 100
    
    echo "------------------------------------------------"
    echo "🧪 测试命令已准备好,请执行:"
    echo "curl -sS --interface wwan0 --max-time 3 ip.sb"
    echo "------------------------------------------------"
else
    echo "⚠️ 接口已拉起,但似乎还没获取到 IP,请稍后再试或检查信号。"
fi

disconnet.sh


#!/bin/bash

echo "🛑 正在关闭 4G 数据连接..."

# 1. 断开基站连接
mmcli -m 0 --simple-disconnect > /dev/null 2>&1

# 2. 关闭网卡
ip link set wwan0 down

# 3. 强制还原主网络的 DNS
echo "🔧 正在还原系统 DNS..."
echo "nameserver 223.5.5.5" > /etc/resolv.conf
echo "nameserver 119.29.29.29" >> /etc/resolv.conf

echo "✅ 4G 已彻底断开,DNS 已恢复为阿里/腾讯公共 DNS!安全待机中。"

改完了记得加上执行权限

vim connect.sh
vim disconnet.sh

chmod +x connect.sh
chmod +x disconnet.sh

来源:https://www.nodeseek.com/post-657298-1