Соединения с клиентами по протоколу BGP описываются в блоке конфигурации protocols bgp group INET_Customers, если соединение производится по протоколу IPv4 и в блоке конфигурации protocols bgp group IPv6_Customers.
В целях уменьшения влияния анонсов отдельных клиентов на ресурсы маршрутизаторов Сети ограничивается количество префиксов, получаемых от клиентов, значением 1000 для префиксов IPv4 и 100 для IPv6 (это значение может быть изменено для отдельного клиента или пересмотрено для всей Сети при изменении общей ситуации в сети Internet). При превышении 80% от этого значения генерируется сообщение в журнале событий syslog, а при превышении 100% сессия BGP разрывается и может быть установлена вновь через 30 минут.
С целью использования нескольких равноценных маршрутов в настройки добавляется команда multipath.
Пример настройки bgp group для подключения клиентов:
}
}
multipath;
}
}
}
Для клиентов, подключающихся к услугам доступа в Internet, необходимо исключить анонс так называемых приватных автономных систем из атрибута AS_PATH.
Список приватных AS приведен по адресу: http://www.iana.org/assignments/as-numbers и составляет диапазон: AS64512 AS65535.
Несмотря на то, что архитектура сети IP/MPLS ПАО «Ростелеком» не подразумевает использование приватных номеров автономных систем, фильтрация таких AS при передаче маршрута в другие AS позволит избежать их анонсирования вследствие ошибки в настройке или злонамеренных действий внутри Сети.
Пример фильтрации приватных AS для маршрутизатора Juniper:
При приёме маршрутов от клиента необходима, прежде всего, фильтрация префиксов, приходящих от BGP маршрутизаторов сторонних сетей с целью недопущения попадания некорректной маршрутной информации, анонсируемой маршрутизаторами сторонних сетей в результате ошибки или умышленно. Фильтрация префиксов IPv4 осуществляется на базе списка, приведённого в [RFC6890]. Данный список содержит адреса следующих зарезервированных IETF и не подлежащих выделению сетей:
- 0.0.0.0/8;
- 0.0.0.0/1 – 0.0.0.0/32;
- 10.0.0.0/8;
- 100.64.0.0/10;
- 172.16.0.0/12;
- 192.168.0.0/16;
- 127.0.0.0/8;
- 192.0.0.0/24;
- 192.0.2.0/24;
- 169.254.0.0/16;
- 192.88.99.0/24;
- 198.18.0.0/15;
- 198.51.100.0/24;
- 203.0.113.0/24;
- 224.0.0.0/4;
- 240.0.0.0/4;
Фильтрация префиксов IPv6 также осуществляется на базе списка, указанного в [RFC6890] и содержащего следующие префиксы:
- ::/128;
- ::1/128;
- 64:ff9b::/96;
- ::ffff:0:0/96;
- 100::/64;
- 2001::/23;
- 2001:2::/48;
- 2001:10::/28;
- 2001:DB8::/32;
- 2002::/16;
- FF00::/8;
- FE80::/10;
- FEC0::/10;
- FC00::/7;
Помимо этого, с целью уменьшения общего числа префиксов в глобальной таблице маршрутизации фильтруются все префиксы с маской, длина которой превышает 24 бита для IPv4 и 48 бит для IPv6.
Такая же фильтрация применяется и при передаче префиксов за пределы автономной системы Ростелеком.
Пример политики для фильтрации неиспользуемых в сети Internet префиксов:
После проверки разрешённой длины префиксов и принадлежности публичным диапазонам адресов производятся следующие операции с полученными от клиента маршрутами:
- запрет приёма префиксов Ростелеком;
- запрет приёма маршрута по умолчанию;
- запрет приёма служебных и зарезервированных BGP Community;
- установка параметров по умолчанию;
- установка BGP Community, соответствующих данному региональному филиалу и МРФ;
- проверка наличия BGP Community для сброса, назначение нового BGP NextHop;
- проверка наличия BGP Community, изменяющих Local Preference, установка запрошенного значения.
Пример обработки маршрутов при приёме от клиента на RGR:
Для корректной реализации пиринговой политики в сети при приёме маршрутов от клиентов на сервисных маршрутизаторах BPE устанавливается значение Local Pereference, равное 950. Для сервисных маршрутизаторов Juniper вместо политики INET_CUSTOMER_in можно использовать политику INET_BPE_CUSTOMER_in, пример которой приведён далее.
Пример политики INET_BPE_CUSTOMER_in:
В сети ПАО «Ростелеком» для защиты от некорректных маршрутов применяется фильтрация на основе информации Routing Arbiter Database (раздел «Принципы защиты оборудования регионального уровня»). Для формирования имени фильтра используется форма CUSTOMER:<ASN>, где <ASN> – номер автономной системы клиента или название AS-SET, AS-NUM или AUT-NUM, зарегистрированные в RIR. Такой фильтр добавляется в настройки после фильтра INET_CUSTOMER_in (или INET_BPE_CUSTOMER_in).
Пример дополнительного фильтра при приёме маршрутов от клиента:
При передаче префиксов клиенту передаются в зависимости от типа клиента:
- агрегированные префиксы Ростелеком и маршрут по умолчанию;
- только агрегированные префиксы Ростелеком;
- только маршрут по умолчанию;
- все префиксы от апстримов и агрегированные префиксы Ростелеком;
BGP Community Ростелеком удаляются, за исключением 12389:X.
Пример политики анонсирования маршрутов клиенту для маршрутизаторов Juniper:
В ряде случаев необходимо передавать маршрут по умолчанию клиентам, которым передаётся полная таблица маршрутизации. В этом случае вместе с политиками INET_CUSTOMER_full_out и INET_v6_CUSTOMER_full_out применяются политики announce-default и announce-v6-default соответственно.
Пример политики анонсирования маршрута по умолчанию:
policy-options { policy-statement { announce-default { term accept-default-route { from { route-filter 0.0.0.0/0 exact; } then { metric 0; accept; } } } announce-v6-default { term accept-default-route { from { route-filter ::/0 exact; } then { metric 0; accept; } } } } }
|
При подключении некоторых клиентов может потребоваться передача им community, описывающих источник маршрута (номер upstream или peer: 12389:15ZZ, 12389:16ZZ и 12389:17ZZ.
В этом случае вместо policy-statement remove-communities применяется policy-statement remove-communities-except-sources.
Пример политики анонсирования маршрутов клиенту для маршрутизаторов Juniper: