OSPF: как рекламировать подсеть сервера OpenVPN?

Я успешно настроил OSPF на всех наших маршрутизаторах HP ProCurve 7102 и на большинстве наших внутренних маршрутизаторов Linux. Маршруты рекламируются, и все хорошо.

За исключением маршрутов в подсети, которые обрабатываются различными службами OpenVPN и другими VPN-соединениями по всей компании. Пожалуйста, рассмотрите картинку ниже, которая показывает часть сети компании:

введите описание здесь

Красные стрелки - VPN-соединения. Синяя область внизу показывает область OSPF 0 (магистраль), которая включает маршрутизаторы во всех других офисах. Розовая зона изображает зону 177 OSPF для одного из наших офисов. Оранжевый прямоугольник - это рассматриваемая сеть OpenVPN, размещенная на маршрутизаторе Linux, обозначенном синим значком со стрелками.

Подсеть 10.177.0.0/16 должным образом объявлена ​​всем остальным областям OSPF. Однако, несмотря на то, что сеть 10.180.1.0/24 включена в конфигурацию OSPF, а интерфейс tun0 включен в область 177(как пассивный интерфейс), эта подсеть не объявляется.

Это потому, что это на самом деле внешний маршрут? Если да, то как бы я сказал демону OSPF рекламировать этот маршрут?

2 ответа

Решение

Первая мысль, которая приходит на ум, заключается в том, что вам нужно перераспределить маршруты ядра в дополнение к подключенным маршрутам в Quagga/Zebra OSPF. Поскольку OpenVPN сам добавляет маршруты, Zebra не будет перераспределять их, если в вашей конфигурации есть только "перераспределить статические".

Я также использую OpenVPN в средах OSPF, и все прекрасно перераспределяется.

Примечание: вам может понадобиться добавить некоторые фильтры списка перераспределения, чтобы предотвратить перераспределение других маршрутов ядра, которые не должны рекламироваться.

Другим вариантом является добавление статического маршрута в Zebra для 10.180.1.0/24, переходящего в ноль, или устройства loopback.

Я столкнулся с подобной проблемой после оргии "избавиться от ядра и статических маршрутов".

Решение для моего случая состоит в том, чтобы поместить сеть OpenVPN в другую область OSPF, а затем использовать хитрый трюк с заменой префикса /32, связанного с адресом конечной точки сервера, на префикс подсети /24. например

192.168.22.0/24 - это подсеть OpenvVPN на моем сервере FreeBSD 10.3-PRERELEASE OpenVPN.

В openvpn.conf:

dev tun
server 192.168.22.0 255.255.255.0

Когда OpenVPN запущен, интерфейс tun0 имеет следующую конфигурацию:

munchkin# ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
    options=80000<LINKSTATE>
    inet6 fe80::222:15ff:fe4b:7e10%tun0 prefixlen 64 scopeid 0x1c 
    inet 192.168.22.1 --> 192.168.22.2 netmask 0xffffffff 
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    Opened by PID 2746

В ospfd.conf:

router ospf
...
network 192.168.11.0/24 area 0.0.0.0
network 192.168.22.0/24 area 0.0.0.1
area 0.0.0.1 range 192.168.22.1/32 substitute 192.168.22.0/24

Затем OSPF объявляет 192.168.22.0/24 вместо 192.168.22.1/32

NB Это работает только через границу области.

Другие вопросы по тегам