Протоколы динамической маршрутизации позволяют автоматизировать построение маршрутных таблиц благодаря обмену таблицами между роутерами и корректировке на основе полученной информации. Если изменяется топология или выходит из строя маршрутизатор, новый путь строится автоматически. В RRAS Win 2012 R2 появилась поддержка протокола BGP, возможности которого были дополнены в Win 2016. Самое время разобраться.

 

Протокол BGP

Для настройки динамической маршрутизации Win-админам был доступен OSPF, но вот в Win 2008, многие компоненты которой были переписаны наново, его убрали, не добавив взамен ничего. Вероятно, в MS посчитали, что OSPF не сильно популярен, и в нем не видели необходимости. В настройках остался только статический маршрут и устаревший RIPv2, но последний серьезно уже мало кто воспринимает. Проектов третьих фирм, реализующих поддержку OSPF в Win, также за это время предложено не было, и, чтобы решить вопросы маршрутизации, использовали маршрутизаторы сторонних компаний. Самые отчаянные, чтобы запустить OSPF, ставили VM с устаревшей Win 2003.

Но время шло, виртуализация в MS постепенно набирала обороты, концепция гибридных сетей требовала скорейшего решения проблемы маршрутизации в большом количестве виртуальных сетей и систем. Как результат, в Win 2012 R2 в службе роли маршрутизации и удаленного доступа (routing and remote access service, RRAS) анонсировали поддержку BGPv4. Служба RRAS интегрирована с технологией виртуализации сети Hyper-V и может выполнять маршрутизацию сетевого трафика для множества изолированных виртуальных сетей в том же ЦОД.

Протокол BGP разрабатывался для обмена маршрутной информацией между автономными системами в глобальной Сети. BGP является дистанционно-векторным протоколом, но вместо метрики использует список автономных систем (autonomous system, AS), сквозь которые пролегает маршрут (AS Path), поэтому его рассматривают как маршрутно-векторный (path vector). Метрики устанавливаются вручную, и у разных маршрутов может быть своя маршрутная политика. Многие админы считают его достаточно сложным в настройках. Последняя версия протокола датирована 2006 годом и описана в RFC 4271.

В отличие от RIP, в BGP обмен полными таблицами между маршрутизаторами выполняется только при первом подключении, затем пересылаются лишь сообщения об изменениях, а также keep-alive и служебные сообщения. Основная функция BGP-маршрутизатора — обмен информацией о доступности сетей с другими роутерами. Информация о доступности сетей включает список AS, через которые проходит эта информация. Роутеры, с которыми производится обмен таблицами, называются соседями или пирами (peers). В качестве транспортного протокола BGP использует TCP/179. Под автономной системой понимают множество IP-сетей и роутеров, управляемых одним или несколькими операторами, имеющими единую политику маршрутизации с интернетом. Диапазоны номеров автономных систем (autonomous system number, ASN) назначаются централизованно, но диапазон 64 512–65 534 выделен под приватное использование. Поэтому говорить о том, что BGP используется только для маршрутизации в глобальной Сети, неправильно. Различают:

  • Internal BGP (внутренний BGP, iBGP) — BGP, работающий внутри AS, хотя iBGP-соседи не обязательно должны быть непосредственно соединены;
  • External BGP (внешний BGP, eBGP) — BGP, работающий между автономными системами.

Настройка iBGP и eBGP, за некоторым исключением, одинакова. Оба варианта поддерживаются в реализации от MS, а поэтому RRAS вполне может использоваться для маршрутизации трафика внутри LAN. BGP от MS совместим со всеми устройствами, поддерживающими четвертую версию протокола. Реализованы все стандартные возможности: ECMP (equal-cost multi-path routing), HoldTime-конфигурации, статистика, использование в качестве транспорта IPv4 и IPv6, перепись атрибутов, режимы работы смешанный/пассивный и многое другое.

Единственный момент, к которому нужно быть готовым, — GUI для настройки BGP не предусмотрено. Как и в Win 2012 R2, так и в Win 2016 все настройки BGP делаются исключительно при помощи PowerShell. Модуль в Win 2016 RemoteAccess получил 13 новых командлетов, 9 из которых относятся к настройкам роутинга BGP. Мы посмотрим, как реализовать iBGP. Консоль RRAS позволяет лишь активировать маршрутизатор, но в установках интерфейса по-прежнему можно добавить только правила для DHCP, IGMP, RIP и NAT.

Командлеты для управления BGP
Командлеты для управления BGP
 

Установка маршрутизатора

Чтобы начать работать с BGP, необходимо установить компонент Remote access service (RAS) и/или службу ролей Routing (маршрутизация). Второй вариант позволяет развернуть BGP-маршрутизатор без установки самой службы RAS, то есть когда нужен только роутер, без DirectAccess или VPN. Это уменьшает используемые ресурсы. При помощи диспетчера сервера процедура установки стандартная, выбираем «Удаленный доступ» и при настройке службы ролей — «Маршрутизация». В консоли PowerShell чуть проще:

PS> Install-WindowsFeature Routing

Компонент установлен, но не настроен на выполнение определенных задач. Это можно сделать из консоли «Маршрутизация и удаленный доступ» (RRaS). Открываем, переходим в «Настроить и включить маршрутизацию…» и, следуя указаниям мастера, выбираем конфигурацию. Для BGP нужно отметить «Особая конфигурация» и затем «Маршрутизация локальной сети». По окончании соглашаемся с запуском службы Routing and Remote Access.

Инициируем маршрутизатор при помощи GUI
Инициируем маршрутизатор при помощи GUI

В случае PowerShell используется командлет Install-RemoteAccess, которому нужно указать режим. Один используется для настройки мультитенантной работы, другой для VPN/маршрутизации. Для мультитенантной работы вводим

Продолжение статьи доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все статьи на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи одну статью

Заинтересовала статья, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для статей, опубликованных более двух месяцев назад.


Комментарии

Подпишитесь на ][, чтобы участвовать в обсуждении

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

Check Also

Хакер ищет авторов. Читатель? Хакер? Программист? Безопасник? Мы тебе рады!

Восемнадцать лет мы делаем лучшее во всем русскоязычном пространстве издание по IT и инфор…