The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Quagga + tun интерфейсы (openvpn)"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Quagga + tun интерфейсы (openvpn)"  +/
Сообщение от ALex_hha (ok) on 14-Окт-09, 19:00 
Привет всем, столкнулся с такой проблемой. Есть два офиса: офис1 (192.168.1.0/24), офиc2 (192.168.2.0/24). Cвязанных между собой оптикой. У каждого из офисов есть свой выход в инет.

Задача, сделать так, чтобы при падении канала между офисами, роутинг для подсетей 1.0/24 и 2.0/24 перекидывался на vpn тунель поднятый через внешние каналы каждого из офисов.

Поверх транспорта поднят openvpn тунель (tun0): 10.1.1.1  P-t-P:10.1.1.2

Поднял quagga, настроил ospf.

# show version
Quagga 0.98.6 (router1.office1.com).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

# cat zebra.conf
!
hostname router1.office1.com
password zebra
log file /var/log/quagga/quagga.log
!
interface eth0
!
interface eth1
!
interface eth2
!
interface lo
!
interface sit0
!
interface tun0
no shutdown
description OSPF primary chanel
!
interface tun1
no shutdown
description OSPF backup chanel
!
ip forwarding
!
line vty
!

eth0 - 192.168.1.1, смотрит в локалку 192.168.1.0/24
eth1 - 172.16.1.1, оптика, транспорт между офисами.
eth2 - xxx.xxx.xxx.xxx - смотрит в мир.

Настраиваю ospf

# cat ospfd.conf
hostname router1.office1.com
password zebra
log file /var/log/quagga/ospfd.log
!
interface tun0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 ********
ip ospf hello-interval 3
ip ospf dead-interval 10
ip ospf cost 10
!
interface tun1
!
router ospf
ospf router-id 192.168.1.1
redistribute kernel
redistribute connected
redistribute static
network 192.168.1.0/24 area 0.0.0.0
area 0.0.0.0 authentication message-digest
!
line vty
!

Запускаю оба демона, теперь смотрю настройки ospf

# show ip ospf interface
eth0 is up
  Internet Address 192.168.1.1/24, Broadcast 192.168.1.255, Area 0.0.0.0
  Router ID 192.168.1.1, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State DR, Priority 1
  Designated Router (ID) 192.168.1.1, Interface Address 192.168.4.1
  No backup designated router on this network
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    Hello due in 00:00:10
  Neighbor Count is 0, Adjacent neighbor count is 0
eth1 is up
  OSPF not enabled on this interface
eth2 is up
  OSPF not enabled on this interface
lo is up
  OSPF not enabled on this interface
sit0 is down
  OSPF not enabled on this interface
tun0 is up
  OSPF not enabled on this interface
tun1 is up
  OSPF not enabled on this interface

Почему он выдает на интерфейсе tun0 - "OSPF not enabled on this interface"? Как включить ospf для интерфейса tun0?

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Quagga + tun интерфейсы (openvpn)"  +/
Сообщение от Z0termaNN (ok) on 15-Окт-09, 17:04 
>[оверквотинг удален]
>  OSPF not enabled on this interface
>sit0 is down
>  OSPF not enabled on this interface
>tun0 is up
>  OSPF not enabled on this interface
>tun1 is up
>  OSPF not enabled on this interface
>
>Почему он выдает на интерфейсе tun0 - "OSPF not enabled on this
>interface"? Как включить ospf для интерфейса tun0?

# conf t
# inter tun0
# ip ospf cost 5
# exit
# inter tun1
# ip ospf cost 20
# exit

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Quagga + tun интерфейсы (openvpn)"  +/
Сообщение от ALex_hha (ok) on 15-Окт-09, 19:15 
>>Почему он выдает на интерфейсе tun0 - "OSPF not enabled on this
>>interface"? Как включить ospf для интерфейса tun0?
>
># conf t
># inter tun0
># ip ospf cost 5
># exit
># inter tun1
># ip ospf cost 20
># exit

В результате получаю

# show ip ospf interface
eth0 is up
  OSPF not enabled on this interface
eth1 is up
  OSPF not enabled on this interface
eth2 is up
  OSPF not enabled on this interface
lo is up
  OSPF not enabled on this interface
sit0 is down
  OSPF not enabled on this interface
tun0 is up
  OSPF not enabled on this interface
tun1 is up
  OSPF not enabled on this interface

Уже разобрался, оказывается в кваге нельзя указать на интерфейсе, какие именно сети мы будем анонсировать :(

Т.е. на циске можно сделать так

conf t
router ospf 1
network 192.168.1.0/24 area 0

conf t
inter tun0
ip ospf 1 area 0

Или все таки, как то можно указать кваге, что маршруты в подсеть 192.168.1.0/24 анонсировать только на интерфейсах tun0 и tun1?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Quagga + tun интерфейсы (openvpn)"  +/
Сообщение от RSG (ok) on 16-Окт-09, 18:20 
>>>Почему он выдает на интерфейсе tun0 - "OSPF not enabled on this
>>>interface"? Как включить ospf для интерфейса tun0?

network 10.1.1.0/30 area 0

>[оверквотинг удален]
>
>Т.е. на циске можно сделать так
>
>conf t
>router ospf 1
>network 192.168.1.0/24 area 0
>
>conf t
>inter tun0
>ip ospf 1 area 0

Т.к. OSPF является протоколом по стоянию каналов есть возможность указывать активность протокла на отдельном интерфейсе (а-ля IS-IS). Но изначально только через комманду network.

>
>Или все таки, как то можно указать кваге, что маршруты в подсеть
>192.168.1.0/24 анонсировать только на интерфейсах tun0 и tun1?

В протоколе OSPF никаких анонсов сетей не происходит. Рассылаются сообщения LSA, содержащие информацию о состоянии каналов (и моного еще чего). Каждый маршрутизатор в области имеет идентичную LSDB, на основе кторой строятся маршруты.

В Вашем случае мне кажется не хватает :
1) Убрать весь редистрибьют.
2) Запустить OSPF на интерфейсах (добавить инфорормацию о линках):
(c-r)#network 10.1.1.1/30 area 0
(c-r)#network 172.16.1.1/? area 0
3)Проверить смежность
#sh ip ospf neig
4)Проврить LSDB
# sh ip ospf data
5)В zebra провреить появление маршрутов
#sh ip ro
6) Установить метрику на тунель больше чем на eth, если tun будет резервом.
(c-i-tun0)#ip ospf cost 50

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Quagga + tun интерфейсы (openvpn)"  +/
Сообщение от ALex_hha (ok) on 19-Окт-09, 01:13 
>>>>Почему он выдает на интерфейсе tun0 - "OSPF not enabled on this
>>>>interface"? Как включить ospf для интерфейса tun0?
>
>network 10.1.1.0/30 area 0

да, это я уже нашел

>Т.к. OSPF является протоколом по стоянию каналов есть возможность указывать активность протокла
>на отдельном интерфейсе (а-ля IS-IS). Но изначально только через комманду network.
>>Или все таки, как то можно указать кваге, что маршруты в подсеть
>>192.168.1.0/24 анонсировать только на интерфейсах tun0 и tun1?
>В протоколе OSPF никаких анонсов сетей не происходит.

имелось ввиду анонсы маршрутов в сети, т.е. то, что мы задаем с помощью редистрибьют

>В Вашем случае мне кажется не хватает :
>1) Убрать весь редистрибьют.

разве в таком случае, сосед будет знать что попасть в подсеть второго офиса можно через интерфейсы tun0/tun1?

>2) Запустить OSPF на интерфейсах (добавить инфорормацию о линках):
>(c-r)#network 10.1.1.1/30 area 0
>(c-r)#network 172.16.1.1/? area 0

так как это тоже тунель типа точка-точка, то думаю маска будет тоже 30, насколько понял из описания, маска в команде network должна совпадать или быть не меньше маски сетевого интерфейса

>3)Проверить смежность
>#sh ip ospf neig
>4)Проврить LSDB
># sh ip ospf data
>5)В zebra провреить появление маршрутов
>#sh ip ro
>6) Установить метрику на тунель больше чем на eth, если tun будет
>резервом.
>(c-i-tun0)#ip ospf cost 50

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Quagga + tun интерфейсы (openvpn)"  +/
Сообщение от RSG (ok) on 19-Окт-09, 11:13 
>>В протоколе OSPF никаких анонсов сетей не происходит.
>
>имелось ввиду анонсы маршрутов в сети, т.е. то, что мы задаем с
>помощью редистрибьют

Еще раз. В OSPF анонсов сетей как это делается в дистанционно-векторных (RIP,EIGRP) нет.
Вся таблица маршрутизации строится на каждом маршрутизаторе отдельно, на основе Link-State Advertisement (LSA) и алгоритма SPF.
Для внешних маршрутов (полученных по redistribute) использует LSA типа 5 и типа 7 для NSSA.


>
>>В Вашем случае мне кажется не хватает :
>>1) Убрать весь редистрибьют.
>
>разве в таком случае, сосед будет знать что попасть в подсеть второго
>офиса можно через интерфейсы tun0/tun1?
>

Если все интерфейсы включены в процесс OSPF, то конечно соседи будут знать о этих линках.


>>2) Запустить OSPF на интерфейсах (добавить инфорормацию о линках):
>>(c-r)#network 10.1.1.1/30 area 0
>>(c-r)#network 172.16.1.1/? area 0
>
>так как это тоже тунель типа точка-точка, то думаю маска будет тоже
>30, насколько понял из описания, маска в команде network должна совпадать
>или быть не меньше маски сетевого интерфейса

При запуске процесса ospf из команды network берется префикс. Кажды ip на всех интерфейсах проверятеся на вхождение в данный префикс. При совпадении, на интерфейсе запускается ospf (прием мультикастовых сообщений) и линк  добавляется в базу данных  состоянии каналов. Далее эта база синхронизируется по всей ospf области с использованием LSA.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Quagga + tun интерфейсы (openvpn)"  +/
Сообщение от ALex_hha (ok) on 19-Окт-09, 19:53 
Поступил по другому, ограничил доступ так

router ospf
ospf router-id 10.1.1.1
redistribute connected route-map Local_Network
network 10.1.1.1/30 area 0.0.0.0
network 192.168.127.1/30 area 0.0.0.0
area 0.0.0.0 authentication message-digest
!
ip prefix-list Local_Network seq 10 permit xxx.xxx.xxx.xxx/24
ip prefix-list Local_Network seq 100 deny any
!
route-map Local_Network permit 10
match ip address prefix-list Local_Network
!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру