#3535·iroh

在建立直接连接之前自定义节点 ID 的验证

作者: TapGhoul创建于 2025年10月14日更新于 2026年9月14日
标签NAT Traversalc-irohprivacyroadmap

在当前实现中,据我所知,在建立连接之前,或者更重要的是,在将直接 IP 信息传输给远程节点之前,您无法看到 `NodeId` 或任何有关远程证书的信息。对于某些应用程序来说,在远程节点可以通过某种方式验证之前,不希望暴露任何本地 IP 地址是不合适的。不幸的是,似乎直接地址会立即被发送。最好能够提供某种方法,在进行验证之前延迟发送直接地址。例如,在 `Incoming` 中提供 `NodeId` 或更有可能是在接收端的 `Connecting` 中提供 (因为我不确定 `Incoming` 是否已经提供足够的信息)。或者,在 `Connecting` 或 `Incoming::accept_with()` 中提供一个选项,推迟通过 MagicSock 发送直接地址,然后在建立完整连接后提供某种方法来允许发送直接地址 (理想情况下,应该有一个界面来阻止使用此功能,以防止建立直接连接,从而防止对中继服务器造成不必要的负担) - 尽管理想情况下,在不需要禁用此功能以验证 `NodeId` 的情况下,可以拒绝连接,这将是最理想的情况。

内容来源: n0-computer/iroh