Регистрация IP адресов
О нас                 Услуги                 MikroBill Биллинг                 Полезное                 Всё о IPv6                 Контакты


ISP Servis: Статьи и инструкции



Настройка BGP на CISCO маршрутизаторах
Для примера используем схему изображенную на рисунке -



Настройка BGP почти идентична настройке на Quagga.
Настройка BGP на Cisco роутере из AS12345 -

Базовая настройка
CiscoRouter#show run
Building configuration...

Current configuration : 7452 bytes
!
! Last configuration change at 07:56:35 UTC Wed Jan 5 2011 by xxxxxxx
! NVRAM config last updated at 07:55:38 UTC Wed Jan 5 2011 by xxxxxxx
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
service sequence-numbers
!
hostname CiscoRouter
!
ip name-server X.X.X.X
!
username test privilege 15 secret 5 XXXXXXXXXXXXXXXXXXXXXXXx

После базовой настройки идет настройка Ethernet интерфейса, где GE0/0 подключен к сети ISP1, GE0/1 к сети ISP2 а GE0/0.2 к нашей внутренней сети.

interface GigabitEthernet0/0
ip address 192.168.255.2 255.255.255.252
ip flow ingress
duplex auto
speed auto
media-type sfp
negotiation auto
no mop enabled
!
interface GigabitEthernet0/0.2
encapsulation dot1Q 2
ip address 109.205.240.1 255.255.255.0
ip flow ingress
ip virtual-reassembly
!
!
interface GigabitEthernet0/1
ip address 10.10.10.102 255.255.255.252
ip flow ingress
duplex auto
speed auto
media-type rj45
no mop enabled

Настройка BGP процесса
router bgp 12345
no synchronization
bgp router-id 192.168.255.25
bgp log-neighbor-changes
network 109.205.240.0 mask 255.255.252.0

От поля router bgp до поля network указывается основная настройка BGP процесса.
12345 - номер AS который вы получите от RIPE NCC.
Bgp router-id - IP-адрес который вы получите от вашего провайдера, будет также использоваться как идентификатор BGP роутера. Network - показывает какой prefix будете анонсировать из вашей AS.
Далее следует настройка пиринг партнеров BGP -

neighbor 192.168.255.29 remote-as 11111
neighbor 192.168.255.29 description ISP1
neighbor 192.168.255.29 password 7 112SADAFAFSFJJJGFF42532
neighbor 192.168.255.29 next-hop-self
neighbor 192.168.255.29 soft-reconfiguration inbound
neighbor 192.168.255.29 route-map ISP1-in in
neighbor 192.168.255.29 route-map ISP1-out out
neighbor 10.10.10.101 remote-as 2.61150
neighbor 10.10.10.101 description ISP2
neighbor 10.10.10.101 password 7 112SADAFAFSFJJJGFF42532
neighbor 10.10.10.101 next-hop-self
neighbor 10.10.10.101 send-community
neighbor 10.10.10.101 soft-reconfiguration inbound
neighbor 10.10.10.101 route-map ISP2-in in
neighbor 10.10.10.101 route-map ISP2-out out
no auto-summary

Neighbor и все что дальше следует, является настройкой BGP соединения с каждым провайдером, в нашем случае 192.168.255.29 - это ISP1 и 10.10.10.101 - это ISP2.
Поля Neighbor 192.168.255.29, и далее - это настройка BGP соединения для первого ISP. В нашем случае это резервный канал, он же ISP1.
Password строка определяет MD5 пароль, который используется для BGP соединения. Пароль должен быть установлен как в нашей сети так и у ISP1.
Последние две строки - настройка двух route map для входящих и исходящих путей от/в ISP1.
Для всех полученных от ISP1 маршрутов используется правило ISP1-in, а для всех посланных ISP1 маршрутов используем ISP1-out.
Таким же способом настраиваем параметры BGP соединения для ISP2.
Здесь бы хотелось обратить Ваше внимание на одну особенность Cisco маршрутизатора - если у Вас 32-битная AS (4 байта), необходимо его ввести в формате AS dot у некоторых версий IOS. Здесь найдете простой калькулятор , который поможет Вам преобразовать ваши AS номера в AS dot.

ip as-path access-list 1 permit _6451[2-9]_
ip as-path access-list 1 permit _645[2-9][0-9]_
ip as-path access-list 1 permit _64[6-9][0-9][0-9]_
ip as-path access-list 1 permit _65[0-9][0-9][0-9]_
!
ip prefix-list bogons description bogus nets
ip prefix-list bogons seq 20 permit 127.0.0.0/8 le 32
ip prefix-list bogons seq 30 permit 10.0.0.0/8 le 32
ip prefix-list bogons seq 35 permit 172.16.0.0/12 le 32
ip prefix-list bogons seq 40 permit 192.168.0.0/16 le 32
ip prefix-list bogons seq 45 permit 169.254.0.0/16 le 32
ip prefix-list bogons seq 50 permit 224.0.0.0/4 le 32
ip prefix-list bogons seq 55 permit 240.0.0.0/4 le 32
!
ip prefix-list our-CIDR-blocks seq 5 permit 91.218.188.0/22 le 32

Ip prefix list a ip-as path access list - команды для настройки фильтров.
В этом случае к фильтру bogons добавим все сети Bogon, которые не хотим принимать в нашу AS.
В as-path access-list 1 определим номера приватных AS, которые нам также не нужны в нашем BGP маршрутизаторе.

route-map ISP1-in deny 100
match as-path 1
!
route-map ISP1-in deny 110
match ip address prefix-list bogons
!
route-map ISP1-in deny 120
match ip address prefix-list our-CIDR-blocks
!
route-map ISP1-in permit 200
set local-preference 100

Описание route map для ISP1-in-
по-порядку от самого низкого номера правила:
match as-path 1 - запрет приема в апдейтах роуты приватных AS номеров.
cм. ip as-path access-list 1
match ip address prefix-list bogons - запрет на прием приватных сетей IP
match ip address prefix-list our-CIDR-blocks - запрет на прием собственных адресов из Интернета
set local-preference 100 - настроить для всего трафика, который будет проходить через ISP1 дальше в Интернет local-preference 100
Local-preference a weight - это параметры, используемые в BGP4 для контроля исходящего трафика внутри AS (local preference), или внутри одного роутера в случае с weight.

route-map ISP1-out permit 110
match ip address prefix-list ourIP
set as-path prepend 12345 12345 12345
!
route-map ISP1-out deny 200

Здесь стоит обратить внимание на строку set as-path prepend 12345 12345 12345 12345 12345 - таким образом мы установим as path prepending, чтобы все AS снаружи видели этот путь продленным, т.е. в этом случае на 5 AS номеров.
match ip address prefix-list ourIP - разрешаем отправлять в интернет нашему роутеру только собственную сеть
route-map ISP1-out deny 200 - все остальные запрещены

route-map ISP2-in deny 100
match as-path 1
!
route-map ISP2-in deny 110
match ip address prefix-list bogons
!
route-map ISP2-in deny 120
match ip address prefix-list our-CIDR-blocks
!
route-map ISP2-in permit 200
set local-preference 200
!
route-map ISP2-out permit 100
match ip address prefix-list ourIP
!
route-map ISP2-out deny 200

Описание route map для ISP2:
Речь пойдет о настройках для главного подключения.
Они схожи с настройками для резервного подключения, однако существуют два больших отличия.
a. не установлен as path prepending. Это означает, что внешние BGP роутеры распознают этот маршрут как наиболее короткий и пошлют сюда свой трафик.
b. все входящие маршруты полученные от ISP2 получат local preference 200, который выше чем у маршрутов резервного подключения, означает это, что исходящий трафик со всей AS будет передаваться через этот маршрут и этого пира.
Мы также можем установить set weight 200 - т.е. маршруты ISP2 получат высокий приоритет ещё и локально на роутере.

line con 0
line aux 0
line vty 0 4
login local
transport input ssh

Настройка заканчивается полями с параметрами подключения к терминалам.

Мониторинг BGP на Cisco
Команды для мониторинга состояния BGP в маршрутизаторах Cisco :
  • show ip bgp summary - информация о состоянии нашего BGP маршрутизатора, где представлены общие сведения о наших пиринг партнерах, а именно IP адреса, номера AS, состояние соединения
  • show ip bgp neighbors - подробная информация о наших пиринг партнерах (далее соседях)
  • show ip bgp neighbors X.X.X.X - подробная информация о соединении с конкретным соседом
  • show ip bgp neighbors X.X.X.X advertised-route - отобразит все исходящие сети посланные выбранному соседу
  • show ip bgp neighbors X.X.X.X received-route - отобразит все сети полученные от выбранного соседа
  • show ip bgp - отобразит все полученные нами маршруты
  • show ip bgp Y.Y.Y.Y - отобразит все пути куда пойдет трафик до конкретного IP адреса Y.Y.Y.Y
  • debug bgp updates - начнет отладку всех входящих и исходящих обновлений
  • debug bgp events - наблюдать за всеми событиями BGP