Протокол BGP в Windows Server 2012 R2 и 2016
Встроенная реализация BGP в Windows Server 2012 R2 и 2016 — изучаем и настраиваем
Когда в Windows Server 2008 убрали OSPF, это было печально. Остался только RIP (видимо, для того, чтобы честно написать, что в продукте присутствует поддержка динамической маршрутизации). Это прискорбие, в общем-то, имело под собой логические обоснования – очень мало людей обладают настолько сложными патологиями, чтобы купить Windows Server ради роли OSPF-роутера. Но время идёт, и сценарий вида “мы подключены к двум разным провайдерам, хотим и отказоустойчивости, и балансировки, и управляемости” уже не экзотичен, да и цены на подключение ко второму провайдеру и свой номер AS всё ниже. А в данной ситуации выход один – BGPv4. Поэтому очень здорово, что сетевая подсистема Windows Server 2012 R2 обогатилась его поддержкой.
Давайте разбираться, что к чему. Нам будет интересно – ведь этого материала нет в курсах, и – . – самое страшное для тренеров Microsoft – у BGP в Windows Server 2012 R2 отсутствует GUI. Но нам это фиолетово.
Я предполагаю, что вы знаете маршрутизацию и BGP хотя бы на уровне Cisco ROUTE 2.0, больше – лучше. Поэтому тут не будет рассказа про все атрибуты BGP, про логику выбора лучшего пути, и прочего. Статья про конкретную реализацию, а не про достаточно объёмный и сложный протокол.
BGP в Windows Server
- Подготавливаем Windows Server 2012 R2 к работе с BGP
- Включаем BGP на Windows Server 2012 R2
- Устанавливаем связь с BGP-пирами
- Работаем с маршрутами BGP на Windows Server 2012 R2
- Настраиваем политики BGP-пиринга на Windows Server 2012 R2
- Настраиваем политики BGP-префиксов на Windows Server 2012 R2
Подготавливаем Windows Server 2012 R2 к работе с BGP
Первым делом – установим компонент маршрутизации. Визуально это тот самый, классический RRaS, но внутри там скрывается BGP 🙂
Install-WindowsFeature Routing
ОК, компонент установлен. Но не инициализирован в плане стоящих перед ним задач. Откройте оснастку RRaS, нажмите правой кнопкой на имени сервера, выберите Configure and Enable Routing and Remote Access, там Custom Configuration и в ней LAN. Можно выбрать ещё что-нибудь дополнительно, не суть – нам нужна поддержка LAN Routing. RRaS предложит запустить сервис после конфигурирования – согласитесь, а после зайдите в services.msc и переключите службу Routing and Remote Access из Automatic (Delayed Start) в Automatic.
Движок установили – обновим help и проверим наличие командлетов:
Update-Help Get-Command *BGP*
Включаем BGP на Windows Server 2012 R2
На данный момент наш BGP-роутер не инициализирован. Для его старта, если помните, нам нужен минимальный комплект информации – номер нашей AS и Router ID.
Тут нас ждёт первое знакомство с серьёзными сетевиками из Microsoft – с их точки зрения Router ID в BGP – это “Internet IPv4 address of a local BGP router”. Не обращаем внимания – мы ж знаем, что такое ID, а что такое IP. Включаем. Для теста выберем частный номер AS – 65000 и установим идентификатор 1.1.1.1.
Add-BGPRouter -LocalASN 65000 -BGPIdentifier “1.1.1.1”
Get-BGPRouter
Судя по всему, включилось. Если что, можно выключить опять – применив командлет Remove-BGPRouter без параметров.
Что мы сможем поправить в глобальных настройках роутера, до того, как добавим eBGP-пира?
Настройка обработки MED
Включение поддержки IPv6
Устанавливаем связь с BGP-peer’ами
Обязательные параметры BGP-пира в Windows Server 2012 R2
Параметр -LocalIPAddress
Параметр -PeerIPAddress
Параметр -PeerASN
Параметр -PeerName
Настройка тайм-аутов и holdtime для BGP на Windows Server 2012 R2
Настройка логики установки сессии с пиром для BGP на Windows Server 2012 R2
Настройка weight’а префиксов от пира для BGP на Windows Server 2012 R2
Настройка лимита префиксов от пира для BGP на Windows Server 2012 R2
Работаем с маршрутами BGP на Windows Server 2012 R2
Настраиваем политики BGP-пиринга на Windows Server 2012 R2
Настраиваем политики BGP-префиксов на Windows Server 2012 R2
Фильтрация по AS в BGPRoutingPolicy
Фильтрация по префиксу в BGPRoutingPolicy
Фильтрация по Next Hop в BGPRoutingPolicy
Очистка MED в BGPRoutingPolicy
Назначение MED в BGPRoutingPolicy
Назначение Local Preference в BGPRoutingPolicy
Замена next hop в BGPRoutingPolicy
Добавление и удаление bgp community в BGPRoutingPolicy
Итоги
Что хочу сказать, коллеги. Нововведение – крайне полезное и нужное, закрывающее собой целый класс задач. Сетевая сторона Windows Server 2012 R2 действительно ощутимо усилилась.
Тенденция вообще интересна – кто бы мог подумать лет 5 назад, что сетевые решения на базе СПО постепенно скатятся в low-end, а всё серьёзное в сетях будет работать только на качественном проприеритарном коде (Cisco IOS, JunOS) и что в Windows Server будет встроен BGP? Интересная ситуация. Ну а дальше, думаю, будет ещё интереснее.
Настройка маршрутизатора на основе Windows Server 2012R2
Настройка маршрутизатора на основе Windows Server 2012R2
В статье показано как настроить ОС Windows Server 2012 R2 в качестве маршрутизатора. Настраиваемый сервер имеет 2 физических сетевых интерфейса. Каждому сетевому интерфейсу будет назначен статический IP адрес из разных подсетей. Для удобства, сетевые интерфейсы можно переименовать.
Сетевая карта 1 (сетевая карта подключена во внутреннюю сеть):
Имя: in
IP: 10.0.100.1
Сетевая карта 2 (сетевая карта во внешней сети):
Имя: out
IP: 172.16.0.1
Цель: организовать маршрутизацию пакетов из локальной сети 10.0.100.1 во внешнюю сеть 172.16.0.1.
Для начала необходимо добавить новую роль «Удаленный доступ» (Remote Access) на сервере, для этого откроем консоль «Диспетчер серверов» (Server Manager):
Выбираем Manage -> «Добавить роли и компоненты»(Add Roles and Features), выбираем галкой роль «Удаленный доступ» (Remote Access):
В составе роли выбираем службу «Маршрутизация» (Routing), по умолчанию должны установиться дополнительные компоненты, соглашаемся, и запускаем ее установку (Install):
После окончания установки роли открываем консоль «Маршрутизация и удаленный доступ»(Routing and Remote Access) (Ctr + R, rrasmgmt.msc), щелкаем по имени сервера (с красной стрелкой) и выбираем «Настроить и включить маршрутизацию и удаленный доступ» (Configure and Enable Routing and Remote Access).
В окне мастера выбираем пункт «Подключение на основе NAT» (Network Address Translation, NAT)
Далее выбираем сетевой интерфейс, подключённый ко внешней сети (или Интернету) (в примере это сетевой интерфейс out с ip 172.16.0.1). Данный сетевой интерфейс будет «публичным интерфейсом» нашего NAT.
Далее будет предложено указать должен ли NAT, обеспечить клиентов внутренней сети службами DHCP\DNS. Обычно, данный функционал во внутренней сети уже присутствует, поэтому выбираем пункт «Установить службы сопоставления имен и адресов позднее».
Завершение мастера сервера маршрутизации и удаленного означает, что базовые настройки маршрутизации на Windows Server 2012 R2 завершены. В данной конфигурации сервер должен выполнять маршрутизацию пакетов между двух подсетей, при этом выполнять трансляцию сетевых адресов (NAT).
Чтобы убедиться что функционал работает:
- В консоли «RRAS» откройте свойства сервера, вкладку «Общие» (General) и убедитесь, что IPv4 маршрутизация включена и счетчики входящих и выходящих байтов увеличиваются.
- Проверить работу маршрутизации можно, указав на клиентском ПК во внутренней сети (к которой подключен сетевой интерфейс «in») в качестве шлюза IP-адрес сервера (10.0.100.1), и выполнить ping или трассировку маршрута к ресурсу, расположенному во внешней сети или в интернете. Команда ping должна быть успешна.
Настройка маршрутизатора на базе Windows Server 2012 R2
В этой статье посмотрим, как с помощью встроенных средств на базе сервера с Windows Server 2012 R2 организовать простой межсетевой маршрутизатор. И хотя на практике маршрутизаторы на базе компьютеров используются довольно редко (аппаратные маршрутизаторы, как правило, имеют более высокую производительность, надежность и несколько дешевле выделенного компьютера), в тестовых или виртуальных средах, когда нужно срочно настроить маршрутизацию между несколькими подсетями, маршрутизатор на базе Windows Server вполне себе приемлемое решение.
Итак, в роли маршрутизатора будет выступать сервер с ОС Windows Server 2012 R2. Сервер имеет 2 сетевых интерфейса: физических или виртуальных, если сервер запущен на гипервизоре. Каждому интерфейсу сервера назначен выделенный IP адрес из различных подсетей. Для удобства, мы переименовали названия сетевых интерфейсов в Панели управления сетями и общим доступом:
Сетевая карта 1 (сетевая карта подключена во внутреннюю LAN сеть):
Имя: LAN
IP: 10.0.1.1
Сетевая карта 2 (сетевая карта во внешней сети ):
Имя: Internet
IP: 192.168.1.20
Наша задача – организовать маршрутизацию пакетов из локальной подсети 10.0.1.0 во внешнюю подсеть 192.168.1.0 (как правило, такая сеть имеет выход в интернет) через NAT. Такую схему можно реализовать в случае необходимости организации доступа клиентов из внутренней сети в интернет.
Маршрутизация в Windows Server 2012 R2 реализуется на базе роли Remote Access (RRAS). Данная служба появилась еще в Windows Server 2003 и до текущей в версии Windows Server ее интерфейс и процесс настройки практически не изменился.
В первую очередь нужно установить роль Remote Access. Для этого откроем консоль Server Manager, выбираем Manage -> Add Roles and Features, находим и отмечаем роль Remote Access, в ее составе выбираем службу Routing, и, соглашаясь со всеми предложенными по умолчанию компонентами, запускаем ее установку (Install).
После окончания установки открываем консоль Routing and Remote Access (rrasmgmt.msc), щелкаем по имени сервера (с красной стрелкой) и выбираем Configure and Enable Routing and Remote Access.
В открывшемся окне выбираем пункт Network Address Translation (NAT).
На следующей шаге (NAT Internet Connection) нужно выбрать сетевой интерфейс, подключённый ко внешней сети / Интернету (в нашем примере это интерфейс Internet с ip 192.168.1.20). Этот интерфейс будет «публичным интерфейсом» нашего NAT роутера.
Далее будет предложено указать должен ли NAT роутер обеспечить клиентов внутренней сети сервисами DHCP и DNS. Как правило, этот функционал во внутренней сети уже имеется, поэтому в нем мы не нуждаемся.
На этом базовая настройка маршрутизации на Windows Server 2012 R2 завершена. Сервер уже должен выполнять маршрутизацию пакетов между двумя подключенными сетями и выполнять трансляцию сетевых адресов (NAT).
Чтобы в этом убедиться, в консоли RRAS откройте свойства сервера. На вкладке General показано, что IPv4 маршрутизация включена (т.е. пакеты IPv4 будут пересылаться с одной сетевой карты на другую).
Проверить работу маршрутизации можно, указав на клиентском компьютере во внутренней сети (к которой подключен интерфейс сервера LAN) в качестве шлюза IP-адрес сервера (10.0.1.1), и выполнить ping или трассировку маршрута к ресурсу, расположенному во внешней сети или интернете. Эти попытки должны быть успешными.
В нашем случае на сервере осуществялется статическая маршрутизация. Если нужно добавить новый маршрут, щелкните ПКМ по Static Routes, выберите пункт меню New static route и создайте новое статическое правило маршрутизации.