← Cloudflare Magic Transit / magic-transit / how-to
Настройка маршрутов
Magic Transit Virtual Network использует таблицу маршрутизации, чтобы направлять ваш трафик из глобальной сети Cloudflare в подключённые сети через next-hop. Добавлять записи в таблицу маршрутизации Magic Transit Virtual Network можно через статическую настройку маршрутов или через маршруты, полученные при BGP-пиринге (бета) (доступно через CNI с Dataplane v2, а также через туннели IPsec и GRE).
См. Балансировка трафика с дополнительной информацией обо всех технических аспектах, связанных с:
- Приоритеты и веса маршрутов
- Региональная область действия трафика для снижения задержки
- Пиринг BGP (бета-версия)
Настройте статические маршруты
Создать статический маршрут
-
Перейдите в Маршруты страницу.
Перейдите в Маршруты ↗ -
Из раздела Маршруты вкладке выберите Создать маршрут, затем выберите WAN в качестве типа маршрута.
-
Введите понятное имя для своего маршрута в Описание.
-
В Префикс, введите диапазон ваших IP-адресов. Например,
10.10.10.100/24. -
В Туннель/Следующий переход, выберите туннель для маршрута из туннелей, созданных в Настройка конечных точек туннеля.
-
Выберите Приоритет для вашего маршрута. Чем меньше число, тем выше приоритет.
-
(Необязательно) Выберите Вес для вашего маршрута. См. Задайте приоритет и веса для статических маршрутов с примерами.
-
(Необязательно) Если вам нужно ограничить маршрут определённым регионом, вы можете сделать это в Код региона.
-
(Необязательно) Мы настоятельно рекомендуем протестировать маршрут перед его добавлением, выбрав Протестировать маршруты.
-
Выберите Добавление маршрутов.
Создайте POST запрос с помощью API чтобы создать один или несколько статических маршрутов.
Пример:
Необходимые разрешения API-токена
Хотя бы одно из следующих права доступа токена требуется:Magic WAN WriteMagic Transit Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/magic/routes" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"nexthop": "<IP_NEXT_HOP>",
"prefix": "<YOUR_IP_PREFIX>",
"priority": 0,
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"description": "<ROUTE_DESCRIPTION>",
"scope": {
"colo_names": [
"den01"
],
"colo_regions": [
"APAC"
]
},
"weight": 0
}'{
"errors": [
{
"code": 1000,
"message": "message"
}
],
"messages": [
{
"code": 1000,
"message": "message"
}
],
"result": {
"routes": [
{
"nexthop": "203.0.113.1",
"prefix": "192.0.2.0/24",
"priority": 0,
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"description": "New route for new prefix 203.0.113.1",
"scope": {
"colo_names": [
"den01"
],
"colo_regions": [
"APAC"
]
},
"weight": 0
}
]
},
"success": true
}Измените статический маршрут
- Из раздела Маршруты вкладке найдите маршрут, который нужно изменить.
- Выберите три точки рядом с ним > Изменить.
- Введите обновлённую информацию о маршруте.
- (Необязательно) Мы настоятельно рекомендуем протестировать маршрут перед его добавлением, выбрав Протестировать маршруты.
- Выберите Измените маршруты.
Создайте PUT запрос с помощью API чтобы обновить один или несколько статических маршрутов.
Пример:
Необходимые разрешения API-токена
Хотя бы одно из следующих права доступа токена требуется:Magic WAN WriteMagic Transit Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/magic/routes/$ROUTE_ID" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"nexthop": "<IP_NEXT_HOP>",
"prefix": "<YOUR_IP_PREFIX>",
"priority": 0,
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"description": "<ROUTE_DESCRIPTION>",
"scope": {
"colo_names": [
"den01"
],
"colo_regions": [
"APAC"
]
},
"weight": 0
}'{
"errors": [
{
"code": 1000,
"message": "message"
}
],
"messages": [
{
"code": 1000,
"message": "message"
}
],
"result": {
"modified": true,
"modified_route": {
"nexthop": "203.0.113.1",
"prefix": "192.0.2.0/24",
"priority": 0,
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"description": "New route for new prefix 203.0.113.1",
"scope": {
"colo_names": [
"den01"
],
"colo_regions": [
"APAC"
]
},
"weight": 0
}
},
"success": true
}Удалите статический маршрут
- Из раздела Маршруты вкладке найдите статический маршрут, который нужно удалить.
- Выберите три точки рядом с ним > Удалить.
- Подтвердите действие, установив флажок, и выберите Удалить.
Создайте DELETE запрос с помощью API чтобы удалить статический маршрут.
Пример:
Необходимые разрешения API-токена
Хотя бы одно из следующих права доступа токена требуется:Magic WAN WriteMagic Transit Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/magic/routes/$ROUTE_ID" \
--request DELETE \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{
"errors": [
{
"code": 1000,
"message": "message"
}
],
"messages": [
{
"code": 1000,
"message": "message"
}
],
"result": {
"deleted": true,
"deleted_route": {
"nexthop": "203.0.113.1",
"prefix": "192.0.2.0/24",
"priority": 0,
"id": "023e105f4ecef8ad9ca31a8372d0c353",
"description": "New route for new prefix 203.0.113.1",
"scope": {
"colo_names": [
"den01"
],
"colo_regions": [
"APAC"
]
},
"weight": 0
}
},
"success": true
}Настройте маршруты BGP
Пиринг BGP доступен при использовании следующих on-ramp:
Выберите ASN для пиринга BGP
Таблицей маршрутизации Magic Transit Virtual Network управляет клиент. Вы можете выбрать как ASN (Autonomous System Number) на стороне Cloudflare, так и ASN для вашего клиентского устройства. ASN клиентского устройства может быть 2-байтным или 4-байтным. Публичные ASN, используемые для Magic Transit проверяются в процессе подключения.
По умолчанию каждая сессия BGP-пиринга использует один и тот же ASN на стороне Cloudflare для пиринга с таблицей маршрутизации Magic Transit Virtual Network. Этот ASN называется CF Account ASN и принимает значение 13335. Вы можете задать здесь приватный 2-байтовый ASN (любое значение от 64512 и 65534, например 65000).
Чтобы задать этот ASN:
-
Перейдите на страницу Routes.
Перейдите в Маршруты ↗ -
Выберите Конфигурация WAN.
-
В CF Account ASN, введите ASN Cloudflare.
-
Выберите Обновление.
Клиентам Magic Transit также следует учитывать следующее:
- ASN на стороне Cloudflare никогда не отображается в
AS_PATHанонсов anycast от периферийной сети Cloudflare. В этих анонсах Cloudflare всегда использует ASN Cloudflare13335при необходимости с добавлением собственного ASN, как описано в ASN Cloudflare и ваш собственный ASN. - ASN клиентского устройства может быть приватным ASN или тем ASN, который используется для анонсов anycast Magic Transit на границе сети: это никак не влияет на ASN анонсируемого anycast-префикса на границе глобальной сети Cloudflare.
Настройте пиринг BGP
Нужно настроить два ASN:
- Cloudflare ASN в рамках аккаунта с именем CF Account ASN.
- По одному ASN для каждой точки входа, которую нужно настроить с BGP.
Если вы уже настроили ASN своего аккаунта Cloudflare, пропустите шаги два и три ниже.
Настройте BGP для интерконнекта
-
Перейдите на страницу Routes.
Перейдите в Маршруты ↗ -
Выберите Конфигурация WAN.
-
В CF Account ASN, введите ASN Cloudflare и выберите Обновление.
-
Перейдите в Interconnects.
Перейдите в Interconnects ↗ -
Найдите соединение CNI с Dataplane v2, которое нужно настроить через BGP > выберите три точки рядом с ним > Настройте BGP.
-
В ASN устройства клиента, введите ASN своей сети.
-
В Ключ MD5, вы можете при необходимости ввести ключ для вашей сети. Обратите внимание, что это предназначено для предотвращения случайных ошибок конфигурации и не является механизмом защиты.
-
(Необязательно) В Дополнительный список анонсируемых префиксов, введите дополнительные префиксы, которые нужно анонсировать вместе с существующими маршрутами. Оставьте это поле пустым, если не хотите анонсировать дополнительные маршруты. Типичные префиксы для настройки здесь:
- Маршрут к
0.0.0.0/0, маршрут по умолчанию: он привлекает весь трафик, идущий в интернет, при использовании Magic Transit с Egress. - Маршрут к
100.96.0.0/12, часть пространства CGNAT используется по умолчанию с Cloudflare One Client.
- Маршрут к
-
Выберите Save.
Настройте BGP для туннелей IPsec/GRE
-
Перейдите на страницу Routes.
Перейдите в Маршруты ↗ -
Выберите Конфигурация WAN.
-
В CF Account ASN, введите ASN Cloudflare и выберите Обновление.
-
Перейдите в Connectors.
Перейдите в Connectors ↗ -
В Туннели IPsec/GRE, найдите туннель, который нужно настроить с помощью BGP > выберите три точки рядом с ним > Настройте BGP.
-
В ASN устройства клиента, введите ASN своей сети.
-
В Ключ MD5, вы можете при необходимости ввести ключ для вашей сети. Обратите внимание, что это предназначено для предотвращения случайных ошибок конфигурации и не является механизмом защиты.
-
(Необязательно) В Дополнительный список анонсируемых префиксов, введите дополнительные префиксы, которые нужно анонсировать вместе с существующими маршрутами. Оставьте это поле пустым, если не хотите анонсировать дополнительные маршруты. Типичные префиксы для настройки здесь:
- Маршрут к
0.0.0.0/0, маршрут по умолчанию: он привлекает весь трафик, идущий в интернет, при использовании Magic Transit с Egress. - Маршрут к
100.96.0.0/12, часть пространства CGNAT используется по умолчанию с Cloudflare One Client.
- Маршрут к
-
Выберите Save.
Важные замечания для туннелей GRE/IPsec
При настройке пиринга BGP для туннеля (GRE или IPsec) необходимо учитывать следующее:
-
Инициировать сеанс пиринга BGP должно ваше оборудование CPE (Customer Premises Equipment). Cloudflare сеанс не инициирует.
-
Ваш BGP speaker должен устанавливать пиринг с IPv4-адресом интерфейса туннеля. Ваше устройство CPE может использовать любой IPv4-адрес для своей стороны пирингового соединения: ему не обязательно использовать второй адрес из
/31или/30подсеть интерфейса. -
Время ожидания должно быть больше 0 секунд (BGP
KEEPALIVEсообщения). Cloudflare рекомендует не менее 45 секунд. Для туннелей GRE/IPsec Cloudflare анонсирует время ожидания 90 секунд. Если вы установите значение больше 90 секунд, согласованное время ожидания все равно составит 90 секунд, в соответствии со стандартным способом согласования времени ожидания в BGP. -
Время повторного подключения должно быть небольшим (например, пять или 10 секунд).
-
Ваше устройство CPE может анонсировать до 5,000 префиксов в рамках одной сессии BGP.
-
Аутентификация MD5 необязательна. Можно использовать не более 80 символов. Поддерживаемые символы:
a-zA-Z0-9'!@#$%^&*()+[]{}<>/.,;:_-~`= \\|