Skip to content

设备管理

MSM 通过 IP 白名单机制控制哪些设备走代理,哪些设备直连。本文档介绍如何管理设备白名单。

工作原理

MSM 的设备控制基于 IP 地址白名单:

  1. 在白名单中的设备: 国外域名通过代理访问,国内域名直连
  2. 不在白名单中的设备: 所有域名都直连(国外域名因返回 FakeIP 而无法访问)

流程图

设备发起请求

MosDNS 处理 DNS
  ├─ 国内域名 → 返回真实 IP → 所有设备直连
  └─ 国外域名 → 返回 FakeIP

检查设备 IP
  ├─ 在白名单 → SingBox/Mihomo 代理
  └─ 不在白名单 → 无法访问(FakeIP 不可达)

配置白名单

方式一:Web 界面配置(推荐)

  1. 登录 MSM 管理界面 (http://your-server-ip:7777)
  2. 进入 设备管理 页面
  3. 点击 添加设备
  4. 填写设备信息:
    • IP 地址: 设备的局域网 IP(如 192.168.1.100
    • 设备名称: 设备备注(如 "小明的手机")
    • 启用状态: 是否启用代理
  5. 点击 保存

方式二:编辑配置文件

白名单配置保存在 MosDNS 配置目录的 client_ip.txt 文件中。

1. 查看白名单文件

bash
cat ~/.msm/mosdns/client_ip.txt

2. 编辑白名单文件

bash
vi ~/.msm/mosdns/client_ip.txt

3. 添加设备 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.102

IP 段(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 同时匹配多条规则时,按以下优先级处理:

  1. 精确匹配 (如 192.168.1.100)
  2. 小网段匹配 (如 192.168.1.100/30)
  3. 大网段匹配 (如 192.168.1.0/24)

故障排查

问题 1: 设备在白名单但无法访问国外网站

排查步骤:

  1. 检查设备 IP 是否正确
  2. 检查白名单文件格式是否正确
  3. 检查 MosDNS 是否重启
  4. 检查 SingBox/Mihomo 是否运行
  5. 检查代理配置是否正确

问题 2: 设备不在白名单但可以访问国外网站

可能原因:

  • 设备使用了自定义 DNS,绕过了 MosDNS
  • 设备使用了 VPN 或其他代理

解决方法:

  1. 检查设备 DNS 设置
  2. 在路由器上禁止设备自定义 DNS
  3. 配置防火墙规则,强制所有 DNS 请求通过 MosDNS

问题 3: 修改白名单后不生效

解决方法:

bash
# 重启 MosDNS
systemctl restart msm

# 或者只重启 MosDNS 服务
~/.msm/mosdns/mosdns restart

问题 4: 无法确定设备 IP

解决方法:

  1. 在设备上查看 IP 地址:
    • Windows: ipconfig
    • macOS/Linux: ifconfigip addr
    • Android: 设置 > WLAN > 当前网络 > IP 地址
    • iOS: 设置 > Wi-Fi > 当前网络 > IP 地址
  2. 在路由器上查看 DHCP 租约列表
  3. 使用 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.txt

4. 备份白名单

定期备份白名单配置:

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 msm

5. 使用分组管理

将设备按类型或用途分组,方便批量管理:

  • 家庭成员: 小明、小红、爸爸、妈妈
  • 设备类型: 手机、电脑、电视、音箱
  • 使用场景: 工作、娱乐、学习

下一步

MSM - 统一管理平台