Linux Advanced Routing & Traffic Control HOWTO | ||
---|---|---|
Назад | Глава 17. Динамическая маршрутизация -- OSPF и BGP. | Вперед |
Версия 4 Протокола Пограничных Маршрутизаторов (BGP4) -- это протокол динамический маршрутизации, описанный в RFC 1771. Он предназначен для обмена информацией (т.е. таблицами маршрутизации) между маршрутизаторами, с целью обеспечить согласующееся представление о данной Автономной Системе (Autonomous System -- AS). Может использоваться в режиме EGP (от англ. Exterior Gateway Protocol -- Протокол Внешних Маршрутизаторов) или IGP (от англ. Interior Gateway Protocol -- Протокол Внутренних Маршрутизаторов). В случае EGP -- требуется, чтобы каждый из узлов сети имел свой собственный номер Автономной Системы (AS). BGP4 поддерживает Безклассовую Внутридоменную Маршрутизацию (Classless Inter Domain Routing -- CIDR) и объединение маршрутов (объединение нескольких маршрутов в один).
Последующие примеры будем рассматривать на основе конфигурации сети, которая приведена ниже. AS 1 и 50 имеют еще ряд "соседей", но мы будем рассматривать только эти две Автономные Системы, в качестве своих "соседей". Взаимодействие между сетями, в данном примере, производится через туннели, но в общем случае это не обязательно.
В данном примере используются зарезервированные номера AS, поэтому вы должны будете подставить свои собственные числа. |
-------------------- | 192.168.23.12/24 | | AS: 23 | -------------------- / \ / \ / \ ------------------ ------------------ | 192.168.1.1/24 |-------| 10.10.1.1/16 | | AS: 1 | | AS: 50 | ------------------ ------------------
Следующая конфигурация написана для узла 192.168.23.12/24, но может быть с легкостью адаптирована и для других узлов.
Начинается с установки некоторых общих параметров, таких как: имя хоста, пароль и ключи отладки:
! имя хоста hostname anakin ! пароль password xxx ! разрешить пароль (режим суперпользователя) enable password xxx ! путь к файлу журнала log file /var/log/zebra/bgpd.log ! отладка: выводить отладочную информацию (этот раздел позднее может быть удален) debug bgp events debug bgp filters debug bgp fsm debug bgp keepalives debug bgp updatesСписок доступа, используемый для ограничения перераспределения в локальных сетях (RFC 1918).
! RFC 1918 networks access-list local_nets permit 192.168.0.0/16 access-list local_nets permit 172.16.0.0/12 access-list local_nets permit 10.0.0.0/8 access-list local_nets deny anyСледующий шаг -- настройка каждой из AS:
! Собственный номер AS router bgp 23 ! IP-адрес маршрутизатора bgp router-id 192.168.23.12 ! наша сеть, для оповещения "соседей" network 192.168.23.0/24 ! объявлять о всех подключенных маршрутах (= непосредственно подключенных интерфейсах) redistribute connected ! объявлять о корневых маршрутах (= подставленных вручную) redistribute kernelБлок "router bgp" должен содержать сведения о своих "соседях":
neighbor 192.168.1.1 remote-as 1 neighbor 192.168.1.1 distribute-list local_nets in neighbor 10.10.1.1 remote-as 50 neighbor 10.10.1.1 distribute-list local_nets in
vtysh -- это мультиплексор, соединяющий все интерфейсы Zebra. |
anakin# sh ip bgp summary BGP router identifier 192.168.23.12, local AS number 23 2 BGP AS-PATH entries 0 BGP community entries Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.10.0.1 4 50 35 40 0 0 0 00:28:40 1 192.168.1.1 4 1 27574 27644 0 0 0 03:26:04 14 Total number of neighbors 2 anakin# anakin# sh ip bgp neighbors 10.10.0.1 BGP neighbor is 10.10.0.1, remote AS 50, local AS 23, external link BGP version 4, remote router ID 10.10.0.1 BGP state = Established, up for 00:29:01 .... anakin#А теперь посмотрим -- какие маршруты были полученв от "соседей":
anakin# sh ip ro bgp Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, B - BGP, > - selected route, * - FIB route B>* 172.16.0.0/14 [20/0] via 192.168.1.1, tun0, 2d10h19m B>* 172.30.0.0/16 [20/0] via 192.168.1.1, tun0, 10:09:24 B>* 192.168.5.10/32 [20/0] via 192.168.1.1, tun0, 2d10h27m B>* 192.168.5.26/32 [20/0] via 192.168.1.1, tun0, 10:09:24 B>* 192.168.5.36/32 [20/0] via 192.168.1.1, tun0, 2d10h19m B>* 192.168.17.0/24 [20/0] via 192.168.1.1, tun0, 3d05h07m B>* 192.168.17.1/32 [20/0] via 192.168.1.1, tun0, 3d05h07m B>* 192.168.32.0/24 [20/0] via 192.168.1.1, tun0, 2d10h27m anakin#
Назад | В начало документа | Вперед |
Динамическая маршрутизация -- OSPF и BGP. | К началу раздела | Прочие возможности. |