Возможно вы искали: 'Fire Pro Wrestling Ret...'

May 15 2025 18:35:29
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Настройка и тестирование протокола BGP с пакетом Quagga (zebra) (zebra route bgp cisco)

Настройка и тестирование протокола BGP с пакетом Quagga (zebra) (zebra route bgp cisco)

Ключевые слова: zebra, route, bgp, cisco, (найти похожие документы)

From: info@netup.ru
Newsgroups: NetUP (http://www.netup.ru)
Date: Mon, 11 Sep 2007 18:21:07 +0000 (UTC)
Subject: Настройка и тестирование протокола BGP с пакетом Quagga (zebra)

Оригинал: http://www.netup.ru/BGP_Cisco_Gentoo_Linux_Quagga.php

Настройка и тестирование протокола BGP на базе оборудования Cisco
и Gentoo Linux с пакетом Quagga (zebra)

Содержание


* Введение
* Использованные сокращения
* Описание протокола BGP
* Описание тестового стенда
* Настройка Cisco для использования BGP
* Установка и настройка Quagga в Gentoo Linux
* Тестирование работы протокола BGP
* Выводы
* Ссылки



Введение

В настоящей статье детально рассмотрены механизмы функционирования
протокола динамической маршрутизации BGP. Приведены инструкции по
настройке маршрутизаторов Cisco и пакета Quagga на базе Gentoo Linux.
Собран работающий стенд, в котором связность между сетями
осуществляется благодаря маршрутам, анонсированным по протоколу BGP.
На базе этого стенда проведены испытания переключения на резервный
канал при падении основного.

Протокол BGP является основным в Интернете и благодаря ему
осуществляется доступность провайдеров во всем мире. Рано или поздно
каждый серьезный провайдер столкнется с настройкой именно этого
протокола. Надеемся, что изложенный в данной статье материал окажет
хорошую помощь техническим специалистам при настройке динамической
маршрутизации по протоколу BGP.

Внимание! В статье использованы фиктивные адреса сетей, а так же
номера автономных систем. Для использования протокола BGP в реальной
сети Интернет необходимо произвести регистрацию автономной системы и
блока IP-адресов. Для этого можно воспользоваться услугами компании
НетАП по регистрации. Более подробно о данной услуге можно найти по
ссылке - http://www.netup.ru/Autonomous_System_Registration.php


Использованные сокращения

В данной статье использованы следующие сокращения:

* AS - Autonomic System, автономная система;


* BGP - Border Gateway Protocol, протокол пограничного
маршрутизатора;


* eBGP - Exterior BGP, обмен маршрутами между автономными системами
по протоколу BGP;


* iBGP - Interior BGP, обмен маршрутами внутри автономных систем по
протоколу BGP;


* IGP - Interior Gateway Protocol, протокол внутреннего
маршрутизатора;


* MED - Multi-exit discriminator, атрибут маршрутизаторов Cisco,
используемый в случаях, когда две автономные системы соединяются
несколькими линиями или с помощью нескольких маршрутизаторов;



Описание протокола BGP

Протокол BGP (Border Gateway Protocol;
RFC-1265-1268,1467,1655,1771,1772) разработан компаниями IBM и CISCO.
Пара BGP-соседей устанавливает между собой соединение по протоколу
TCP, порт 179. Соседи, принадлежащие разным AS, должны быть доступны
друг другу непосредственно; для соседей из одной AS такого ограничения
нет, поскольку протокол внутренней маршрутизации обеспечит наличие
всех необходимых маршрутов между узлами одной автономной системы.
BGP-маршрутизаторы обмениваются сообщениями об изменении маршрутов.
Максимальная длина таких сообщений составляет 4096 октетов, а
минимальная 19 октетов. Каждое сообщение имеет заголовок
фиксированного размера. Объем информационных полей зависит от типа
сообщения.


Формат заголовка
Рис. 1. Формат заголовка сообщения BGP.

Поле маркер содержит 16 октетов и его содержимое может легко
интерпретироваться получателем. Маркер может использоваться для
обнаружения потери синхронизации в работе BGP-партнеров. Поле длина
имеет два октета и определяет общую длину сообщения в октетах, включая
заголовок. Значение этого поля должно лежать в пределах 19 - 4096.
Поле тип представляет собой код разновидности сообщения и может
принимать следующие значения:

* OPEN - начало соединения


* UPDATE - обновление данных


* NOTIFICATION - оповещение


* KEEPALIVE - проверка связи


После того как связь на транспортном протокольном уровне установлена,
первое сообщение, которое должно быть послано - это OPEN. При успешном
прохождении этого сообщения партнер должен откликнуться сообщением
KEEPALIVE. После этого возможны любые сообщения. Кроме заголовка
сообщение OPEN содержит следующие поля:


Формат сообщения OPEN
Рис. 2. Формат сообщения OPEN.

Поле версия описывает код версии используемого протокола, на сегодня
для BGP он равен 4. Двух-октетное поле моя автономная система
определяет код AS отправителя. Поле время сохранения характеризует
время в секундах, которое отправитель предлагает занести в таймер
сохранения (после получения сообщения OPEN BGP-маршрутизатор должен
выбрать значение времени сохранения, обычно меньшее из полученного в
сообщении OPEN и значения, определенного при конфигурации системы
(0-3сек); оно определяет максимальное время в секундах между
сообщениями KEEPALIVE и UPDATE или между двумя UPDATE-сообщениями).
Каждому узлу в рамках BGP приписывается 4-октетный идентификатор
(BGP-identifier, задается при инсталляции и идентичен для всех
интерфейсов локальной сети).

Сообщения типа UPDATE используются для передачи маршрутной информации
между BGP-партнерами. Этот тип сообщения позволяет объявить об одном
новом маршруте или о закрытии группы маршрутов, причем объявление об
открытии нового и закрытии старых маршрутов возможно в пределах одного
сообщения. Сообщение UPDATE всегда содержит стандартный заголовок и
может содержать другие поля в соответствии со схемой:


Формат сообщения UPDATE
Рис. 3. Формат сообщения UPDATE.

Если длина списка отмененных маршрутов равна нулю, ни один маршрут не
отменен, а поле отмененные маршруты в сообщении отсутствует. Поле
отмененные маршруты имеет переменную длину и содержит список префиксов
IP-адресов маршрутов, которые стали недоступны: длина префикса (в
битах), равная нулю, означает, что префикс соответствует всем
IP-адресам, а сам имеет нулевой размер.

Предусмотрены следующие разновидности кодов типа атрибута:


* ORIGIN (код 1) - стандартный обязательный атрибут, который
определяет происхождение путевой информации. Генерируется
автономной системой, которая является источником маршрутной
информации.


* AS_PATH (код 2) - также является стандартным обязательным
атрибутом, который составлен из совокупности сегментов пути.
Атрибут определяет автономные системы, через которые доставлена
маршрутная информация. Каждый сегмент AS_PATH состоит из трех
частей: тип сегмента пути, длина сегмента пути и оценка сегмента
пути.


* NEXT_HOP (код 3) - стандартный обязательный атрибут, определяющий
IP-адрес пограничного маршрутизатора, который должен
рассматриваться как цель следующего шага на пути к точке
назначения.


* MULTI_EXIT_DISC (код 4) - представляет собой опциональный
непереходной атрибут, который занимает 4 октета и является
положительным целым числом. Величина этого атрибута может
использоваться при выборе одного из нескольких путей к соседней
автономной системе.


* LOCAL_PREF (код 5) - является опциональным атрибутом, занимающим 4
октета. Он используется BGP-маршрутизатором, чтобы сообщить своим
BGP-партнерам в своей собственной автономной системе степень
предпочтения объявленного маршрута.


* ATOMIC_AGGREGATE (код 6) - представляет собой стандартный атрибут,
который используется для информирования партнеров о выборе
маршрута, обеспечивающего доступ к более широкому списку адресов.


* AGGREGATOR (код 7) - опциональный переходной атрибут с длиной в 6
октетов. Атрибут содержит последний код автономной системы,
который определяет агрегатный маршрут (занимает два октета), и
IP-адрес BGP-маршрутизатора, который сформировал этот маршрут (4
октета).


Информация о работоспособности соседних маршрутизаторов получается из
KEEPALIVE-сообщений, которые должны посылаться настолько часто, чтобы
уложиться во время, отведенное таймером сохранения (hold). Обычно это
время не должно превышать одной трети от времени сохранения, но не
должно быть и меньше 1 секунды. Если выбранное значение времени
сохранения равно нулю, периодическая посылка KEEPALIVE-сообщений не
обязательна.

NOTIFICATION-сообщения посылаются, когда обнаружена ошибка. BGP-связь
при этом немедленно прерывается. Помимо заголовка
NOTIFICATION-сообщение имеет следующие поля:


Формат сообщения NOTIFICATION
Рис. 4. Формат сообщения NOTIFICATION.

Код ошибки представляет собой одно-октетное поле и указывает на тип
данного сообщения. Возможны следующие коды ошибки:


* Ошибка в заголовке сообщения


* Ошибка в сообщении OPEN


* Ошибка в сообщении UPDATE


* Истекло время сохранения


* Ошибка конечного автомата (рассинхронизация)


* Прерывание


Одно-октетное поле cубкод ошибки предоставляет дополнительную
информацию об ошибке. Каждый код ошибки может иметь один или более
субкодов. Если поле содержит нуль, это означает, что никаких субкодов
не определено.


Описание тестового стенда

Для тестирования работы протокола BGP специалистами компании НетАП был
собран тестовый стенд, включающий в себя четыре автономные системы:


* AS 65001, включающая в себя сеть 192.168.100.0/24


* AS 65002, включающая в себя сети 172.16.100.0/24; 172.16.102.0/24; 172.16.103.0/24


* AS 65003, включающая в себя сеть 192.168.200.0/24


* AS 65004, включающая в себя сеть 172.16.101.0/24


В качестве маршрутизаторов было использовано 3 сервера с операционной
системой Gentoo Linux и один маршрутизатор Cisco 3640. Схема стенда
приведена на рисунке:


Схема тестового стенда
Рис. 5. Схема стенда для тестирования работы протокола BGP.


Настройка Cisco для использования BGP


Минимальная конфигурация

Для простой конфигурации маршрутизатора Cisco для работы с протоколом
BGP используются следующие команды:

router bgp 65003
neighbor 172.16.101.2 remote-as 65004
neighbor 172.16.102.1 remote-as 65002
network 192.168.200.0


Команда router bgp [AS] присваивает маршрутизатору номер его
автономной системы и включает обмен BGP-маршрутами между автономными
системами.

Команда neighbor [ip-address] remote-as [AS] добавляет запись в
таблицу соседних BGP-маршрутизаторов с указанием IP-адреса
маршрутизатора и номера автономной системы, к которой он принадлежит.

Команда network [ip-address] указывает маршрутизатору на необходимость
анонсировать указанную сеть как доступную через данный маршрутизатор.


Выбор оптимального маршрута

При выборе наилучшего пути к сети назначения в BGP применяется
несколько критериев, каждый из которых может быть настроен вручную.
Алгоритм выбора маршрута состоит из следующих этапов:


* Для каждой записи в таблице соседних BGP-маршрутизаторов
проверяем, достижим ли соответствующий узел и отбрасываем узлы,
которые недоступны.


* Выбираем путь с наибольшим весом.


* Если вес одинаков, выбираем путь с максимальным значением
параметра LOCAL_PREF.


* Если значения LOCAL_PREF равны и путь инициирован внешним (не
локальным) маршрутизатором, выбираем кратчайший AS_PATH.


* Если длины AS_PATH равны, выбираем наименьший код ORIGIN.


* Если коды атрибута ORIGIN равны, выбираем путь с наименьшим
значением атрибута MED.


* Если атрибуты MED одинаковы, eBGP предпочитается iBGP.


* Если пути одинаковы, выбираем ближайшего соседа IGP.


* Если расстояния одинаковы, выбираем наименьший ID маршрутизатора.



Настройка атрибута Weight

Атрибут Weight (вес) является метрикой и позволяет системному
администратору вручную присваивать определенный вес всем маршрутам,
информация о которых получена от партнеров BGP. Чем больше вес, тем
лучше путь. Данная метрика особенно полезна, когда маршрутизатор
соединен с несколькими автономными системами. Вес остается локальным
параметром для того маршрутизатора, на котором он сконфигурирован.
Когда информация о маршрутах поступает из многих источников, атрибут
может применяться для того, чтобы маршрутизатор предпочитал
определенный интерфейс всем остальным. Атрибут конфигурируется с
помощью команды:

neighbor <IP-адрес> weight <вес>


Допустимые значения веса лежат в диапазоне 0 - 65535. Значение по
умолчанию равно 32768.


Диагностика сети BGP

После настройки протокола BGP можно воспользоваться рядом команд для
проверки конфигурации и диагностики сети. Эти команды также можно
использовать для изучения процесса маршрутизации BGP:


* show ip bgp - отображает всю информацию, относящуюся к
конфигурации BGP для выбранного интерфейса;


* show ip bgp neighbors - выводит информацию обо всех
сконфигурированных соседях BGP, представляет детализированные
статистические данные, относящиеся к каждому соседнему
маршрутизатору;


* show ip bgp paths - отображает всю маршрутную информацию для
локального маршрутизатора;


* show ip bgp summary - отображает состояние всех соединений BGP.


Пример вызова команды show ip bgp:

Router#show ip bgp
BGP table version is 67, local router ID is 172.16.101.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path

*> 172.16.100.0/24 172.16.102.1 0 0 65002 i
* 172.16.101.2 0 65004 65002 i
r 172.16.101.0/24 172.16.102.1 0 65002 65004 i
r> 172.16.101.2 0 0 65004 i
r> 172.16.102.0/24 172.16.102.1 0 0 65002 i
r 172.16.101.2 0 65004 65002 i
*> 172.16.103.0/24 172.16.102.1 0 0 65002 i
* 172.16.101.2 0 65004 65002 i
*> 192.168.100.0 172.16.102.1 0 65002 65001 i
* 172.16.101.2 0 65004 65002 65001
i


Установкаи настройка Quagga в Gentoo Linux


Установка Quagga

Quagga - пакет программ, реализующих протоколы маршрутизации,
основанные на TCP/IP. Имеется поддержка таких протоколов, как RIPv1,
RIPv2, RIPng, OSPFv2, OSPFv3, BGP-4 и BGP-4+.В дополнение к
традиционному протоколу IPv4, Quagga также поддерживает протоколы
маршрутизации для IPv6.

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

Для установки пакета Quagga воспользуйтесь следующей командой:

emerge quagga


Пакет quagga включает в себя набор демонов для работы с различными
протоколами маршрутизации (ripd, bgpd, ospfd и др.), а также демон
zebra, который непосредственно служит для формирования таблицы
маршрутизации и перераспределения маршрутов между различными
протоколами. Конфигурационные файлы quagga доступны в папке
/etc/quagga.

Ниже приведены конфигурационные файлы для всех трех маршрутизаторов,
использованных на тестовом стенде.

Сервер amalfi.netup

Пример файла zebra.conf:

hostname amalfi
password zebra
enable password zebra
log file /var/log/zebra.log
interface eth0
interface eth1
ip forwarding
line vty


Пример файла bgpd.conf:

hostname amalfi_bgpd
password zebra
router bgp 65001
bgp router-id 10.1.2.4
network 192.168.100.0/24
neighbor 10.1.2.8 remote-as 65002
log stdout


Сервер sat.netup

Пример файла zebra.conf:

hostname sat
password zebra
enable password zebra
log file /var/log/zebra.log
interface eth0
interface eth1
ip forwarding
line vty


Пример файла bgpd.conf:

hostname sat_bgpd
password zebra
router bgp 65004
bgp router-id 172.16.103.2
network 172.16.101.0/24
neighbor 172.16.103.1 remote-as 65002
neighbor 172.16.101.1 remote-as 65003
log stdout


Сервер streamer.netup

Пример файла zebra.conf:

hostname streamer
password zebra
enable password zebra
log file /var/log/zebra.log
interface eth0
interface eth1
ip forwarding
line vty
no exec-timeout


Пример файла bgpd.conf:

hostname streamer_bgpd
password zebra
router bgp 65002
bgp router-id 10.1.2.8
network 172.16.100.0/24
network 172.16.102.0/24
network 172.16.103.0/24
neighbor 10.1.2.4 remote-as 65001
neighbor 172.16.102.2 remote-as 65003
neighbor 172.16.103.2 remote-as 65004
log stdout


Запуск Quagga

После завершения настройки необходимо выполнить запуск соответствующих
демонов командами:

/etc/init.d/zebra start
/etc/init.d/bgpd start


Управление демонами возможно по протоколу telnet, аналогично
управлению маршрутизатором cisco. Для этого необходимо подключиться к
порту 2601 (для демона zebra) или к порту 2605 (для демона bgpd) и
ввести соответствующие пароли, которые вы указали в конфигурационных
файлах. Пример выполнения команды show ip route bgp на маршрутизаторе
amalfi:

amalfi# show ip route bgp
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
I - ISIS, B - BGP, > - selected route, * - FIB route

B>* 172.16.100.0/24 [20/0] via 10.1.2.8, eth0, 00:12:45
B>* 172.16.101.0/24 [20/0] via 10.1.2.8, eth0, 00:12:15
B>* 172.16.102.0/24 [20/0] via 10.1.2.8, eth0, 00:12:45
B>* 172.16.103.0/24 [20/0] via 10.1.2.8, eth0, 00:12:45
amalfi# exit


На показанном примере видно, что маршрутизатор успешно получил по
протоколу BGP список всех доступных ему автономных систем.


Тестирование работы протокола BGP

Простой обмен информацией о маршрутах

Итак, на стенде мы имеем два независимых маршрута от AS 65003 до AS
65001:

* AS 65004 -> AS 65002 -> AS 65001


* AS 65002 -> AS 65001


Первый маршрут доступен через интерфейс Ethernet0/0:

interface Ethernet0/0
ip address 172.16.101.1 255.255.255.0


Второй маршрут, соответственно, через интерфейс Ethernet0/1:

interface Ethernet0/1
ip address 172.16.102.2 255.255.255.0


Изначально оба маршрута работоспособны и, согласно алгоритму выбора
маршрута (см. выше) должен быть выбран маршрут 2 (65002 -> 65001).

Проверим это, воспользовавшись на маршрутизаторе Cisco командной
traceroute:

Router#traceroute 192.168.100.1

Type escape sequence to abort.
Tracing the route to 192.168.100.1

1 172.16.102.1 12 msec 48 msec 0 msec
2 192.168.100.1 [AS 65001] 0 msec 0 msec 4 msec


Теперь отключим короткий маршрут, для чего выключим на Cisco
соответствующий сетевой интерфейс:

interface Ethernet0/1
shutdown


После этого весь трафик до AS 65001 должен пойти по резервному каналу.
Проверим это с помощью команды traceroute:

Router#traceroute 192.168.100.1

Type escape sequence to abort.
Tracing the route to 192.168.100.1

1 172.16.101.2 0 msec 0 msec 0 msec
2 172.16.103.1 [AS 65002] 0 msec 56 msec 0 msec
3 192.168.100.1 [AS 65001] 4 msec 0 msec 4 msec


После восстановления основного канала необходимо подождать некоторое
время (около 5-10 секунд), прежде чем Cisco обнаружит, что соединение
восстановилось. Индикатором этого служит следующая запись журнала:

.Jan 2 13:33:15.448: %BGP-5-ADJCHANGE: neighbor 172.16.102.1 Up


Как только маршрутизатор обнаружит восстановление основного канала,
весь трафик снова пойдет по этому, более короткому пути.


Использование "весов" маршрутов

Иногда использование длины маршрута в качестве основного критерия
отбора неприемлимо. Так, например, у вас может быть два канала в
Интернет - дешевый основной и дорогой резервный. При этом, маршрут по
дешевому каналу длиннее. Что делать в этом случае? На помощь придет
возможность указания весов маршрутов.

Зададим длинному пути больший вес, чтобы он использовался в качестве
основного. Для этого введем следующие команды:

! Входим в режим редактирования параметров BGP
router bgp 65003
! Задаем веса
neighbor 172.16.101.2 weight 200
neighbor 172.16.102.1 weight 100


Теперь, в случае, когда доступно оба канала, маршрутизатор выберет
более длинный маршрут, поскольку он имеет больший вес:

Router#traceroute 192.168.100.1

Type escape sequence to abort.
Tracing the route to 192.168.100.1

1 172.16.101.2 0 msec 0 msec 0 msec
2 172.16.103.1 [AS 65002] 0 msec 56 msec 0 msec
3 192.168.100.1 [AS 65001] 4 msec 0 msec 4 msec


Введение ограничений на импорт и экспорт маршрутов

Очень часто возникает необходимость ограничить список маршрутов,
получаемых от того или иного BGP-узла. Действительно, любой узел может
заявить, что через него доступна та или иная подсеть, при этом не
предоставляя реального маршрута до указанной сети. Это делает реальной
угрозу атак типа <<отказ в обслуживании>>, спуфинга и других видов
атак.

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

Ограничения по номеру автономной системы задаются с помощью списков
доступа по параметру as-path:

ip as-path access-list <идентификатор> permit <регулярное выражение>


Здесь регулярное выражение задает шаблон, по которому будет
срабатывать правило. Например, для ограничения по автономной системе
65004, выражение будет иметь вид ^65004$.

Кроме того, можно добавить ограничение по адресу сети с помощью
параметра prefix-list:

ip prefix-list <имя> seq <номер> permit <адрес подсети>


Где <имя> название списка адресов, <номер> порядковый номер записи в
списке, < адрес подсети> адрес сети и маска.

Теперь необходимо привязать списки к конкертному BGP-соседу. Ключевое
слово "in" в настройках указывает на то, что правила фильтрации
применяются к адресам анонсированным с данного маршрутизатора. В
случае если указано ключевое слово "out", то фильтры применяются к
адресам анонсируемым нами на данный маршрутизатор.

В режиме редактирования параметров BGP это можно сделать следующими
командами:

! Для ограничения по автономным системам
neighbor <адрес узла> filter-list <ID правила>
! Для ограничения по префиксу сети
neighbor 10.1.2.4 route-map <имя route-map> in
route-map <имя route-map> permit 10
match ip address prefix-list <имя prefix-list>


Посмотрим, как можно реализовать данный пример на нашем стенде. Для
этого на маршрутизаторе streamer.netup введем ограничения на
получаемые сети от маршрутизатора amalfi.netup. Разрешим анонсировать
только сеть 192.168.100.0/24 и для большей наглядности настроим
amalfi.netup на анонсирование новой, фиктивной сети 10.20.30.0/24. Для
этого на streamer.netup изменим конфигурационный файл
/etc/quagga/bgpd.conf следующим образом:

router bgp 65002
bgp router-id 10.1.2.8
network 172.16.100.0/24
network 172.16.102.0/24
network 172.16.103.0/24
neighbor 10.1.2.4 remote-as 65001
neighbor 10.1.2.4 route-map AMALFI in
neighbor 172.16.102.2 remote-as 65003
neighbor 172.16.103.2 remote-as 65004
!
ip prefix-list AMALFI_IP_LIST seq 6 permit 192.168.100.0/24

route-map AMALFI permit 10
match ip address prefix-list AMALFI_IP_LIST


На amalfi.netup в конфигурационный файл /etc/quagga/bgpd.conf добавим
экспорт фиктивной сети 10.20.30.0/24:

router bgp 65001
bgp router-id 10.1.2.4
network 192.168.100.0/24
network 10.20.30.0/24
neighbor 10.1.2.8 remote-as 65002


После применения настроек, проверим какие сети были анонсированы с
amalfi.netup. Для этого выполним следующую команду на streamer.netup:

streamer# show ip route bgp
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
I - ISIS, B - BGP, > - selected route, * - FIB route

B>* 172.16.101.0/24 [20/0] via 172.16.103.2, eth0, 00:02:20
B>* 192.168.100.0/24 [20/0] via 10.1.2.4, eth0, 00:02:24


Как и ожидалось информация о фиктивной сети 10.20.30.0/24 не попала в
маршрутную информацию. При этом информация о сети 192.168.100.0/24
осталась без изменений и доступна в списке маршрутов.


Выводы

Протокол BGP замечательно выполняет задачи по управлению
маршрутизацией в глобальных сетях, таких как Интернет. Тестирование
показало быструю реакцию оборудования на потерю связи по тому или
иному каналу, а также очень гибкие возможности настройки. А такая
возможность как фильтрация принимаемых и отправляемых машрутов
позволяет использовать BGP в качестве инструмента по оптимизации путей
прохождения трафика в Интернете.

Согласно данной статье очень удобно использовать протокол BGP для
обеспечения резервирования Интернет-канала. Переключение между
основным и резервным каналом происходит очень быстро, благодаря чему
задержка в предоставлении услуги будет минимальной и пользователи
провайдера по достоинству оценят качество сервиса.

Ссылки
* Сайт проекта Quagga в Интернет
http://www.quagga.net/
* RFC 1771, "A Border Gateway Protocol 4 (BGP-4)"
http://www.ietf.org/rfc/rfc1771.txt
* Семенов Ю.А. "Протоколы Интернет", глава посвященная протоколу BGP
http://book.itep.ru/4/44/bgp44114.htm
* Тодд Леммл, Шон Одом, Кевин Уоллес. "CCNP: Маршрутизация. Учебное
руководство". © 2001 SYBEX Inc.; © Изд. "Лори", Москва, 2002
1435 Прочтений •  [Настройка и тестирование протокола BGP с пакетом Quagga (zebra) (zebra route bgp cisco)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Настройка и тестирование протокола ... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка