KnigaRead.com/

Bert Hubert - Linux Advanced Routing & Traffic Control HOWTO

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Bert Hubert, "Linux Advanced Routing & Traffic Control HOWTO" бесплатно, без регистрации.
Перейти на страницу:

  |eth0         |eth0             |             |          |

  |             |                 |             |          |

  |2MbDSL/ATM   |100BaseTX        |10BaseT      |10BaseT   |10BaseT

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

| Internet |   | 172.17.0.0/16        Area 1      |       |  192.168.1.0/24 wlan  Area 2|

------------   |         Student network (dorm)   |       |       barcelonawireless     |

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

Пусть вас не пугает эта схема — дело в том, что большую часть работы Zebra выполнит самостоятельно и вам не потребуется вручную "поднимать" все маршруты. Самое главное, что вы должны уяснить из этой схемы — это топология сети. И особое внимание обратите на область 0 (area 0), как самую важную часть. Для начала сконфигурируем zebra под свои потребности (поправим файл zebra.conf):

hostname omega

password xxx

enable password xxx

!

! Описание интерфейсов.

!

!interface lo

! пример описания интерфейса.

! interface eth1 multicast

!

! Статический маршрут по-умолчанию

! ip route 0.0.0.0/0 212.170.21.129

! log file /var/log/zebra/zebra.log

В дистрибутиве Debian, кроме того необходимо подредактировать файл /etc/zebra/daemons, чтобы обеспечить запуск демонов во время загрузки системы.

zebra=yes

ospfd=yes

Затем нужно внести соответствующие изменения в ospfd.conf (для случая IPv4) или в ospf6d.conf (для случая IPv6). Мой ospfd.conf выглядит так:

hostname omega

password xxx

enable password xxx

!

router ospf

 network 192.168.0.0/24 area 0

 network 172.17.0.0/16 area 1

!

! направить вывод на stdout в журнал

log file /var/log/zebra/ospfd.log

Здесь размещены инструкции, описывающие топологию сети.

17.1.3. Запуск zebra

Теперь запустим Zebra. Сделать это можно вручную — дав прямую команду zebra –d, либо с помощью сценария начальной загрузки — /etc/init.d/zebra start. После запуска, в журнале ospfd.log , появятся строки, примерно с таким содержанием:

2002/12/13 22:46:24 OSPF: interface 192.168.0.1 join AllSPFRouters Multicast group.

2002/12/13 22:46:34 OSPF: SMUX_CLOSE with reason: 5

2002/12/13 22:46:44 OSPF: SMUX_CLOSE with reason: 5

2002/12/13 22:46:54 OSPF: SMUX_CLOSE with reason: 5

2002/12/13 22:47:04 OSPF: SMUX_CLOSE with reason: 5

2002/12/13 22:47:04 OSPF: DR-Election[1st]: Backup 192.168.0.1

2002/12/13 22:47:04 OSPF: DR-Election[1st]: DR 192.168.0.1

2002/12/13 22:47:04 OSPF: DR-Election[2nd]: Backup 0.0.0.0

2002/12/13 22:47:04 OSPF: DR-Election[2nd]: DR 192.168.0.1

2002/12/13 22:47:04 OSPF: interface 192.168.0.1 join AllDRouters Multicast group.

2002/12/13 22:47:06 OSPF: DR-Election[1st]: Backup 192.168.0.2

2002/12/13 22:47:06 OSPF: DR-Election[1st]: DR 192.168.0.1

2002/12/13 22:47:06 OSPF: Packet[DD]: Negotiation done (Slave).

2002/12/13 22:47:06 OSPF: nsm_change_status(): scheduling new router-LSA origination

2002/12/13 22:47:11 OSPF: ospf_intra_add_router: Start

Не обращайте внимания на строки "…SMUX_CLOSE…", поскольку они относятся к SNMP и не представляют интереса для нас. Из приведенного листинга видно, что 192.168.0.1 — это Выделенный Маршрутизатор (Designated Router), а 192.168.0.2 — Резервный Выделенный Маршрутизатор (Backup Designated Router).

И zebra, и ospfd допускают возможность интерактивного взаимодействия с ними через telnet:

$ telnet localhost zebra

$ telnet localhost ospfd

Попробуем посмотреть список установленных маршрутов, залогировавшись в zebra:

[email protected]:~# telnet localhost zebra

Trying 127.0.0.1...

Connected to atlantis.

Escape character is '^]'.


Hello, this is zebra (version 0.92a).

Copyright 1996-2001 Kunihiro Ishiguro.


User Access Verification


Password:

atlantis> show ip route

Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,

       B - BGP, > - selected route, * - FIB route


K>* 0.0.0.0/0 via 192.168.0.1, eth1

C>* 127.0.0.0/8 is directly connected, lo

O   172.17.0.0/16 [110/10] is directly connected, eth0, 06:21:53

C>* 172.17.0.0/16 is directly connected, eth0

O   192.168.0.0/24 [110/10] is directly connected, eth1, 06:21:53

C>* 192.168.0.0/24 is directly connected, eth1

atlantis> show ip ospf border-routers

============ OSPF router routing table =============

R    192.168.0.253         [10] area: (0.0.0.0), ABR

   via 192.168.0.253, eth1

[10] area: (0.0.0.1), ABR

   via 172.17.0.2, eth0  

или напрямую, с помощью iproute:

[email protected]:~# ip route

212.170.21.128/26 dev eth0 proto kernel scope link src 212.170.21.172

192.168.0.0/24 dev eth1 proto kernel scope link src 192.168.0.1

172.17.0.0/16 via 192.168.0.2 dev eth1 proto zebra metric 20

default via 212.170.21.129 dev eth0 proto zebra

[email protected]:~#

Отсюда видно, что zebra добавила ряд маршрутов, которых в таблице раньше не было. Новые маршруты появляются спустя несколько секунд после того, как были запущены zebra и ospfd. Теперь вы можете попробовать ping-ануть некоторые из узлов сети. Zebra выставляет маршруты автоматически, все что от вас требуется – прописать маршрутизаторы в конфигурационный файл и этого будет достаточно!

Для захвата и анализа OSPF-пакетов можно воспользоваться командой:

tcpdump –i eth1 ip[9] == 89

 где число 89 – это номер протокола OSPF, а 9 — это номер октета в ip-заголовке, где хранится номер протокола.

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

17.2. Настройка BGP4 с помощью ZEBRA.

Версия 4 Протокола Пограничных Маршрутизаторов (BGP4) — это протокол динамический маршрутизации, описанный в RFC 1771. Он предназначен для обмена информацией (т.е. таблицами маршрутизации) между маршрутизаторами, с целью обеспечить согласующееся представление о данной Автономной Системе (Autonomous System — AS). Может использоваться в режиме EGP (от англ. Exterior Gateway Protocol — Протокол Внешних Маршрутизаторов) или IGP (от англ. Interior Gateway Protocol – Протокол Внутренних Маршрутизаторов). В случае EGP — требуется, чтобы каждый из узлов сети имел свой собственный номер Автономной Системы (AS). BGP4 поддерживает Безклассовую Внутридоменную Маршрутизацию (Classless Inter Domain Routing — CIDR) и объединение маршрутов (объединение нескольких маршрутов в один).

17.2.1. Конфигурация сети (пример).

Последующие примеры будем рассматривать на основе конфигурации сети, которая приведена ниже. AS 1 и 50 имеют еще ряд "соседей", но мы будем рассматривать только эти две Автономные Системы, в качестве своих "соседей". Взаимодействие между сетями, в данном примере, производится через туннели, но в общем случае это не обязательно.

Note

В данном примере используются зарезервированные номера AS, поэтому вы должны будете подставить свои собственные числа.

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

          | 192.168.23.12/24 |

          |    AS: 23        |

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

            /            

           /              

          /                

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

| 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

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*