OSPFv3#
Описание#
Для работы в сетях IPv6 разработан бесклассовый протокол маршрутизации по состоянию канала OSPFv3, большинство параметров которого аналогичны протоколу OSPFv2, работающему в сетях IPv4. Оба протокола работают на основе алгоритма SPF. При обмене маршрутной информацией рассылаются те же типы пакетов, что и в версии протокол OSPFv6. Рассылка маршрутной информации в OSPFv3 производится с использованием группового адреса FF02::5 или FF02::6 и маршрутизаторов DR и BDR. Кроме того, для рассылки внутри локального канала используются индивидуальные локальные адреса источника и назначения. OSPFv3 использует аутентификацию IPv6 по протоколу IPSec.
Настройка#
Пример настройки#
Пример типичной конфигурация OSPFv3 с использованием двух узлов.
Список команд для настройки первого узла:
set protocols ospfv3 area 0.0.0.0 interface eth1
set protocols ospfv3 area 0.0.0.0 range 2001:db8:1::/64
set protocols ospfv3 parameters router-id 192.168.1.1
set protocols ospfv3 redistribute connected
Список команд для настройки второго узла:
set protocols ospfv3 area 0.0.0.0 interface eth1
set protocols ospfv3 area 0.0.0.0 range 2001:db8:2::/64
set protocols ospfv3 parameters router-id 192.168.2.1
set protocols ospfv3 redistribute connected
Чтобы получить информацию о редистрибуции маршрутов, используйте команду show ipv6 ospfv3 redistribute
.
Примечание
Чтобы перераспределить маршруты IPv6 через OSPFv3 на канале интерфейса WireGuard, настройте вручную адреса link-local на интерфейсах WireGuard
Пример настройки OSPFv3 для интерфейсов WireGuard#
Список команд для настройки первого узла:
set interfaces wireguard wg01 address 'fe80::216:3eff:fe51:fd8c/64'
set interfaces wireguard wg01 address '192.168.0.1/24'
set interfaces wireguard wg01 peer ospf02 allowed-ips '::/0'
set interfaces wireguard wg01 peer ospf02 allowed-ips '0.0.0.0/0'
set interfaces wireguard wg01 peer ospf02 endpoint '10.1.1.101:12345'
set interfaces wireguard wg01 peer ospf02 pubkey 'ie3...='
set interfaces wireguard wg01 port '12345'
set protocols ospfv3 parameters router-id 192.168.1.1
set protocols ospfv3 area 0.0.0.0 interface 'wg01'
set protocols ospfv3 area 0.0.0.0 interface 'lo'
Список команд для настройки второго узла:
set interfaces wireguard wg01 address 'fe80::216:3eff:fe0a:7ada/64'
set interfaces wireguard wg01 address '192.168.0.2/24'
set interfaces wireguard wg01 peer ospf01 allowed-ips '::/0'
set interfaces wireguard wg01 peer ospf01 allowed-ips '0.0.0.0/0'
set interfaces wireguard wg01 peer ospf01 endpoint '10.1.1.100:12345'
set interfaces wireguard wg01 peer ospf01 pubkey 'NHI...='
set interfaces wireguard wg01 port '12345'
set protocols ospfv3 parameters router-id 192.168.1.2
set protocols ospfv3 area 0.0.0.0 interface 'wg01'
set protocols ospfv3 area 0.0.0.0 interface 'lo'
Для проверки состояния между соседствующими узлами, используйте команду show ipv6 ospfv3 neighbor
.
Пример вывода информации о состоянии соседствующих узлов:
fakel@ospf01:~$ show ipv6 ospfv3 neighbor
Neighbor ID Pri DeadTime State/IfState Duration I/F[State]
192.168.0.2 1 00:00:37 Full/PointToPoint 00:18:03 wg01[PointToPoint]
fakel@ospf02# run show ipv6 ospfv3 neighbor
Neighbor ID Pri DeadTime State/IfState Duration I/F[State]
192.168.0.1 1 00:00:39 Full/PointToPoint 00:19:44 wg01[PointToPoint]
Список команд#
Основные настройки#
Процесс OSPFv3 запускается при настройке первого интерфейса с поддержкой ospf.
- • set protocols ospfv3 area <number> interface <interface>#
Активирует протокол OSPFv3 на определенном интерфейс
<interface>
. Номер области<number>
может быть указан в десятичной системе счисления в диапазоне от 0 до 4294967295. Или он может быть указан в десятичной системе счисления, аналогично ip-адресу.
- • set protocols ospfv3 parameters router-id <rid>#
Задает идентификатор маршрутизатора
<rid>
процесса OSPFv3. Идентификатор маршрутизатора может быть IP-адресом маршрутизатора, но не обязательно - это может быть любое произвольное 32-битное число. Однако он ДОЛЖЕН быть уникальным в пределах всего домена OSPFv3 для динамика OSPFv3 - если несколько динамиков OSPFv3 будут сконфигурированы с одним и тем же router-ID, произойдут плохие вещи!
Дополнительные настройки#
- • set protocols ospfv3 distance global <distance>#
Изменяет глобальное значение расстояния
<distance>
в протоколе OSPFv3. Диапазон расстояний составляет от 1 до 255.
- • set protocols ospfv3 distance ospfv3 <external|inter-area|intra-area> <distance>#
Изменяет значение расстояния
<distance>
в протоколе OSPFv3. Аргументами являются значения расстояния для внешних маршрутов<external>
, маршрутов, распространяемых между зонами<inter-area>
и маршрутов, распространяемых внутри одной зоны<intra-area>
соответственно. Диапазон значений расстояния составляет от 1 до 255.
Настройки областей#
- • set protocols ospfv3 area <number> range <prefix>#
Суммирует маршруты, распространяемые внутри одной зоны в один маршрут, распространяемый между зонами с префиксным типом LSA Type-3, анонсированный в другие зоны. Данная команда может быть использована только в ABR.
- • set protocols ospfv3 area <number> range <prefix> not-advertise#
Фильтрует внутриобластные пути - т.е. внутриобластные пути из этого диапазона не рекламируются в другие области. Эта команда имеет смысл только в ABR.
Настройки интерфейсов#
- • set interfaces <inttype> <interface> ipv6 ospfv3 cost <number>#
Устанавливает стоимость соединения
<number>
для указанного интерфейса<interface>
. Значение стоимости устанавливается в поле метрики маршрутизатора-LSA и используется для расчета SPF. Диапазон значений стоимости составляет от 1 до 65535.
- • set interfaces <inttype> <interface> ipv6 ospfv3 dead-interval <number>#
Задайте количество секунд для значения таймера Dead Interval маршрутизатора, используемого для таймера ожидания и таймера бездействия. Это значение должно быть одинаковым для всех маршрутизаторов, подключенных к общей сети. Значение по умолчанию составляет 40 секунд. Диапазон интервалов составляет от 1 до 65535.
- • set interfaces <inttype> <interface> ipv6 ospfv3 hello-interval <number>#
Установка количества секунд для значения таймера Hello Interval
<number>
. При установке этого значения пакет Hello будет отправляться на указанный интерфейс каждые несколько секунд по таймеру. Это значение должно быть одинаковым для всех маршрутизаторов, подключенных к общей сети. Значение по умолчанию составляет 10 секунд. Диапазон значений интервала составляет от 1 до 65535.
- • set interfaces <inttype> <interface> ipv6 ospfv3 mtu-ignore#
Отключает проверку значения MTU в пакетах OSPF DBD. Таким образом, использование этой команды позволяет OSPF-связке достичь состояния FULL, даже если между двумя OSPF-маршрутизаторами имеется несоответствие MTU интерфейса.
- • set interfaces <inttype> <interface> ipv6 ospfv3 network <type>#
Определяет тип распределения для сети
<type>
, подключенной к определенному интерфейсу<inttype>
:broadcast
– распределение широковещательных IP-адресов.point-to-point
– распределение адресов в сетях «точка-точка.
- • set interfaces <inttype> <interface> ipv6 ospfv3 priority <number>#
Задает целочисленное значение Router Priority
<number>
. Маршрутизатор с наивысшим приоритетом будет иметь больше шансов стать назначенным маршрутизатором. Если установить значение 0, то маршрутизатор не будет иметь права стать назначенным маршрутизатором. Значение по умолчанию равно 1. Диапазон интервалов от 0 до 255.
- • set interfaces <inttype> <interface> ipv6 ospfv3 passive#
Определяет интерфейс
<interface>
как пассивный. Пассивный интерфейс рекламирует свой адрес, но не выполняет протокол OSPF (смежности не формируются и пакеты hello не генерируются).
- • set interfaces <inttype> <interface> ipv6 ospfv3 retransmit-interval <number>#
Задает количество секунд для значения таймера RxmtInterval
<number>
. Это значение используется при повторной передаче пакетов Database Description и Link State Request, если подтверждение не было получено. Значение по умолчанию равно 5 секундам. Диапазон интервалов составляет от 3 до 65535.
- • set interfaces <inttype> <interface> ipv6 ospfv3 transmit-delay <number>#
Задает количество секунд для значения InfTransDelay
<number>
. Позволяет установить и настроить для каждого интерфейса интервал задержки перед началом процесса синхронизации базы данных маршрутизатора со всеми соседями. Значение по умолчанию составляет 1 секунду. Диапазон значений интервала составляет от 3 до 65535.
Настройка редистрибуции#
- • set protocols ospfv3 redistribute <route source>#
Перераспределяет информацию о маршрутизации из заданного источника маршрута в процесс OSPF. Для источника маршрута доступно пять режимов: bgp, connected, kernel, rip, static.
- • set protocols ospf redistribute <route source> route-map <name>#
Устанавливает route map
<name>
для фильтрации перераспределенных маршрутов из заданного источника маршрута<route source>
. Для источника маршрута доступно пять режимов: bgp, connected, kernel, rip, static.
Мониторинг состояния#
- • show ipv6 ospfv3 neighbor#
Выводит информацию о состоянии соседей.
- • show ipv6 ospfv3 neighbor detail#
Выводит информацию о соседях в подробном виде.
- • show ipv6 ospfv3 neighbor <A.B.C.D>#
Выводит в подробном виде информацию для конкретного соседа
<A.B.C.D>
.
- • show ipv6 ospfv3 neighbor <interface>#
Выводит в подробном виде информацию для соседа на указанном интерфейсе
<interface>
.
- • show ipv6 ospfv3 interface [prefix]|[<interface> [prefix]]#
Выводит информацию о состоянии и настройках OSPF для указанного интерфейса
<interface>
или для всех интерфейсов, если конкретный интерфейс не указан. С аргументомprefix
эта команда также выводит информацию о префиксах.
- • show ipv6 ospfv3 route#
Выводит таблицу маршрутизации OSPF, определенную по последнему расчету SPF.
- • show ipv6 ospfv3 border-routers#
Выводит таблицу путей к маршрутизаторам, граничащим с областью и автономной системой.
- • show ipv6 ospfv3 database#
Выводит на экран сводную таблицу с содержимым базы данных (LSA).
- • show ipv6 ospfv3 database <type> [A.B.C.D] [adv-router <A.B.C.D>|self-originate]#
Выводит содержимое базы данных для определенного типа рекламы каналов.
- • show ipv6 ospfv3 redistribute#
Выводит информацию о редистрибуции маршрутов в OSPFv3