设备管理
MSM 通过 IP 白名单机制控制哪些设备走代理,哪些设备直连。本文档介绍如何管理设备白名单。
工作原理
MSM 的设备控制基于 IP 地址白名单:
- 在白名单中的设备: 国外域名通过代理访问,国内域名直连
- 不在白名单中的设备: 所有域名都直连(国外域名因返回 FakeIP 而无法访问)
流程图
设备发起请求
↓
MosDNS 处理 DNS
├─ 国内域名 → 返回真实 IP → 所有设备直连
└─ 国外域名 → 返回 FakeIP
↓
检查设备 IP
├─ 在白名单 → SingBox/Mihomo 代理
└─ 不在白名单 → 无法访问(FakeIP 不可达)配置白名单
方式一:Web 界面配置(推荐)
- 登录 MSM 管理界面 (
http://your-server-ip:7777) - 进入 设备管理 页面
- 点击 添加设备
- 填写设备信息:
- IP 地址: 设备的局域网 IP(如
192.168.1.100) - 设备名称: 设备备注(如 "小明的手机")
- 启用状态: 是否启用代理
- IP 地址: 设备的局域网 IP(如
- 点击 保存
方式二:编辑配置文件
白名单配置保存在 MosDNS 配置目录的 client_ip.txt 文件中。
1. 查看白名单文件
bash
cat ~/.msm/mosdns/client_ip.txt2. 编辑白名单文件
bash
vi ~/.msm/mosdns/client_ip.txt3. 添加设备 IP
每行一个 IP 地址或 IP 段:
# 单个 IP
192.168.1.100
# IP 段(CIDR 格式)
192.168.1.0/24
# 注释(以 # 开头)
# 这是一条注释4. 保存并重启 MosDNS
bash
# 保存文件后,重启 MosDNS 使配置生效
systemctl restart msm白名单格式
单个 IP 地址
192.168.1.100
192.168.1.101
192.168.1.102IP 段(CIDR 格式)
# 整个 C 类网段(192.168.1.0 - 192.168.1.255)
192.168.1.0/24
# 部分网段(192.168.1.0 - 192.168.1.127)
192.168.1.0/25
# 部分网段(192.168.1.100 - 192.168.1.103)
192.168.1.100/30注释
# 这是一条注释
192.168.1.100 # 小明的手机
192.168.1.101 # 小红的电脑常见配置示例
示例 1: 只有特定设备走代理
# 只有这些设备走代理
192.168.1.100 # 小明的手机
192.168.1.101 # 小红的电脑
192.168.1.102 # 客厅电视示例 2: 整个网段走代理
# 整个局域网都走代理
192.168.1.0/24示例 3: 排除特定设备
如果想让整个网段走代理,但排除特定设备,需要使用更精细的 CIDR 划分:
# 192.168.1.0 - 192.168.1.99 走代理
192.168.1.0/25
192.168.1.64/26
# 192.168.1.101 - 192.168.1.255 走代理
192.168.1.101/32
192.168.1.102/31
192.168.1.104/29
192.168.1.112/28
192.168.1.128/25
# 192.168.1.100 不走代理(不添加到白名单)提示
如果需要排除特定设备,建议使用 Web 界面的设备管理功能,更加直观。
示例 4: 按设备类型分组
# 手机设备
192.168.1.100 # 小明的 iPhone
192.168.1.101 # 小红的 Android
# 电脑设备
192.168.1.110 # 小明的 MacBook
192.168.1.111 # 小红的 Windows PC
# 智能设备
192.168.1.120 # 客厅电视
192.168.1.121 # 卧室音箱设备发现
MSM 可以自动发现局域网内的设备,方便添加到白名单。
1. 查看在线设备
在 MSM 管理界面中,进入 设备管理 > 设备发现,可以看到局域网内的所有在线设备。
2. 添加到白名单
点击设备旁边的 添加 按钮,即���将设备添加到白名单。
设备分组
MSM 支持将设备分组管理,方便批量操作。
1. 创建分组
在 MSM 管理界面中,进入 设备管理 > 分组管理,点击 创建分组。
2. 添加设备到分组
在设备列表中,选择设备,点击 添加到分组。
3. 批量操作
选择分组,可以批量启用/禁用该分组的所有设备。
动态白名单
MSM 支持动态白名单,可以根据时间、设备状态等条件自动调整白名单。
1. 时间规则
设置设备在特定时间段内走代理:
- 工作日 9:00-18:00: 办公设备走代理
- 周末全天: 所有设备走代理
2. 设备状态规则
根据设备状态自动调整:
- 设备在线: 自动添加到白名单
- 设备离线: 自动从白名单移除
提示
动态白名单功能需要在 MSM 管理界面中配置,具体功能可能因版本而异。
白名单优先级
当设备 IP 同时匹配多条规则时,按以下优先级处理:
- 精确匹配 (如
192.168.1.100) - 小网段匹配 (如
192.168.1.100/30) - 大网段匹配 (如
192.168.1.0/24)
故障排查
问题 1: 设备在白名单但无法访问国外网站
排查步骤:
- 检查设备 IP 是否正确
- 检查白名单文件格式是否正确
- 检查 MosDNS 是否重启
- 检查 SingBox/Mihomo 是否运行
- 检查代理配置是否正确
问题 2: 设备不在白名单但可以访问国外网站
可能原因:
- 设备使用了自定义 DNS,绕过了 MosDNS
- 设备使用了 VPN 或其他代理
解决方法:
- 检查设备 DNS 设置
- 在路由器上禁止设备自定义 DNS
- 配置防火墙规则,强制所有 DNS 请求通过 MosDNS
问题 3: 修改白名单后不生效
解决方法:
bash
# 重启 MosDNS
systemctl restart msm
# 或者只重启 MosDNS 服务
~/.msm/mosdns/mosdns restart问题 4: 无法确定设备 IP
解决方法:
- 在设备上查看 IP 地址:
- Windows:
ipconfig - macOS/Linux:
ifconfig或ip addr - Android: 设置 > WLAN > 当前网络 > IP 地址
- iOS: 设置 > Wi-Fi > 当前网络 > IP 地址
- Windows:
- 在路由器上查看 DHCP 租约列表
- 使用 MSM 的设备发现功能
最佳实践
1. 使用固定 IP
为需要走代理的设备配置固定 IP 地址,避免 DHCP 租约过期后 IP 变化。
方式一:在路由器上配置 DHCP 静态绑定
- 绑定设备 MAC 地址和 IP 地址
- 设备每次获取的 IP 都相同
方式二:在设备上配置静态 IP
- 直接在设备网络设置中配置静态 IP
- 注意避免 IP 冲突
2. 使用设备备注
为每个设备添加备注,方便识别:
192.168.1.100 # 小明的 iPhone 13
192.168.1.101 # 小红的 MacBook Pro
192.168.1.102 # 客厅 LG 电视3. 定期清理白名单
定期检查白名单,删除已经不使用的设备:
bash
# 查看白名单
cat ~/.msm/mosdns/client_ip.txt
# 编辑白名单,删除不需要的设备
vi ~/.msm/mosdns/client_ip.txt4. 备份白名单
定期备份白名单配置:
bash
# 备份白名单
cp ~/.msm/mosdns/client_ip.txt ~/.msm/mosdns/client_ip.txt.backup
# 恢复白名单
cp ~/.msm/mosdns/client_ip.txt.backup ~/.msm/mosdns/client_ip.txt
systemctl restart msm5. 使用分组管理
将设备按类型或用途分组,方便批量管理:
- 家庭成员: 小明、小红、爸爸、妈妈
- 设备类型: 手机、电脑、电视、音箱
- 使用场景: 工作、娱乐、学习