OSPF

Установка и настройка протокола динамической маршрутизации OSPF на базе операционной системы Splat.
Настройка взаимодействия между маршрутизаторами на основе операционных систем Windows и Splat.
Первый маршрутизатор – это SecurePlatform Pro, второй – Windows Server 2003.

Компания Microsoft прекратила поддержку протокола OSPF начиная с версии Windows Server 2008.
Грабли с OSPF Link-Local Signaling (RFC 4813)

Для конфигурирования OSPF и вообще любого другого протокола динамической маршрутизации используется команда router в консоли SecurePlatform:

router               – Configure Dynamic Routing

Информация по конфигурированию подробно изложена в официальной документации SecurePlatform Pro™ & Advanced Routing Command Line Interface. Но, если вы хотите заставить работать маршрутизатор Windows и маршрутизатор SecurePlatform по протоколу OSPF, не стоит тратить время. Дело в том, что при конфигурировании OSPF командой router, исходящие OSPF-пакеты содержат блок «OSPF LLS Data Block». Windows не понимает пакеты с таким блоком и сразу их реджектит, записывая при этом в журнале событий следующее:

Event Type:    Error
Event Source:    OSPF
Event Category:    None
Event ID:    120
Date:        10/13/2009
Time:        3:52:05 PM
User:        N/A
Computer:    NEWFW
Description:
Rejected an OSPF packet from 10.10.3.5 to 224.0.0.5 because the OSPF data length in the OSPF header was 48 but the length calculated from the IP Header fields was 60.

Для обеспечения нормального взаимодействия по протоколу OSPF между маршрутизатором с операционной системой Splat и другими маршрутизаторами сети необходимо использовать программный пакет для работы с протоколами динамической маршрутизации “Zebra” входящий в базовую установку SecurePlatform.

Zebra на SecurePlatform

Для работы мне потребуется консоль SecurePlatform и режим эксперта.

Если вы выполняли какие-то настройки OSPF командой router и сохраняли их (write memory), по умолчанию, в файл /etc/gated.ami.
Рекомендуется удалить этот файл
rm /etc/gated.ami.

Активируем предустановленный сервис ZEBRA и сервис OSPF.

Открыть файл в режиме редактирования (использовать редактор vi)
vi /etc/rc.d/init.d/zebra, заменить блок в двух местах
# Initial configuration values
ZEBRA=0
OSPF=0
BGP=0
RIP=0

на

# Initial configuration values
ZEBRA=1
OSPF=1
BGP=0
RIP=0

Открыть файл в режиме редактирования vi /etc/zebra/daemons.conf, необходимо заменить блок

ZEBRA=0
OSPF=0
BGP=0
RIP=0

ZEBCONFFILE=/etc/zebra/zebra.conf
RIPDCONFFILE=/etc/zebra/ripd.conf
OSPFDCONFFILE=/etc/zebra/ospfd.conf
BGPDCONFFILE=/etc/zebra/bgpd.conf

BGPDOPTS=» -d -P 0″
OSPFDOPTS=» -d -P 0″
RIPDOPTS=» -d -P 0″
ZEBRADOPTS=» -d -P 0″

 

на

ZEBRA=1
OSPF=1
BGP=0
RIP=0

ZEBCONFFILE=/etc/zebra/zebra.conf
RIPDCONFFILE=/etc/zebra/ripd.conf
OSPFDCONFFILE=/etc/zebra/ospfd.conf
BGPDCONFFILE=/etc/zebra/bgpd.conf

BGPDOPTS=» -d -P 0″
OSPFDOPTS=» -d -P 2604″
RIPDOPTS=» -d -P 0″
ZEBRADOPTS=» -d -P 2601″

2601 – порт для подключения к ZEBRA. 2604 – порт (OSPFD) для подключения и управления работой протокола OSPF.
Открыть файл в режиме редактирования vi /etc/zebra/zebra.conf . В файл необходимо добавить следующие строки:

password zebra
enable password zebra

Открыть файл в режиме редактирования vi /etc/zebra/ospfd.conf . В файл необходимо добавить следующую строку:

password zebra

Пароль zebra можно заменить на любой.
Запускаем Zebra Routing Daemon и OSPFD:

[Expert@cpmodule]# /etc/rc.d/init.d/zebra start
Starting Zebra Routing Daemon                              [  OK  ]
Starting OSFPD                                             [  OK  ]
[Expert@cpmodule]#

Теперь можно при помощи клиента telnet подключиться к порту 2604 и настроить протокол OSPF.
Если по каким-то причинам вас не пускает на порт 2604, то проверьте правила в SmartDashboard.
Теперь остается правильно настроить OSPF протокол. Полная документация  по настройке модуля “Zebra” находится на сайте Zebra zebra.org и сайте Quagga quagga.net.
Ниже приведён минимальный типовой листинг настройки.

Hello, this is zebra (version 0.93b).
Copyright 1996-2002 Kunihiro Ishiguro.
User Access Verification

Password:
cpmodule>
cpmodule> en   //Полная команда: enable – включает привилегированный режим команд
cpmodule#
cpmodule# conf t   //Полная команда: configure terminal – режим конфигурирования
cpmodule(config)#
cpmodule(config)# access-list 1 permit 192.168.1.0 0.0.0.255   //Создаю список доступа с идентификатором 1, который будет разрешать адреса из сети 192.168.1.0/24. Обратите внимание на запись 0.0.0.255 – это Wildcard bits, инвертированная маска подсети.
cpmodule(config)#
cpmodule(config)# router ospf   //Начинаю конфигурировать общие параметры протокола OSPF
cpmodule(config-router)#
cpmodule(config-router)# ospf router-id 192.168.1.1   //Задаю идентификатор маршрутизатора
cpmodule(config-router)#
cpmodule(config-router)# redistribute connected   //Экспортирую, т.е. передаю по OSPF маршруты всех подключенных сетевых интерфейсов
cpmodule(config-router)#
cpmodule(config-router)# network 192.168.1.0/24 area 0   //Задаю сеть, где будет работать OSPF протокол. Если IP-адрес сетевого интерфейса попадает в данную сеть, то на нем автоматически поднимается OSPF протокол.
cpmodule(config-router)#
cpmodule(config-router)# area 0 authentication   //Для зоны 0.0.0.0 требуется авторизация
cpmodule(config-router)#
cpmodule(config-router)# distribute-list 1 out connected   //Ограничиваю экспорт маршрутов, например, для того чтобы не передавались маршруты интерфейса на котором установлена лицензия Check Point.
cpmodule(config-router)#
cpmodule(config-router)# exit
cpmodule(config)#
cpmodule(config)# interface eth0   //Конфигурирую параметры OSPF для сетевого интерфейса
cpmodule(config-if)#
cpmodule(config-if)# ip ospf authentication-key 123   //Простая simple password авторизация, пароль: 123
cpmodule(config-if)#
cpmodule(config-if)# ip ospf cost 2   //Стоимость маршрута
cpmodule(config-if)#
cpmodule(config-if)# exit
cpmodule(config)#
cpmodule(config)# exit
cpmodule#
cpmodule# write memory   //Записать настройки в конфигурационный файл
Configuration saved to /etc/zebra/ospfd.conf
cpmodule#
cpmodule# sh run   //Просмотреть текущие настройки. show run – полная команда.

Current configuration:
!
password zebra
!
!
!
interface lo
!
interface eth0
ip ospf authentication-key 123
ip ospf cost 2
!
interface loop00
!
router ospf
ospf router-id 192.168.1.1
redistribute connected
network 192.168.1.0/24 area 0
area 0 authentication
distribute-list 1 out connected
!
access-list 1 permit 192.168.1.0 0.0.0.255
!
line vty
!
end
cpmodule#
cpmodule#

На этом конфигурирование OSPF завершено. Теперь SecurePlatform будет отправлять на multicast адреса 224.0.0.5 и 224.0.0.6 пакеты OSPF без блока «OSPF LLS Data Block». Для правильной работы создайте на Check Point правила, которые будут пропускать OSPF пакеты из одной сети в другую.

Настройка OSPF на Windows Server 2003

Тут все проще. Заходим в оснастку «Маршрутизация и удаленный доступ«, запускаем сервис маршрутизации и добавляем OSPF протокол, в раздел OSPF добавляем сетевые интерфейсы.

Документация по подробной настройке OSPF под Windows Server 2003 находится тут:technet.microsoft.com

Ссылка на оригинал статьи

Рубрика: OSPF