Фильтры маршрутов позволяют использовать подмножество поддерживаемых служб через пиринг Майкрософт. В этой статье описано, как настроить фильтры маршрутов для каналов ExpressRoute и управлять ими.
Службы Microsoft 365, такие как Exchange Online, SharePoint Online и Skype для бизнеса, доступны через пиринг Майкрософт. При настройке пиринга Майкрософт в канале ExpressRoute все префиксы, связанные с этими службами, объявляются через сеансы BGP. Каждый префикс имеет значение сообщества BGP для идентификации службы, которая она предлагает. Список значений сообщества BGP и их соответствующих служб см. в сообществах BGP.
Подключение ко всем службам Azure и Microsoft 365 может привести к большому количеству префиксов, объявляемых через BGP, значительно увеличив размер таблиц маршрутов. Если вам требуется только подмножество служб, предлагаемых через пиринг Майкрософт, можно уменьшить размер таблицы маршрутов следующим образом:
- Фильтрация нежелательных префиксов с помощью фильтров маршрутов в сообществах BGP— распространенная сетевая практика.
- Определение фильтров маршрутов и применение их к каналу ExpressRoute. Фильтр маршрутов — это ресурс, который позволяет выбрать службы, которые вы планируете использовать через пиринг Майкрософт. Маршрутизаторы ExpressRoute отправляют префиксы только для служб, определенных в фильтре маршрутов.
О фильтрах маршрута
При настройке пиринга Майкрософт в канале ExpressRoute маршрутизаторы Microsoft edge устанавливают сеансы BGP с пограничными маршрутизаторами через поставщика услуг подключения. Маршруты не объявляются в вашей сети, пока не свяжите фильтр маршрутов.
Фильтр маршрутов позволяет указать службы, которые вы хотите использовать через пиринг Microsoft ExpressRoute. Он выступает в качестве разрешенного списка значений сообщества BGP. После определения и подключения фильтра маршрутов к каналу ExpressRoute все префиксы, которые сопоставляются со значениями сообщества BGP, объявляются в вашей сети.
Чтобы подключить фильтры маршрутов со службами Microsoft 365, необходимо авторизовать использование служб Microsoft 365 через ExpressRoute. Если вы не авторизованы, операция подключения фильтров маршрутов завершается ошибкой. Дополнительные сведения о получении разрешения см. в статье Azure ExpressRoute для Microsoft 365.
Внимание
Пиринг Майкрософт каналов ExpressRoute, настроенных до 1 августа 2017 г., будет иметь все префиксы службы Microsoft Office, объявленные через пиринг Майкрософт, даже без фильтров маршрутов. Для каналов, настроенных 1 или после 1 августа 2017 г., префиксы не будут объявлены, пока фильтр маршрутов не будет подключен к каналу.
Необходимые компоненты
Перед началом настройки просмотрите предварительные требования и рабочие процессы.
- Убедитесь, что у вас есть активный канал ExpressRoute с настроенным пирингом Майкрософт. Инструкции см. в следующих руководствах.
- Необходимо иметь активный канал ExpressRoute с установленным пирингом Майкрософт. Для выполнения этих задач можно использовать следующие инструкции:
-
Создайте канал ExpressRoute и активируйте его у вашего поставщика услуг связи, прежде чем продолжить. Канал ExpressRoute должен находиться в подготовленном и включенном состоянии.
-
Создайте пиринг с Microsoft, если вы управляете сеансом BGP напрямую. Или попросите своего поставщика услуг подключения настроить пиринг Microsoft для вашего канала.
Azure Cloud Shell
Azure размещает Azure Cloud Shell, интерактивную среду оболочки, которую можно использовать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для выполнения кода в этой статье можно использовать предустановленные команды Cloud Shell, не устанавливая ничего в локальной среде.
Чтобы запустить Azure Cloud Shell, выполните приведенные действия.
| Вариант |
Пример/ссылка |
| Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. |
|
| Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. |
|
| Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. |
|
Чтобы использовать Azure Cloud Shell, выполните следующие действия:
Запустите Cloud Shell.
Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.
Вставьте код или команду в сеанс Cloud Shell, выбрав CTRL+SHIFT+V в Windows и Linux или выбрав Cmd+Shift+V в macOS.
Нажмите Enter, чтобы запустить код или команду.
- Войдите в учетную запись Azure и выберите подписку.
Если вы используете Azure Cloud Shell, вы автоматически войдете в учетную запись Azure после нажатия кнопки "Попробовать". Чтобы войти локально, откройте консоль PowerShell с повышенными привилегиями и выполните командлет для подключения.
Connect-AzAccount
Если у вас есть несколько подписок Azure, запросите их список.
Get-AzSubscription
укажите подписку, которую нужно использовать;
Select-AzSubscription -SubscriptionName "Name of subscription"
Чтобы успешно подключиться к службам через пиринг Майкрософт, необходимо выполнить следующие действия по настройке:
- Необходимо иметь активный канал ExpressRoute с установленным пирингом Майкрософт. Для выполнения этих задач можно использовать следующие инструкции:
-
Создайте канал ExpressRoute и активируйте его у вашего поставщика услуг связи, прежде чем продолжить. Канал ExpressRoute должен находиться в подготовленном и включенном состоянии.
-
Создайте пиринг с Microsoft, если вы управляете сеансом BGP напрямую. Или попросите своего поставщика услуг подключения настроить пиринг Microsoft для вашего канала.
Azure Cloud Shell
Azure размещает Azure Cloud Shell, интерактивную среду оболочки, которую можно использовать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для выполнения кода в этой статье можно использовать предустановленные команды Cloud Shell, не устанавливая ничего в локальной среде.
Чтобы запустить Azure Cloud Shell, выполните приведенные действия.
| Вариант |
Пример/ссылка |
| Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. |
|
| Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. |
|
| Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. |
|
Чтобы использовать Azure Cloud Shell, выполните следующие действия:
Запустите Cloud Shell.
Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.
Вставьте код или команду в сеанс Cloud Shell, выбрав CTRL+SHIFT+V в Windows и Linux или выбрав Cmd+Shift+V в macOS.
Нажмите Enter, чтобы запустить код или команду.
Если требуется установить и использовать интерфейс командной строки локально, для работы с этим учебником понадобится версия Azure CLI 2.0.28 или более поздняя. Чтобы узнать версию, выполните команду az --version. Если вам нужно установить или обновить, см. статью "Установка Azure CLI".
Войдите в учетную запись Azure и выберите подписку.
Чтобы начать настройку, войдите в свою учетную запись Azure. Если использована кнопка "Попробовать", вход в систему осуществлен автоматически и можно пропустить этап входа. Для подключения используйте следующие примеры:
az login
Проверьте подписки на вашей учетной записи.
az account list
Выберите подписку, для которой требуется создать канал ExpressRoute.
az account set --subscription "<subscription ID>"
Получение списка префиксов и значений сообщества BGP
Получите список значений сообщества BGP. Найдите значения сообщества BGP, связанные со службами, доступными через пиринг Майкрософт на странице требований к маршрутизации ExpressRoute.
Чтобы получить список значений сообщества BGP и префиксов, связанных со службами, которые доступны через пиринг Майкрософт, используйте следующий командлет:
Get-AzBgpServiceCommunity
Чтобы получить список значений сообщества BGP и префиксов, связанных со службами, которые доступны через пиринг Майкрософт, используйте следующий командлет:
az network route-filter rule list-service-communities
Создание списка значений, которые вы хотите использовать
Перечислите значения сообщества BGP, которые вы хотите использовать в фильтре маршрутов.
Создание фильтра маршрута и правила фильтрации
Фильтр маршрутов может иметь только одно правило, которое должно иметь тип Allow. Это правило может включать список значений сообщества BGP.
Выберите " Создать ресурс " и выполните поиск фильтра маршрутов:
Поместите фильтр маршрутов в группу ресурсов. Убедитесь, что расположение соответствует каналу ExpressRoute. Выберите Просмотр и создание, а затем щелкните Создать.
Создание правила фильтрации
Чтобы добавить и обновить правила, выберите вкладку управляемого правила для фильтра маршрутов.
Затем выберите службы, к которым вы хотите подключиться из раскрывающегося списка, и сохраните правило.
Фильтр маршрутов может иметь только одно правило, и правило должно быть типом Allow. С этим правилом может быть связан список значений сообщества BGP. Команда az network route-filter create позволяет создать только ресурс фильтра маршрутов. После создания ресурса нужно создать правило и подключить его к объекту фильтра маршрута.
Чтобы создать ресурс фильтра маршрутов, выполните следующую команду:
New-AzRouteFilter -Name "MyRouteFilter" -ResourceGroupName "MyResourceGroup" -Location "West US"
Чтобы создать правило фильтра маршрута, выполните следующую команду:
$rule = New-AzRouteFilterRuleConfig -Name "Allow-EXO-D365" -Access Allow -RouteFilterRuleType Community -CommunityList 12076:5010,12076:5040
Чтобы добавить правило фильтрации в маршрут фильтра, выполните следующую команду:
$routefilter = Get-AzRouteFilter -Name "MyRouteFilter" -ResourceGroupName "MyResourceGroup"
$routefilter.Rules.Add($rule)
Set-AzRouteFilter -RouteFilter $routefilter
Фильтр маршрута может иметь только одно правило, и оно должно иметь тип "Разрешить". С этим правилом может быть связан список значений сообщества BGP. Команда az network route-filter create позволяет создать только ресурс фильтра маршрутов. После создания ресурса нужно создать правило и подключить его к объекту фильтра маршрута.
Чтобы создать ресурс фильтра маршрутов, выполните следующую команду:
az network route-filter create -n MyRouteFilter -g MyResourceGroup
Чтобы создать правило фильтра маршрута, выполните следующую команду:
az network route-filter rule create --filter-name MyRouteFilter -n CRM --communities 12076:5040 --access Allow -g MyResourceGroup
Присоедините фильтр маршрута к цепи ExpressRoute
Подключите фильтр маршрутов к каналу, нажав кнопку +Добавить канал и выбрав канал ExpressRoute из раскрывающегося списка.
Если поставщик подключений настраивает пиринг для канала ExpressRoute, обновите канал на странице канала ExpressRoute перед нажатием кнопки +Добавить канал .
Чтобы подключить фильтр маршрутов к каналу ExpressRoute, выполните следующую команду, если вы установили только пиринг Майкрософт:
$ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "MyResourceGroup"
$index = [array]::IndexOf(@($ckt.Peerings.PeeringType), "MicrosoftPeering")
$ckt.Peerings[$index].RouteFilter = $routefilter
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
Чтобы подключить фильтр маршрутов к каналу ExpressRoute, выполните следующую команду:
az network express-route peering update --circuit-name MyCircuit -g ExpressRouteResourceGroupName --name MicrosoftPeering --route-filter MyRouteFilter
Стандартные задачи
Получение свойств фильтра маршрута
Просмотрите свойства фильтра маршрутов, открыв ресурс на портале.
Чтобы получить свойства фильтра маршрута, выполните следующие действия:
Чтобы получить ресурс фильтра маршрута, выполните следующую команду:
$routefilter = Get-AzRouteFilter -Name "MyRouteFilter" -ResourceGroupName "MyResourceGroup"
Получите правила фильтра маршрута для ресурса фильтра маршрута, выполнив следующую команду:
$routefilter = Get-AzRouteFilter -Name "MyRouteFilter" -ResourceGroupName "MyResourceGroup"
$rule = $routefilter.Rules[0]
Чтобы получить свойства фильтра маршрута, выполните следующую команду.
az network route-filter show -g ExpressRouteResourceGroupName --name MyRouteFilter
Обновление свойств фильтра маршрутов
Обновите список значений сообщества BGP, подключенных к каналу, нажав кнопку "Управление правилом".
Выберите нужные сообщества служб и щелкните Сохранить.
Если фильтр маршрутов уже подключен к каналу, изменения объявлений префикса автоматически распространятся в списке сообщества BGP в рамках установленных сеансов BGP. Вы можете обновить список сообщества BGP вашего фильтра маршрута с помощью следующей команды:
$routefilter = Get-AzRouteFilter -Name "MyRouteFilter" -ResourceGroupName "MyResourceGroup"
$routefilter.rules[0].Communities = "12076:5030", "12076:5040"
Set-AzRouteFilter -RouteFilter $routefilter
Если фильтр маршрутов уже подключен к каналу, изменения объявлений префикса автоматически распространятся в списке сообщества BGP в рамках установленных сеансов BGP. Вы можете обновить список сообщества BGP вашего фильтра маршрута с помощью следующей команды:
az network route-filter rule update --filter-name MyRouteFilter -n CRM -g ExpressRouteResourceGroupName --add communities '12076:5040' --add communities '12076:5010'
Окончательное удаление фильтра маршрутов из канала ExpressRoute
Отсоедините канал от фильтра маршрутов, щелкнув канал правой кнопкой мыши и выбрав "Отсоединить".
Как только фильтр маршрутов отсоединяется от канала ExpressRoute, префиксы перестают объявляться через сеанс BGP. Фильтр маршрутов можно отсоединить от канала ExpressRoute с помощью следующей команды:
$ckt.Peerings[0].RouteFilter = $null
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
Как только фильтр маршрутов отсоединяется от канала ExpressRoute, префиксы перестают объявляться через сеанс BGP. Фильтр маршрутов можно отсоединить от канала ExpressRoute с помощью следующей команды:
az network express-route peering update --circuit-name MyCircuit -g ExpressRouteResourceGroupName --name MicrosoftPeering --remove routeFilter
Очистка ресурсов
Удалите фильтр маршрутов, нажав кнопку "Удалить ". Убедитесь, что фильтр маршрутов не связан с любым каналом перед этим.
Фильтр маршрутов можно удалить, только если он не подключен к каналу. Убедитесь, что фильтр маршрутов не подключен к цепи перед его удалением. Фильтр маршрутов можно удалить, используя следующую команду:
Remove-AzRouteFilter -Name "MyRouteFilter" -ResourceGroupName "MyResourceGroup"
Фильтр маршрутов можно удалить, только если он не подключен к каналу. Убедитесь, что фильтр маршрутов не подключен к цепи перед его удалением. Фильтр маршрутов можно удалить, используя следующую команду:
az network route-filter delete -n MyRouteFilter -g MyResourceGroup
Дальнейшие шаги
Дополнительные сведения о примерах конфигурации маршрутизаторов см. в следующих статьях: