Выбрать главу

| 192.168.1.1/24 |-------| 10.10.1.1/16   |

|    AS: 1       |       |    AS: 50      |

------------------       ------------------ 

17.2.2. Конфигурирование (пример).

Следующая конфигурация написана для узла 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

17.2.3. Проверка конфигурации.

Note

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#

Глава 18. Прочие возможности.

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

Реализация 802.1Q VLAN для Linux

VLAN — очень интересный способ организации нескольких виртуальных локальных сетей в единой физической среде. Много полезной информации о виртуальных сетях вы найдете по адресу: ftp://ftp.netlab.ohio-state.edu/pub/jain/courses/cis788-97/virtual_lans/index.htm. С помощью этой реализации вы сможете использовать Linux в качестве маршрутизатора, на манер Cisco Catalyst, 3Com: [Corebuilder, Netbuilder II, SuperStack II switch 630], Extreme Ntwks Summit 48, Foundry: [ServerIronXL, FastIron].

Отличный HOWTO по организации VLAN: http://scry.wanfear.com/~greear/vlan/cisco_howto.html.

Включено в состав ядра, начиная с версии 2.4.14 (или может быть 13).

Альтернативная реализация 802.1Q VLAN для Linux

Этот проект был начат из-за разногласий, возникших в 'официальном' проекте VLAN, связанных с архитектурными решениями и стилем кодирования.

Linux Virtual Server

Команда блестящих разработчиков. Linux Virtual Server — высоко масштабируемый и очень перспективный сервер который основан на кластере из реальных серверов, с равномерным распределением нагрузки, под управлением операционной системы Linux. Архитектура кластера прозрачна для конечных пользователей, которые 'видят' только один-единственный виртуальный сервер.

Короче говоря, LVS предоставляет возможность равномерного распределения нагрузки при любом объеме трафика. Некоторые из решений, реализованных этой командой, очень необычны! Например, они позволяют нескольким машинам иметь один и тот же IP-адрес, при этом протокол ARP на них отключается. ARP работает только на головной LVS-машине, которая решает какому из внутренних хостов должен быть передан тот или иной входящий пакет, и передает его по MAC-адресу внутреннего сервера. Исходящий трафик передается маршрутизатору напрямую, а не через головную LVS-машину, благодаря чему для нее нет нужды отслеживать весь исходящий трафик, который по своему объему может быть просто ужасающим!