#amazon-web-services #dns #vpn #openvpn #wildcard-subdomain
#amazon-web-services #dns #vpn #openvpn #подстановочный знак -поддомен
Вопрос:
Допустим, у меня есть следующая запись:
*.foo.bar CNAME *.baz.qux
Если я выполню DNS-запрос test.foo.bar
, вернет ли он запись для test.baz.qux
? Или это сделает что-то еще?
РЕДАКТИРОВАТЬ: для этого есть причина. Клиентская VPN AWS предоставляет конечную точку со случайным префиксом, например *.cvpn-endpoint-foo.bar.clientvpn.us-west-2.amazonaws.com
, что означает, что она будет принимать соединение с любым значением, используемым для префикса (используется, чтобы не было кэширования DNS записей A конечной точки, что соответствует remote-random-hostname
опции OpenVPN). Я хотел бы предоставить конечную точку подключения, например *.vpn.mydomain.com
. Итак, мне было интересно, есть ли способ сделать это, где случайный префикс можно использовать с пользовательским доменом и передать его в домен, к которому он относится.
Подводя итог: есть ли способ использовать случайный префикс клиентской VPN AWS через пользовательскую запись DNS?
Ответ №1:
Я столкнулся с этим вопросом после того, как столкнулся с той же путаницей в отношении подстановочных знаков и CNAMES. Мне удалось получить хорошее решение благодаря ответу Юрия, который направил меня в правильном направлении.
По сути, я просто выбрал свой собственный «случайный» фиксированный поддомен для конечной точки VPN и указал на него свою CNAME
запись. Итак, если DNS-имя конечной точки VPN:
*.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, которая указывает на vpn.my-domain.com
нее, и повторно сопоставлять ее в Route53, если мне когда-нибудь понадобится заменить конечную точку VPN.
Немного связанная документация: https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/troubleshooting.html#resolve-host-name
Ответ №2:
Такая CNAME
запись является незаконной. Вы не можете использовать подстановочный *
знак в качестве CNAME
значения, только одно доменное имя в RHS of CNAME
. У вас может быть что-то вроде
*.foo.bar. CNAME zuka.baz.qux.
Также обратите внимание на точки в конце доменных имен. Без них будет добавлено имя зоны.
Обновите, чтобы прояснить это. ‘*’ в RHS не является шаблоном, оно рассматривается как обычное доменное имя. Итак, если у вас нет имени хоста или поддомена *.baz.qux
, любой запрос для whatewer.foo.bar
вернет not found: 3(NXDOMAIN)
Комментарии:
1. Похоже, AWS с вами не согласна. У них нет проблем с принятием записи CNAME, указывающей на подстановочный знак. Можете ли вы направить меня к RFC, в котором указано, что это незаконно?
2. RFC 1034, разделы 3.6 и 3.6.2, RFC 1035, раздел 3.3.1.
3. Ваше обновление проясняет это, спасибо. Не могли бы вы взглянуть на редактирование исходного сообщения, в котором содержится более подробная информация?