INTEGRITY Документация

Начало работы

Чтобы использовать собственные IP адреса с Cloudflare, уточните у своей команды по работе с аккаунтом, что ваш контракт покрывает эту функциональность. Вам нужно будет настроить параметры, специфичные для служб, которые вы хотите использовать, а также выполнить стандартные требования, предъявляемые ко всем клиентам BYOIP.

Когда настройки аккаунта готовы, ознакомьтесь с приведёнными ниже разделами, чтобы узнать, как настроить свои BYOIP-префиксы. Также обязательно изучите BYOIP Service-Specific Terms ↗.

Перед началом работы


1. Настройте свои префиксы

Добавление префикса

  1. Используйте Конечная точка Add Prefix чтобы создать префикс в аккаунте Cloudflare, которому должен принадлежать префикс BYOIP.
Add Prefix
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/addressing/prefixes" \
	--request POST \
	--header "X-Auth-Email: $CLOUDFLARE_EMAIL" \
	--header "X-Auth-Key: $CLOUDFLARE_API_KEY" \
	--json '{
		"cidr": "203.0.113.0/24",
		"asn": 13335,
		"delegate_loa_creation": true
	}'
Ответ

 "result": {
	 "id": "72823e95d6c64d48a8111fec81179816",
    "created_at": "2025-02-25T00:34:11.423722Z",
    "modified_at": "2025-02-25T00:34:11.423722Z",
    "cidr": "203.0.113.0/24",
    "account_id": "654c5f71c324478cc9f68d60065d4620",
    "description": "",
    "approved": "P",
    "on_demand_enabled": false,
    "on_demand_locked": false,
    "advertised": null,
    "advertised_modified_at": null,
    "loa_document_id": "b9ff4afe312246a8b2e7324d98f40b23",
    "asn": 13335,
    "ownership_validation_token": "<OWNERSHIP_VALIDATION_TOKEN>",
    "delegate_loa_creation" : true,
    "irr_validation_state": "pending",
    "rpki_validation_state": "pending",
    "ownership_validation_state": "pending",
  }
  1. Запишите id присвоенный добавленному вами префиксу. Он потребуется на следующих шагах.

Проверка владения префиксом

  1. Проверьте владение префиксом одним из следующих способов:

    1. Скопируйте ownership_validation_token возвращённый вызовом API.
    2. В записи IRR для подключаемого префикса добавьте следующую строку либо в description или remarks поле. Замените <OWNERSHIP_VALIDATION_TOKEN> на фактический токен, скопированный на предыдущем шаге.
    cf-validation: <OWNERSHIP_VALIDATION_TOKEN>
    1. Учитывайте размер префикса, который вы переносите в Cloudflare. Поскольку стандартный in-addr.arpa предполагает делегирование на границах октетов или нибблов. Если вы подключаете префиксы, не выровненные по этим границам, вам придётся разбить префикс на подсети и создать соответствующие зоны обратного DNS для каждой из них.

    Пример

    Чтобы рассчитать, сколько подсетей меньшего размера вам нужно, используйте следующую формулу:

    2^(next boundary - current netmask)

    Для 1.1.0.0/23, вам нужно будет настроить два (2^(24-23)) зоны обратного DNS, одну для 1.1.0.0/24 и другой для 1.1.1.0/24.

    Для 2001:0db8::/34, вам нужно будет настроить четыре (2^(36-34)) зон обратного DNS, для 2001:0db8::/36, 2001:0db8:1:/36, 2001:0db8:2::/36, а также 2001:0db8:3::/36.

    1. Настройте зону обратного DNS. Если вы используете DNS Cloudflare, см. Зоны обратного DNS. Если вы используете другого DNS-провайдера, следуйте его инструкциям.
    2. Создайте записи TXT с помощью cf-validation в качестве своего name. Они должны выглядеть примерно так, как в следующем примере:
    cf-validation.<REVERSE_ZONE_ADDRESS> IN TXT <TOKEN>
    1. Обновите серверы имен в своем региональном интернет-регистраторе (RIR). Точные шаги для обновления серверов имен зависят от используемого реестра.
  2. После внесения необходимых изменений запустите проверки с помощью конечной точки Validate Prefix.

    Необходимые разрешения API-токена

    Хотя бы одно из следующих права доступа токена требуется:
    • Magic Transit Write
    • IP Prefixes: Write
    Проверка префикса
    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/addressing/prefixes/$PREFIX_ID/validate" \
    	--request POST \
    	--header "X-Auth-Email: $CLOUDFLARE_EMAIL" \
    	--header "X-Auth-Key: $CLOUDFLARE_API_KEY"

После успешного прохождения проверки владения токен можно удалить.

Когда все проверки пройдены (RPKI, IRR и владение), approved поле в вашем префиксе вернёт "V". Это означает, что вы можете переходить к созданию привязок служб для IP-адресов1.

При необходимости вы можете использовать Конечная точка «Сведения о префиксе» чтобы проверить, не возникли ли проблемы в ходе проверки. Если это так, внесите необходимые изменения и отправьте запрос на повторную проверку. См. Проверки валидации префикса для получения подробностей.

(Дополнительно) Делегируйте свои префиксы BYOIP

Вы можете разрешить другим аккаунтам использовать часть или весь ваш префикс BYOIP. См. Делегирование префиксов для получения подробностей.

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
Create Prefix Delegation
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/addressing/prefixes/$PREFIX_ID/delegations" \
	--request POST \
	--header "X-Auth-Email: $CLOUDFLARE_EMAIL" \
	--header "X-Auth-Key: $CLOUDFLARE_API_KEY" \
	--json '{
		"cidr": "<IP_PREFIX_TO_DELEGATE>",
		"delegated_account_id": "<ACCOUNT_ID>"
	}'

2. Создайте привязки служб

В управлении IP-адресами привязки служб сопоставляют трафик, предназначенный для конкретного IP-адреса, со службой Cloudflare, через которую он должен маршрутизироваться.

Привязка службы по умолчанию

При подключении ваших IP-префиксов к Cloudflare должна существовать одна привязка службы, охватывающая весь префикс. Трафик, предназначенный для конкретного IP-адреса, по умолчанию будет направляться на эту службу. Вы также можете настроить дополнительные привязки служб как описано в следующем шаге.

  1. Сделайте GET запрос к Список служб конечную точку и запишите id связанный со службой, которую вы хотите использовать.
  1. (Дополнительно) При необходимости используйте Список префиксов конечную точку, чтобы получить или подтвердить id связанный с вашим префиксом.
  2. Сделайте POST запрос к Создание привязки службы конечную точку, указав весь подключаемый префикс BYOIP и службу, которая должна использоваться для привязки по умолчанию.

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
Create Service Binding
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/addressing/prefixes/$PREFIX_ID/bindings" \
	--request POST \
	--header "X-Auth-Email: $CLOUDFLARE_EMAIL" \
	--header "X-Auth-Key: $CLOUDFLARE_API_KEY" \
	--json '{
		"cidr": "203.0.113.0/24",
		"service_id": "<DEFAULT_SERVICE>"
	}'

Соответствующий префикс BGP будет создан автоматически. Подождите пять часов, прежде чем анонсировать префикс.

(Дополнительно) Дополнительные привязки

Если вы хотите выборочно направлять трафик в CDN или Spectrum для отдельных IP-адресов, вы можете создать дополнительные привязки служб.

  1. Определите, для каких IP-адресов потребуется дополнительная привязка. Cloudflare настоятельно рекомендует настраивать привязки служб через агрегированный блок CIDR, так как это эффективнее, чем добавлять отдельные привязки для несмежных блоков CIDR.

Пример

Префикс, защищенный Spectrum: 203.0.113.0/24

IP-адреса для перехода на CDN:

203.0.113.16
203.0.113.17
203.0.113.18
203.0.113.19
203.0.113.20
203.0.113.21
203.0.113.22
203.0.113.23

Добавьте одну отдельную привязку службы CDN для 203.0.113.16 с /29 маска подсети.

  1. Сделайте POST запрос к Создание привязки службы конечную точку, указав IP адрес, который нужно привязать к CDN или Spectrum. Укажите соответствующая маска сети по необходимости.

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
Create Service Binding
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/addressing/prefixes/$PREFIX_ID/bindings" \
	--request POST \
	--header "X-Auth-Email: $CLOUDFLARE_EMAIL" \
	--header "X-Auth-Key: $CLOUDFLARE_API_KEY" \
	--json '{
		"cidr": "203.0.113.16/29",
		"service_id": "<SERVICE_ID>"
	}'

В теле ответа начальное состояние подготовки должно быть provisioning.


   {
     "errors": [],
     "messages": [],
     "success": true,
     "result": {
       "cidr": "203.0.113.16/29",
       "id": "<SERVICE_BINDING_ID>",
       "provisioning": {
         "state": "provisioning"
         },
       "service_id": "<SERVICE_ID>",
       "service_name": "<SERVICE_NAME>"
     }
   }

После создания (или удаления) привязки сервиса потребуется от четырех до шести часов чтобы распространиться по глобальной сети Cloudflare.


3. Анонсируйте префикс BGP

После автоматического создания (согласно шаг 2), префиксы BGP изначально отозваны. После того как все ваши настройки будут выполнены, включая карты адресов2 если вы будете использовать службу CDN, переходите к анонсированию маршрута BGP для своего префикса.

  1. Используйте Обновление префикса BGP конечную точку, чтобы начать анонсирование.

Необходимые разрешения API-токена

Хотя бы одно из следующих права доступа токена требуется:
Обновление префикса BGP
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/addressing/prefixes/$PREFIX_ID/bgp/prefixes/$BGP_PREFIX_ID" \
	--request PATCH \
	--header "X-Auth-Email: $CLOUDFLARE_EMAIL" \
	--header "X-Auth-Key: $CLOUDFLARE_API_KEY" \
	--json '{
		"on_demand": {
				"advertised": true
		}
	}'

Сноски

  1. Сопоставления, которые определяют, через какой конвейер будет направляться трафик, предназначенный для заданного IP-адреса. ↩

  2. Сопоставления, которые определяют, какие IP-адреса Cloudflare использует, отвечая на DNS-запросы для проксированных хостов. ↩