从 .bat 文件导入路由到 Keenetic
Keenetic 可以上传 Windows route ADD 格式的文件并自动将所有路由应用到选定的接口。NetRoute Pro 正是生成此类文件 — 您只需下载并上传即可。
命令语法
Keenetic CLI(config 模式):
(config)> ip route <CIDR> <VPN_IF>
示例:
(config)> ip route 1.1.1.0/24 Wireguard0
等效的 .bat 行(Windows route ADD 格式 — NetRoute Pro 生成的格式,Keenetic 通过 Web 界面接受上传):
route ADD 1.1.1.0 MASK 255.255.255.0 0.0.0.0
上传 .bat 时路由会自动绑定到所选的 VPN 接口 — 每行的 gateway 值被忽略。如果仅在 CLI 中临时使用,(config)> ip route 形式是准确的。
准备工作
- 已配置 VPN 隧道(WireGuard、OpenVPN、IKEv2、OpenConnect 等)的 Keenetic 路由器
- 已安装 NetRoute Pro Chrome 扩展
- 访问路由器网页界面(通常为
http://my.keenetic.net)
步骤 1. 在 NetRoute Pro 中生成 .bat 文件
- 在 Chrome 中打开目标网站
- 点击扩展栏中的 NetRoute Pro 图标
- 选择 Windows 平台 — 这是 Keenetic 接受的格式
- 网关可以是任意值(例如
0.0.0.0)— 上传时绑定到接口时 Keenetic 会忽略它 - 选择聚合掩码(推荐
/24) - 点击 Analyze Website
- 将结果下载为 .bat 文件
步骤 2. 打开 Keenetic 的路由部分
- 打开
http://my.keenetic.net或路由器的 IP - 以管理员身份登录
- 转到 管理 → 路由
- 选择 IPv4 路由 标签页
步骤 3. 上传文件并绑定到 VPN 接口
- 点击 上传 按钮
- 选择下载的
.bat文件 - 在 接口 下拉菜单中,选择您的 VPN 隧道
- 接口名称取决于您的配置和 VPN 提供商 — 每个用户都不同
- 如果不确定 — 请在 Internet 部分查看 VPN 使用哪个接口
- 确认上传
完成 — 文件中的所有路由都已添加并绑定到所选 VPN 接口。Keenetic 忽略 .bat 文件中的网关值;流量通过所选接口流动。
WireGuard 替代方案:AllowedIPs
如果您使用 WireGuard,可以完全跳过静态路由,直接在 peer 的 AllowedIPs 中设置子网:
- 在 NetRoute Pro 中选择 WireGuard 平台
- 复制
AllowedIPs行 - 在 Keenetic 中:Internet → WireGuard → peer 设置 → 粘贴到 Allowed IPs
- 保存
DNS 泄漏 — 必读
Keenetic 的静态路由按 IP 转发流量。不转发 DNS。LAN 客户端仍然向 Keenetic 的 DNS 代理(默认转发到 ISP)询问 example.com 的 IP — 只有结果 IP 流量才通过 VPN。即使数据加密,ISP 仍能看到访问哪些站点。
根据威胁模型,三种选择:
- 对 ISP 完全隐藏 DNS。在 Internet → Other connections → 你的 VPN 接口 中将其设为优先 DNS 连接,或者在 Network rules → Internet safety 中设置静态 DNS 指向 VPN 提供商的内部解析器(例如
10.0.0.1)。Keenetic 会通过隧道路由 DNS 查询。 - 降低 ISP 可见性(公共 DoH/DoT)。Keenetic 在 Network rules → Internet safety → DNS-over-HTTPS / DNS-over-TLS 原生支持 DoH/DoT。添加 Cloudflare(
1.1.1.1)、AdGuard(94.140.14.140)或 Quad9(9.9.9.9)作为系统解析器。 - 接受泄漏。默认行为 — 仅加密数据路径,查询仍走 ISP。
从 LAN 客户端访问 dnsleaktest.com 验证 — 显示的解析器应属于你的 VPN 或所选 DoH,而非 ISP。在 Keenetic 上,活动 DNS 服务器可在 System dashboard → DNS 中查看。
IPv6 双栈绕过
静态 IPv4 路由仅覆盖 IPv4 流量。如果目标有 AAAA 记录(大多数热门站点都有),LAN 客户端按 RFC 6724 偏好 IPv6 — 请求通过 ISP 的 IPv6 默认路由发出,绕过 VPN。
Keenetic 上的两种解决方案:
- 在 NetRoute Pro 中生成 IPv6 路由,如果你的 VPN 有 IPv6 端点 — 同样流程,不同前缀(
2606:4700::/32、2001:4860::/32等)。作为单独的.bat导入,绑定到同一 VPN 接口。 - 全局禁用 IPv6,在 Internet → Connections → IPv6,如果你的 VPN 不支持 v6。所有流量回退到 v4 并被正确隧道化。
验证
导入后,检查路由已应用:它们会出现在 路由 → IPv4 路由 列表中,绑定到您的 VPN 接口。但这只确认路由被添加,不代表流量真的走 VPN。从 LAN 客户端进行三步真正的验证:
- 检查路由域名的出口 IP — 应属于 VPN 提供商,而非 ISP:
curl -v https://example.com 2>&1 | grep "Connected to" # 应显示位于你路由 CIDR 内的 IP。 - 检查互联网看到的访问路由站点的 IP:
curl -s https://api.ipify.org # 当路由 CIDR 包含 ipify 或测试通过 VPN 出口代理时, # 该结果反映 VPN 出口 IP。与你真实的 ISP IP 对比。 - 在路由器上(通过 SSH/Telnet):
show ip route # 确认 CIDR 已绑定到 VPN_IF show interface stat <VPN_IF> # LAN 客户端浏览时 RX/TX 字节应增长
tracert/traceroute 不可靠:ICMP/UDP 探测常被过滤,每跳返回 * * *,没有有用信号。
常见问题
网站 IP 改变 — 路由停止工作
Cloudflare、Fastly 等 CDN 会定期轮换 IP。在 NetRoute Pro 中启用 RIPE BGP 优化 重新生成 .bat — 它会用公告的 BGP 前缀替换,覆盖所有提供商 IP。
路由太多
Keenetic 可以处理数百条静态路由而没有问题。如果需要更多 — 使用 WireGuard AllowedIPs 方法。
路由已添加但流量不通过 VPN
- VPN 接口已建立?在 Internet → 连接 中检查 — VPN 行应显示已连接且 uptime 非零。
- LAN 流量的 SNAT?打开 Internet → 其他连接,选择你的 VPN 接口,确保启用 “用于访问 Internet”。这个开关让 Keenetic 对走 VPN 出去的 LAN 客户端流量做 NAT。没有它,数据包能到达 VPN 出口,但 VPN 服务端看到内部 LAN 源 IP 后会静默丢弃。
- 不要为商业 VPN 提供商额外启用 masquerade 规则(Mullvad、ProtonVPN、IVPN 等)。提供商服务端已经将你的流量 SNAT 到自己的出口 IP — 客户端再做一次 masquerade 没有意义,还可能破坏非对称流。仅当你运行自己的不做 SNAT 的 VPN 服务端时才启用。
- 检查防火墙规则 — 网络规则 → 防火墙 中不应有显式阻断你路由 CIDR 的规则。
高级用户:CLI
要以编程方式自动化或管理路由,请通过 SSH/Telnet 连接并在 config 模式下使用 ip route 命令。但在大多数情况下,.bat 上传就足够了。
配置文件示例
带注释的可编辑模板。将示例路由替换为 NetRoute Pro 为目标网站生成的输出。
keenetic-routes.bat— Windowsroute ADD格式,可上传到 Keenetic
@echo off
REM Example .bat file for upload to Keenetic router.
REM Generated by NetRoute Pro: https://alexander2k.github.io/netroute-site/
REM
REM Format: route ADD <network> MASK <netmask> <gateway>
REM Gateway can be 0.0.0.0 — Keenetic ignores it when you bind to an interface on upload.
REM Replace these example routes with output from NetRoute Pro for your target sites.
route ADD 1.1.1.0 MASK 255.255.255.0 0.0.0.0
route ADD 8.8.8.0 MASK 255.255.255.0 0.0.0.0
route ADD 162.159.0.0 MASK 255.255.0.0 0.0.0.0
REM Upload via Keenetic web UI:
REM System -> Routing -> Upload .bat -> select VPN interface -> confirm.
提示:需要不带注释行的配置?在 NetRoute Pro 选项中取消勾选 「在导出文件中包含注释」,扩展将仅导出路由命令。适用于不支持注释的路由器。