macOS Ventura 和 iOS 用户无法通过 Cato 访问内部资源

问题

在 macOS Ventura 和 iOS 设备上,用户在连接到 Cato 时无法访问内部资源

环境

  • macOS Ventura 13.0 或更高版本
  • iPhone iOS 16 或更高版本
  • 无论版本如何,Cato SDP 客户端
  • 为内部域配置的 DNS 转发

原因

如果应用于SDP 用户的Cato DNS 设置为默认(空字段),Cato将向客户端推送以下DNS 信息:

  • 主DNS 服务器 10.254.254.1
  • 次要 DNS 服务器 8.8.8.8

根据Cato的测试,当账户配置如上所述或使用已知公共DNS服务器(如8.8.8.8或1.1.1.1)时,macOS/iOS可能倾向于对配置的公共DNS服务器使用DoH(通过HTTPS的DNS)或DoT(通过TLS的DNS)进行名称解析。 Cato目前不支持DoH/DoT。 

一旦macOS/iOS看到一个符合DoH/DoT标准的DNS服务器,它将忽略任何其他DNS服务器,包括Cato的DNS服务器IP。 有关更多信息,请参阅此Apple讨论

自从 Cato PoPs 不支持 DNS 转发 用于 DoH/DoT 数据包时,DNS 转发失败,用户无法访问内部资源,或获取的 DNS 结果不是预期结果。

可以通过在终端中运行scutil --dns 命令来识别机器上的首选DNS服务器。 以下输出显示macOS偏向选择8.8.8.8作为主要DNS服务器。

MacBook-Air-2:~ xx$ scutil --dns 
DNS 配置

解析器 #1
nameserver[0]: 8.8.8.8
nameserver[1]: 10.254.254.1
if_index: 24 (utun8)
标志: 补充,请求A 记录
到达: 0x00000003 (可达, 瞬时连接)
顺序: 101200

请注意,当实体之间的 DNS 设置发生冲突时,最接近主机的实体(从主机大于站点大于分组大于账户)具有优先级。 查看更多信息,请参见 配置 DNS 设置

解决方案

这是 Apple 正在积极解决的已知问题。 可以在 Cato 实施以下解决方法:

1. 在 防火墙规则中阻止DoH(DNS 通过 HTTPS)DNS 通过 TLS,以防止这些协议通过 Cato 可达。 这将迫使 macOS/iOS 切换到 Cato 的默认 DNS 服务器 10.254.254.1,通过基于 UDP 的 DNS 允许 DNS 转发。

2. 将10.254.254.1 明确地设置为CMA 中的唯一DNS 服务器这将防止8.8.8.8(或任何其他支持DoH/DoT的DNS服务器)被设为机器的主DNS,并将强制所有DNS查询由Cato处理。

DNS 服务器可以全局或按组设置,最好是预先配置的'所有SDP 用户' 用户组。 有关更多信息,请参见 SDP 用户 DNS 设置的集中管理

 

这篇文章有帮助吗?

1 人中有 1 人觉得有帮助

0 条评论