AWS ClientVPN的自定义主机名?

问题描述

我有以下记录:

*.foo.bar CNAME *.baz.qux

如果我在test.foo.bar上进行DNS查询,它将返回test.baz.qux的记录吗?还是会做其他事情?

编辑:有一个原因要这样做。 AWS的Client VPN为终端提供了随机前缀,例如*.cvpn-endpoint-foo.bar.clientvpn.us-west-2.amazonaws.com,这意味着它将接受具有用于前缀的任何值的连接(使用该连接,因此没有OpenVPN的remote-random-hostname选项所对应的终结点A记录的DNS缓存)。我想提供一个*.vpn.mydomain.com这样的连接端点。因此,我想知道是否存在一种方法,可以在自定义域中使用随机前缀,并将其传递给CNAME所指向的域。

总结:有没有一种方法可以通过自定义DNS记录使用AWS的Client VPN随机前缀?

解决方法

此类CNAME记录是非法的。您不能使用通配符*作为CNAME的值,而只能使用CNAME的RHS的单个域名。你可以有类似的东西

*.foo.bar. CNAME zuka.baz.qux.

此外,请注意域名末尾的点。没有它们,区域名称将被追加。

更新进行澄清。 RHS中的'*'是 not 通配符,它​​是 视为普通域名。因此,除非您拥有名为*.baz.qux的主机或子域,否则对whatewer.foo.bar的任何查询都将返回not found: 3(NXDOMAIN)

,

在对通配符和 CNAMES 遇到同样的困惑之后,我遇到了这个问题。由于 Yuri 的回答让我找到了正确的方向,我设法找到了一个很好的解决方案。

基本上,我只是为 VPN 端点选择了我自己的“随机”固定子域,并将我的 CNAME 条目指向它。因此,如果 VPN 端点 DNS 名称是:

*.cvpn-endpoint-xxxxxx.prod.clientvpn.<region>.amazonaws.com

然后我使用以下 CNAME 条目:

vpn.my-domain.com CNAME <random>.cvpn-endpoint-xxxxxx.prod.clientvpn.<region>.amazonaws.com.

以上条目处理没有 remote-random-hostname 功能的客户端。然后我可以添加另一个通配符 CNAME 来捕获启用此选项的客户端:

*.vpn.my-domain.com CNAME vpn.my-domain.com

有了这两个条目,我可以很高兴地分发指向 vpn.my-domain.com 的 vpn 配置,并在需要替换 VPN 端点时将其重新映射到 Route53 中。

稍微相关的文档:https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/troubleshooting.html#resolve-host-name