跳转到正文

为第一条连接设置路由 ​

完成快速入门后,保持 honk 运行并以管理员身份登录。准备可用的 HTTP 或 HTTPS 订阅 URL,以及网关的 shell 访问权限。本教程将 example.com 送入名为 proxy 的新组,其他流量保持直连。订阅名称使用 harbor。

从直连配置开始:使用 fallback: direct,没有 DNS 块,也没有已有的 harbor 订阅或 proxy 组。将 API 凭据放在独立的引入文件,让主文件保持可编辑;见配置示例。此时 example.com 使用 direct 回退。第 3 步添加代理规则后,在第 6 步确认其出站为 proxy。

1. 添加订阅 ​

打开节点页,选择添加订阅。在名称中填写 harbor,在订阅网址中填写供应商的 URL,然后选择添加。doona 会写入声明并请求刷新。

检查成功通知是否显示节点数,再选择 harbor 查看其节点。如果声明已保存但获取失败,先解决报告的错误,再选择卡片上的更新 harbor。订阅包含代理节点后再继续。

控件不可用时,请查阅节点与订阅条件或刷新条件。

2. 创建组 ​

打开策略页,选择新建组。在组名称中填写 proxy,将选择方式设为平均最快。在订阅中选择 harbor,检查匹配的节点后选择创建。

页面应出现 proxy 卡片,其中包含订阅成员。展开卡片,查看所选成员及其延迟或健康状态。组内没有节点时请勿继续。控件不可用时,见组创建与编辑条件。

3. 将测试域名送入组 ​

打开规则 → 路由规则。如果显示视图切换,先选择高级,再选择新建规则。

字段值
条件写法选择
依据完整域名
值example.com
出站proxy
插入位置最后(fallback 之前)

选择对话框中的新建规则,立即写入并重载。检查新规则已生效通知及新增规则:

dae
domain(full: example.com) -> proxy

保留 fallback: direct。添加功能不可用时,见路由规则条件。

4. 定义 DNS 上游 ​

打开配置 → 配置文件,在配置文件中选择 /etc/honk/config.dae,将以下块追加到现有块之后。保留刚才创建的订阅、组和路由规则。

dae
# 通过代理组发送指定的 DNS 请求。
dns {
    # 使用数字服务器地址,避免依赖其域名的初始解析。
    upstream {
        remote_dns: 'https://1.1.1.1/dns-query' -> proxy
    }
    # 保留其他请求的原目标。
    routing {
        request {
            fallback: asis
        }
    }
}

选择应用,等待文件已写入、配置已重载的通知。重新打开文件,检查 remote_dns 是否存在。编辑器或应用不可用时,见配置写入条件。

5. 添加并应用 DNS 规则 ​

打开规则 → DNS 规则,在request 规则中选择新建规则。将依据设为完整域名,在值中填写 example.com,在动作中选择 remote_dns,将插入位置设为最后(fallback 之前)。

选择新建规则以写入并重载。检查新规则已生效通知及请求规则:

dae
qname(full: example.com) -> remote_dns

路由规则选择流量使用的组;DNS 规则选择解析器,该解析器的请求也经过此组。以上每次保存都会单独生效。添加功能不可用时,见 DNS 规则条件。

6. 用追踪模拟验证规则 ​

在规则页打开追踪模拟。将网络协议设为 TCP,域名填写 example.com,目标端口填写 443。目标 IP留空,在解析模式中选择不解析(none),再选择开始追踪。

结果应匹配你的域名规则,出站为 proxy,节点链中包含 harbor 的节点。改用 example.net 再执行一次,出站应为 direct。追踪只模拟规则评估,不建立连接,也不能证明代理可以访问网站。控件不可用时,见路由追踪条件。

7. 观察真实连接 ​

发出请求前先打开连接页。在网关执行:

sh
curl --http1.1 --limit-rate 32 https://example.com/ -o /dev/null

传输期间,在连接页找到 example.com 并打开对应行。检查节点链是否包含 proxy 和 harbor 的某个节点。短连接可能在查看前已经结束,必要时再次发出请求。传输成功表明此路由能承载真实流量。页面不可用时,见连接条件。

代理流量由用户空间处理,会出现在连接页。直连流量由内核转发,不会出现在该页。使用追踪检查直连回退,或查看配置参考中的完整文件示例。


来源:doona 上游文档,采用 CC BY 4.0 许可证。