[功能请求] 为"客户端"使用内置 DNS 通过 HTTPS 解析器(可优雅地解决轻微的漫游问题)
建议的功能:内置 DNS-over-HTTPS 解析器(或者可通过查询类似 DOG 的服务,但内置的解析器更为简洁) 将为某些"服务器漂移"行为提供简单的解决方案。用例:服务器位于 Oracle Cloud 上,偶尔会重启,获得新的 IP 地址。在服务器端,该盒子以某个方式进行配置,首先在低 TTL DNS 服务上更新 DNS 记录(Cloudflare 可以降至 60 秒),然后启动 UDP2RAW 服务(此部分由服务器上的各种启动脚本完成,不需要修改 UDP2RAW)。在客户端端,建议的功能将支持以下命令行参数: -rd 使用域名而不是 IP 来指定远程位置 用于替代 -r (例如,-rd mydomain.com:8080) -hns 指定要使用的 DNS-over-HTTPS 解析器,类似于 DOG 的 DNS-over HTTPS 语法 (例如,-hns @https://Cloudflare-dns.com/dns-query) -ct 连接超时,基本上可明确指定等待响应的时间,直到服务器 IP 被视为"过时"并应重试解析,并启动新连接 重要的注意事项:每次客户端检测到连接失败时,客户端都会重新运行 HTTPS-over-DNS 查询,从而更新其已知的服务器 IP 地址。因此,当服务器发生故障并重启时,您将只会遇到相对较小的停机时间(大约为"重启时间+更新 DNS 时间+DNS 记录的 TTL"),最终,随着 DNS 记录的更新,客户端将会找到服务器的新 IP 地址并成功重新连接。注意事项 2:系统只会在指定的 DNS-over-HTTPS 解析器连接未被阻止的情况下才能正常工作。 附加考虑 - 如果实现起来不复杂,则可能允许指定多个 DNS-over-HTTPS 解析器,用逗号分隔。例如: -hns @https://Cloudflare-dns.com/dns-query,@https://mozilla.Cloudflare-dns.com/dns-query,@https://dns.quad9.net/dns-query 这些 DNS 解析器将按顺序尝试(例如,如果请求到 Cloudflare 失败,则尝试 mozilla,然后尝试 quad,然后再次尝试 Cloudflare) 这种方法应能在大多数限制性环境中(双方都有 NAT,完全禁止 DNS over HTTPS 等)为服务器提供半自动漂移,并最大限度地减少本地观察者(ISP 等)可获取的信息。
内容来源: wangyu-/udp2raw