使用 kong 的 dns(udp)代理

使用 kong 的 dns(udp)代理

我需要根据主机名代理 DNS 请求。 在此处输入图片描述

我已将 Kong 配置为流式传输 53 udp。

我可以创建服务:

curl -X POST http://localhost:8001/services \
-H "Content-Type: application/json" \
-d '{"name":"jerry", "protocol":"udp", "host": "jerry-coredns", "port": 53}'

但是当尝试根据主机名创建路由时:

curl -X POST http://localhost:8001/services/jerry/routes \
-H "Content-Type: application/json" \
-d '{"name":"jerry-dns-route", "hosts": ["jerry.kong.local"], "destinations":[{"port":53}],"protocols":["udp"]}'

Kong 的回应是:

cannot set 'hosts' when 'protocols' is 'tcp', 'tls', 'tls_passthrough' or 'udp'

我们知道 UDP 协议上没有主机名标头,就像 HTTP 一样。所以问题是,像 Cloudflare 或 Amazon 这样的云提供商如何为其客户创建 DNS 服务器?我无法为每个 DNS 服务器使用有效的 IP 地址,显然如此。

相关内容