OpenWrt 使用 Tag 给特定的设备单独指定旁路网关的地址和 DNS

先给设备分配静态 IP 并打 Tag(确保精准匹配),再通过配置让带特定 Tag 的设备应用指定网关与 DNS。

  1. 关键前提:给设备添加静态 IP 与 Tag

只有固定设备 IP,才能避免规则因 IP 变动失效,此步骤在 OpenWrt 后台页面操作。

操作步骤:

  1. 登录 OpenWrt 后台,依次点击 网络 → 主机名。
  2. 配置目标设备信息(两种方式):

• 方式1:直接找到在线的目标设备,点击编辑。

• 方式2:点击“添加”,手动输入设备 MAC 地址(确保准确)。

  1. 填写核心配置项:

• IP 地址:设置固定内网 IP(例:192.168.31.100)。

• 主机名:自定义名称(例:Xiaomi-Phone),方便后续识别。

• Tag:输入标签名(例:tv),后续规则将基于此 Tag 匹配(不可含空格与特殊字符)。

  1. 点击 “保存并应用”,设备将被固定 IP 并打上 Tag。
  2. 基于 Tag 配置网关与 DNS(命令行操作)

OpenWrt 页面无直接配置 Tag 网关/DNS 的选项,需通过 SSH 登录命令行执行。

操作步骤:

  1. 执行配置命令

SSH 登录 OpenWrt 后,输入以下命令(需替换示例中的关键参数):

1
2
3
4
5
6
7
8
9
10
11
12
13

1. 创建 Tag 配置(proxynode 替换为你的 Tag 名称,如 tv)

uci set dhcp.proxynode="tag"

2. 配置网关(3,后接网关IP)与 DNS(6,后接DNS IP,多个用逗号分隔)

uci set dhcp.proxynode.dhcp_option="3,192.168.31.2 6,192.168.31.2,1.1.1.1"

3. 保存配置到系统文件

uci commit dhcp

  1. 验证配置是否生效

执行以下命令,查看配置是否正确写入 /etc/config/dhcp 文件:

1
2
3

cat /etc/config/dhcp

若配置正确,会显示类似内容(包含静态 IP 与 Tag 配置):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

config host

list mac 'AA:BB:CC:00:00:01' # 设备MAC

option ip '10.0.0.3' # 静态IP

option dns '1'

option name 'iot' # 主机名

config tag 'proxynode' # 你设置的Tag名称

option dhcp_option '3,10.0.0.2 6,10.0.0.2,1.1.1.1' # 网关与DNS

  1. 重启服务使配置生效

执行命令重启 dnsmasq 服务,确保配置生效:

1
2
3

/etc/init.d/dnsmasq restart

补充:OpenWrt 全局 DHCP 网关/DNS 配置(页面操作)

若需设置全局默认网关与 DNS(所有设备通用),可在后台页面操作,路径如下:

  1. 依次点击 网络 → 接口 → DHCP 服务器 → 高级设置。
  2. 在 “DHCP 选项”栏输入配置(格式与命令行一致):

• 设置默认网关:输入 3,网关IP(例:3,192.168.31.2)。

• 设置默认 DNS:输入 6,DNS1,DNS2(例:6,192.168.31.2,114.114.114.114)。

  1. 点击 “保存并应用”即可。