← Cloudflare DNS / dns / dnssec / multi-signer-dnssec
Настройка DNSSEC с несколькими подписывающими сторонами (multi-signer)
На этой странице объясняется, как включить multi-signer DNSSEC в Cloudflare с помощью модель 2 как описано в RFC 8901 ↗.
Перед началом работы
Учтите:
- Для этого процесса требуется, чтобы другой ваш DNS-провайдер (или провайдеры) также поддерживал multi-signer DNSSEC.
- Хотя часть шагов можно выполнить через панель управления, на данный момент весь процесс целиком можно выполнить только через API.
- Включение DNSSEC и Multi-signer DNSSEC на Настройки DNS ↗ страница заменяет только первый шаг в 1. Настройте зону Cloudflare. Чтобы завершить настройку, всё равно нужно выполнить оставшиеся шаги этого руководства.
1. Настройте зону Cloudflare
Cloudflare в роли Primary (полная настройка)
Если вы используете Cloudflare в качестве основного (primary) DNS-провайдера, то есть управляете своими DNS-записями в Cloudflare, выполните следующее:
-
На панели управления Cloudflare перейдите к разделу Настройки DNS страницу.
Перейдите в Настройки ↗ -
Выберите Включить DNSSEC и Подтверждение.
- Также включите Multi-signer DNSSEC и Multi-provider DNS.
- Перейдите в DNS-записи ↗ странице и создайте следующие записи в корне зоны (то есть используйте
@в записи Название поле):- Запись DNSKEY ключами подписи зоны (ZSK) вашего внешнего провайдера (или нескольких провайдеров).
- Одна запись NS с серверами имён вашего внешнего провайдера.
- Используйте эндпоинт «Edit DNSSEC Status» чтобы включить DNSSEC и активировать multi-signer DNSSEC для вашей зоны. Установите
statusкactiveиdnssec_multi_signerкtrue, как в следующем примере.
Необходимые разрешения API-токена
Хотя бы одно из следующих права доступа токена требуется:DNS Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dnssec" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"status": "active",
"dnssec_multi_signer": true
}'- Добавьте ZSK внешнего провайдера (или нескольких провайдеров) в Cloudflare, создав запись DNSKEY в своей зоне.
Необходимые разрешения API-токена
Хотя бы одно из следующих права доступа токена требуется:DNS Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"type": "DNSKEY",
"name": "<ZONE_NAME>",
"data": {
"flags": 256,
"protocol": 3,
"algorithm": 13,
"public_key": "<PUBLIC_KEY>"
},
"ttl": 3600
}'- Добавьте серверы имён внешнего провайдера (или нескольких провайдеров) в виде записей NS в апексе зоны.
Необходимые разрешения API-токена
Хотя бы одно из следующих права доступа токена требуется:DNS Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"type": "NS",
"name": "<ZONE_NAME>",
"content": "<NS_DOMAIN>",
"ttl": 86400
}'- Включите использование серверов имён, добавленных на предыдущем шаге, с помощью запроса API ниже.
Необходимые разрешения API-токена
Хотя бы одно из следующих права доступа токена требуется:Zone DNS Settings WriteDNS Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_settings" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"multi_provider": true
}'Cloudflare в роли Secondary
Если вы используете Cloudflare в качестве вторичного (secondary) DNS-провайдера, выполните следующее:
-
На панели управления Cloudflare перейдите к разделу Настройки DNS страницу.
Перейдите в Настройки ↗ -
Для DNSSEC с Secondary DNS выбрать Live signing.
- Также включите Multi-signer DNSSEC.
- Добавьте ключ (или ключи) подписи зоны (ZSK) внешнего провайдера (или нескольких провайдеров) в запись DNSKEY у основного DNS-провайдера. Эта запись должна быть успешно передана в Cloudflare.
- Добавьте серверы имён внешнего провайдера (или нескольких провайдеров) в виде записей NS в апексе зоны у основного DNS-провайдера. Эти записи должны быть успешно переданы в Cloudflare.
- Используйте эндпоинт «Edit DNSSEC Status» чтобы включить DNSSEC и активировать multi-signer DNSSEC для вашей зоны. Установите
statusкactiveиdnssec_multi_signerкtrue, как в следующем примере.
Необходимые разрешения API-токена
Хотя бы одно из следующих права доступа токена требуется:DNS Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dnssec" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"status": "active",
"dnssec_multi_signer": true
}'-
Добавьте ZSK внешнего провайдера (или нескольких провайдеров) в запись DNSKEY у основного DNS-провайдера. Эта запись должна быть успешно передана в Cloudflare.
-
Добавьте серверы имён внешнего провайдера (или нескольких провайдеров) в виде записей NS в апексе зоны у основного DNS-провайдера. Эти записи должны быть успешно переданы в Cloudflare.
2. Настройте внешнего провайдера
- Получите ZSK Cloudflare через API или запросом к одному из назначенных серверов имён Cloudflare.
Пример API:
curl "https://api.cloudflare.com/client/v4/zones/{zone_id}/dnssec/zsk" \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>"Пример запроса из командной строки:
$ dig <ZONE_NAME> dnskey @<CLOUDFLARE_NAMESERVER> +noall +answer | grep 256- Добавьте ZSK Cloudflare, полученный на предыдущем шаге, в набор записей DNSKEY внешнего провайдера (или нескольких провайдеров).
- Добавьте серверы имён Cloudflare в набор записей NS у внешнего провайдера (или нескольких провайдеров).
3. Настройте регистратора
-
Добавьте у регистратора записи DS, по одной для каждого провайдера. Вашу запись DS Cloudflare можно найти на Настройки DNS ↗ странице в разделе Запись DS.
-
Обновите настройки серверов имён у вашего регистратора, включив в них серверы имён всех провайдеров, которые вы будете использовать в конфигурации multi-signer DNSSEC.