Примеры настройки BGP-сессий на оборудовании различных производителей

17 апреля 2024

ID 206484

Рассмотрим топологию ниже:

примеры_настройки_bgp_сессий_2

Пример топологии

IP-адреса, которые нуждаются в защите:

  • 8.8.8.10
  • 8.8.8.11

Для защиты этих ресурсов Kaspersky DDoS Protection выделяет Клиенту IP-адреса из собственного адресного пространства.

IP-адреса Защищаемых ресурсов

Оригинальный IP-адрес Защищаемого ресурса

IP-адрес, выданный под защиту Kaspersky DDoS Protection

8.8.8.10

82.202.190.100

8.8.8.11

82.202.190.101

Выделенные IP-адреса должны быть присвоены Защищаемым ресурсам в качестве дополнительного IP.

Для отказоустойчивого подключения к Kaspersky DDoS Protection были построены туннели с топологией full-mesh, т.е. от каждого маршрутизатора Клиента до двух площадок Kaspersky DDoS Protection.

Задача состоит в организации динамической маршрутизации таким образом, чтобы:

  • трафик с IP-адресов 82.202.190.x симметрично маршрутизировался через Kaspersky DDoS Protection;
  • трафик для IP-адресов 82.202.190.x доставлялся на соответствующие серверы;
  • выбор приоритетного маршрута для исходящего трафика с IP-адресов 82.202.190.x выбирался на основе BGP-атрибута MED или метрики BGP.

Оборудование Cisco

BDR1:

interface GigabitEthernet0/0

description CORE

ip address 192.168.1.1 255.255.255.0

interface GigabitEthernet0/1

description BDR2-iBGP

ip address 10.100.1.1 255.255.255.252

interface Tunnel1

description KDP1

ip address 10.42.10.2 255.255.255.252

interface Tunnel2

description KDP2

ip address 10.42.10.6 255.255.255.252

(точки терминации туннелей опущены, как несущественные в данном примере)

BGP-роутер:

AS Клиента: 65000
AS Kaspersky DDoS Protection: 209030
Получаем от Kaspersky DDoS Protection: 5.5.5.5/32 (цель получения данного анонса раскрыта в разделе Policy-Based Routing)

Анонсируем Kaspersky DDoS Protection
82.202.190.100/32
82.202.190.101/32

router bgp 65000

no synchronization

bgp deterministic-med

network 82.202.190.100 mask 255.255.255.255

network 82.202.190.101 mask 255.255.255.255

neighbor 10.42.10.1 remote-as 209030 # KDP1

neighbor 10.42.10.1 route-map KDP-OUT out

neighbor 10.42.10.1 route-map KDP-IN in

neighbor 10.42.10.5 remote-as 209030 # KDP2

neighbor 10.42.10.5 route-map KDP-OUT out

neighbor 10.42.10.5 route-map KDP-IN in

neighbor 10.100.1.2 remote-as 65000 # iBGP with BDR2


Конфигурируем фильтры:

ip prefix-list PL-KDP-IN seq 10 permit 5.5.5.5/32

ip prefix-list PL-PROTECTED seq 10 permit 82.202.190.100

ip prefix-list PL-PROTECTED seq 20 permit 82.202.190.101

route-map KDP-IN permit 10

match ip address prefix-list PL-KDP-IN

route-map KDP-OUT permit 10

match ip address prefix-list PL-PROTECTED

Policy-Based Routing (PBR)

Применяя PBR мы решаем одновременно несколько задач:

  • изменяем маршрут только для конкретных (Защищаемых) IP-адресов для соблюдения симметрии в туннеле;
  • применяем вопреки наличию в таблице маршрутизации более специфичных маршрутов.

    ip access-list standard KDP-PBR

    permit host 82.202.190.100

    permit host 82.202.190.101

# access-list типа "standard" всегда применяется к source-адресам.

route-map KDP-PBR permit 10

match ip address KDP-PBR

set ip next-hop *recursive* 5.5.5.5

# 5.5.5.5/32 - префикс, который анонсируется по BGP от Kaspersky DDoS Protection. Директива "recursive" показывает, что данный next-hop не находится в connected сети.

# Будет рекурсивно найден маршрут до 5.5.5.5/32 и выбран в качестве настоящего next-hop. Т.е. один из "концов" GRE-туннелей с Kaspersky DDoS Protection.

# Политика PBR применяется к интерфейсу, который "смотрит" внутрь сети, и трафик, подлежащий маршрутизации, на данном интерфейсе является входящим

# (исходящим со стороны Защищаемых серверов):

interface GigabitEthernet0/0

description CORE

ip policy route-map KDP-PBR

Трафик, адресованный на Защищаемые IP-адреса, доставляется на серверы по статическим маршрутам:

ip route 82.202.190.100 255.255.255.255 8.8.8.10

ip route 82.202.190.101 255.255.255.255 8.8.8.11

Оборудование Juniper

BDR1:

interfaces {

ge-0/0 {

description CORE;

unit 0 {

family inet {

address 192.168.1.1/24;

}

}

}

ge-0/1 {

description BDR2-iBGP;

unit 0 {

family inet {

address 192.168.1.1/24;

}

}

}

gr-0/2 {

unit 0 {

description KDP1;

tunnel {

source x.x.x.x;

destination y.y.y.y;

}

family inet {

address 10.42.10.2/30;

}

}

unit 1 {

description KDP2;

tunnel {

source x.x.x.x;

destination y.y.y.y;

}

family inet {

address 10.42.10.6/30;

}

}

}

(точки терминации туннелей опущены, как несущественные в данном примере)

BGP-роутер: AS Клиента: 65000, AS Kaspersky DDoS Protection: 209030
Получаем от Kaspersky DDoS Protection: 5.5.5.5/32 (цель получения данного анонса раскрыта в разделе Policy-Based Routing).

Анонсируем Kaspersky DDoS Protection
82.202.190.100
82.202.190.101

protocols {

bgp {

group KDP {

type external;

import KDP-IN;

export KDP-OUT;

peer-as 209030;

neighbor 10.42.10.1 {

description KDP-1;

}

neighbor 10.42.10.5 {

description KDP-1;

}

family inet {

unicast {

rib-group RIB-KDP;

/* Импорт маршрутов в альтернативную таблицу. Подробнее ниже в разделе по FBF */

}

}

}

group iBGP {

type internal;

peer-as 65000;

neighbor 10.100.1.2 {

description iBGP with BDR2;

}

}

}

}

Конфигурируем фильтры:

policy-options {

prefix-list PL-KDP-IN {

5.5.5.5/32;

}

prefix-list PL-PROTECTED {

82.202.190.100/32;

82.202.190.101/32;

}

policy-statement KDP-IN {

term ACCEPT {

from {

prefix-list PL-KDP-IN;

}

then {

accept;

}

then reject;

}

policy-statement KDP-OUT {

term ACCEPT {

from {

prefix-list PL-PROTECTED;

}

then {

accept;

}

then reject;

}

}

Policy-Based Routing (PBR)

Policy-Based Routing (PBR) в терминологии Cisco соответствует термину Filter-Based Forwarding (FBF) в терминологии Juniper. Применяя PBR, мы решаем одновременно несколько задач:

  • изменяем маршрут только для конкретных (Защищаемых) IP-адресов для соблюдения симметрии в туннеле;
  • применяем вопреки наличию в таблице маршрутизации более специфичных маршрутов.

Создаем альтернативную таблицу маршрутизации. Вносим в нее маршрут, по умолчанию указывающий на IP-адрес 5.5.5.5, маршрут до которого в свою очередь анонсируется по BGP от Kaspersky DDoS Protection.

routing-instances {

RIB-KDP {

instance-type forwarding;

routing-options {

static {

route 0.0.0.0/0 next-hop 5.5.5.5 resolve;

}

}

}

}

Импорт connected-маршрутов, политика импорта из BGP.

routing-options {

rib-groups {

FBF-GROUP {

import-rib [ inet.0 RIB-KDP.inet.0 ];

import-policy KDP-IN;

}

interface-routes {

rib-group inet FBF-GROUP;

}

}

Правила firewall:

firewall {

family inet {

filter KDP-FBF {

term FBF {

from {

source-prefix-list {

PL-PROTECTED;

}

}

then {

routing-instance RIB-KDP;

}

then accept;

}

}

}

}

Политика PBR применяется к интерфейсу, который «смотрит» внутрь сети, и трафик, подлежащий маршрутизации на данном интерфейсе, является входящим (исходящим со стороны Защищаемых серверов):

interfaces {

ge-0/0 {

unit 0 {

description CORE;

family inet {

filter input KDP-FBF;

}

}

}

}

Трафик, адресованный на Защищаемые IP-адреса, доставляется на серверы по статическим маршрутам:

routing-options {

static {

route 82.202.190.100/32 next-hop 8.8.8.10;

route 82.202.190.101/32 next-hop 8.8.8.11;

}

}

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!