# 智能路由

Source: https://onexray.com/zh/docs/connect/smart-routing/
Description: 设置直连地区、自定义本地 DNS、局域网和服务直连、接入节点数量与可选的 VPN 最终出口。


入口：连接 → 选择流量方式 → 智能路由 → 编辑。

## 直连与拦截

| 选项 | 作用 | 默认值 |
| --- | --- | --- |
| 直连地区 | 使用已安装 GeoSite/GeoIP 中对应国家或地区的分类 | 新安装为中国大陆 |
| 局域网直连 | 私有域名和 IP 范围直连 | 开启 |
| Apple 服务直连 | Apple 域名分类直连 | 开启 |
| Microsoft 服务直连 | Microsoft、Bing 及相关 Windows/Office 域名直连，GitHub 优先走代理 | 开启 |
| 直连 DNS | 直连域名的 DNS 请求走直连路径 | 开启 |
| FakeDNS | 返回虚拟 IP，并在路由前还原域名 | 关闭 |
| 广告拦截 | 拦截配置中的广告域名分类 | 关闭 |

地区页面支持搜索、单选和清空。可选项以实际安装的官方路由数据为准，地区名称不保证每个网站和 IP 的归类都准确。

Microsoft 直连开关在所有平台显示。使用实际存在的 microsoft 与 bing 分类，不生成不存在的 windows 或 office 分类。

## 接入节点与最终出口

自动或分组选择可以使用 1、2 或 3 个接入节点。OneXray 从符合范围的测速结果中选择较快节点。显式代理 balancer 规则使用节点池；未命中流量按 Xray 默认行为使用第一出站，不会自动负载均衡。固定选择单个节点时仍只使用一个接入。

可选的“VPN 最终出口”用于链式连接：

```text
设备 → 接入节点 → 最终出口 → 目标网站
```

最终出口不会再次被选为接入节点。每个接入建立自己的出口链路；自定义路由没有最终出口设置。

## 规则与 DNS

页面预览展示开关实际生成的规则。所有直连域名合并为一条规则，所有直连 IP 合并为另一条；Microsoft 直连开启时，GitHub 代理规则排在两条直连规则之前，广告拦截仍在最前。

智能路由固定使用 IPIfNonMatch：域名第一轮未命中时，解析成 IP 再次匹配。不提供定制开关。

开启“直连 DNS”后，可以编辑“本地 DNS 地址”，默认值为 `8.8.8.8`。例如，内网域名需要由路由器或企业 DNS 解析时，填写实际可访问的解析器地址。该地址随智能路由保存；关闭开关会保留地址，但暂停使用这一自定义地址和直连域名匹配。

代理 DNS 固定为 `8.8.8.8`。直连规则中的域名交给本地 DNS；FakeDNS 关闭时，其余 DNS 走代理。DNS 选择阶段不会判断 IP、端口或网络条件。仅添加 IP 直连规则，不会自动让对应域名改用本地 DNS。

这里的本地 DNS 与[隧道 DNS](https://onexray.com/zh/docs/advanced/vpn-tunnel/)是不同设置。排查内网域名解析问题时，应先检查路由中的本地 DNS；修改隧道 DNS 不会替代它。“所有流量经过 VPN”不使用此地址，也不生成直连 DNS。

保存后应用草稿；修改当前正在使用的智能路由时，需要重新连接。

## FakeDNS

开启后，符合条件的 DNS 查询返回虚拟 IP，并在路由前还原域名；命中本地 DNS 的域名仍使用真实 IP。FakeDNS 默认关闭，不影响“所有流量经过 VPN”。启用前请阅读 [DNS 缓存与系统路由限制](https://onexray.com/zh/docs/configuration/dns/)。


