OptiPlex + 华为路由 网络图

用途:本机作为局域网 DNS 过滤机(AdGuard Home),拦截网络内游戏等域名访问。

设备一览

设备 角色 地址 / 端口
华为路由器 HUAWEI-EX1XZ2 网关 / DHCP 192.168.3.1
Dell OptiPlex 7040 DNS 过滤机 固定 IP 192.168.3.7(WiFi wlp3s0)
AdGuard Home DNS / 管理界面 DNS :53,管理 http://192.168.3.7:3000
手机 / PC / 游戏设备 客户端 192.168.3.x(DHCP)

网段:192.168.3.0/24

拓扑图

flowchart TB
  Internet((互联网))

  subgraph WAN["外网侧"]
    Internet
  end

  Router["华为路由器<br/>HUAWEI-EX1XZ2<br/>LAN: 192.168.3.1<br/>DHCP / 网关"]

  Internet <-->|"WAN"| Router

  subgraph LAN["局域网 192.168.3.0/24"]
    Opti["Dell OptiPlex 7040<br/>WiFi: wlp3s0<br/>固定 IP: 192.168.3.7"]
    AG["AdGuard Home<br/>DNS :53<br/>管理 :3000"]
    Clients["手机 / PC / 游戏设备<br/>经 DHCP 拿地址"]

    Opti --- AG
  end

  Router <-->|"WiFi / 有线"| Opti
  Router <-->|"WiFi / 有线"| Clients

  Clients -.->|"① DNS 查询 → 192.168.3.7"| AG
  AG -.->|"② 放行:向上游解析<br/>拦截:游戏域名不返回"| Internet
  Clients -->|"③ 普通上网流量<br/>仍走网关 192.168.3.1"| Router

DNS 拦截数据流

sequenceDiagram
  participant D as 终端设备
  participant R as 华为路由<br/>192.168.3.1
  participant A as OptiPlex AdGuard<br/>192.168.3.7
  participant U as 上游 DNS / 互联网

  Note over R: DHCP 把 DNS 下发为 192.168.3.7
  D->>A: DNS 查询(如游戏域名)
  alt 命中黑名单
    A-->>D: 拦截(NXDOMAIN / 假 IP)
  else 正常域名
    A->>U: 向上游解析
    U-->>A: 返回真实 IP
    A-->>D: 返回解析结果
    D->>R: 业务流量走默认网关
    R->>U: 转发上网
  end

要点说明

  1. AdGuard 只拦 DNS:域名解析在 OptiPlex 上过滤;实际网页/游戏数据包仍经华为路由上网。
  2. 全网生效前提:路由器 DHCP 的 DNS 服务器填 192.168.3.7,客户端重连 WiFi 后生效。
  3. 本机固定 IP:OptiPlex 已设为 192.168.3.7/24,网关 192.168.3.1。建议在路由里做 DHCP 地址保留,避免冲突。
  4. 53 端口:已关闭 systemd-resolved 的 DNSStubListener,由 AdGuard 监听 *:53。
  5. 绕过可能:客户端改用公共 DNS、DoH/DoT、代理、直连 IP 时,DNS 黑名单可能失效。

相关路径

项目 路径
AdGuard 数据目录 /home/liu/adguardhome/
游戏拦截示例规则 /home/liu/adguardhome/game-blocklist.txt
固定 IP 脚本 /home/liu/adguardhome/set-static-ip.sh
释放 53 端口脚本 /home/liu/adguardhome/fix-port53.sh
管理界面 http://192.168.3.7:3000