Перейти к содержимому
Калькуляторы

Quagga и кернел роуты [решено]

В zebra указывается таблица в которую она эти маршруты суёт, может быть у вас указано какое-либо некорректное значение?

Вроде при компиляции ядра можно задать кол-во этих самых route tables. Например у вас собрано со значением 16, а вы в зебре указали 123.

 

Попробуйте руками добавить маршруты в ту таблицу.

ip ro add x.x.x.x/y via z.z.z.z table AAA

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В зебре ничего не указано. А значит роуты идут в глобал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну если вы хотите разобраться, то берите утилиту IP, назначайте ей такие же capabilities как у quagga, заливайте в точности такой же маршрут, смотрите в чём разница в сообщении netlink strace-ом

 

Ещё покажите /etc/iproute2/rt_protos , может там нет протокола для зебры

 

то, что федора это тестовый дистрибутив для rhel-а это даже сам redhat не скрывает и открыто об этом говорит: http://www.redhat.com/resourcelibrary/articles/relationship-between-fedora-and-rhel

 

The size and expertise of the Fedora community make Fedora an ideal incubator and proving ground for features that eventually get incorporated into Red Hat Enterprise Linux.

 

Из своего опыта могу сказать, что федора это самый нестабильный и ломающийся дистрибутив из не rolling-release дистрибутивов

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Багрепорт создал, пусть девелоперы разбираются, что сломали. В 19-й федоре работает. И при апгрейде с 19-й до 20-й вроде работает.

 

 

[root@dns quagga]# cat /etc/iproute2/rt_protos

#

# Reserved protocols.

#

0 unspec

1 redirect

2 kernel

3 boot

4 static

8 gated

9 ra

10 mrt

11 zebra

12 bird

13 dnrouted

14 xorp

15 ntk

16 dhcp

 

#

# Used by me for gated

#

254 gated/aggr

253 gated/bgp

252 gated/ospf

251 gated/ospfase

250 gated/rip

249 gated/static

248 gated/conn

247 gated/inet

246 gated/default

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну вот у меня была фигня точь в точь на Centos 5. Перерыл кучу материалов в сети - ответа не нашлось.

Но блин, вылетело что-то совсем из головы, как поправил. :(

Попробуйте поиграться со стыковыми сетями, со всеми статическими роутами такое?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Со всеми роутами такое. С изученными по BGP, по OSPF, заданными в квагге статикой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Случаем не оно https://bugzilla.redhat.com/show_bug.cgi?id=1097684 ?

Изменено пользователем stalker86

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Оно это. И, да sol со смешным английским и есть Соловьев Сергей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кто-бы мог подумать... Являюсь пользователем этой линейки со времён RH (не федоры) 4.1 на архитектуре x86 и со времён 6.2 (вроде-бы) на SPARC и 7.1 на Альфе. С конца 90-х более сотни машин в продакшене/были в продакшене. А вы говорите "тестовый"

У меня к федоре после несколких веселых вещей типа утечек памяти (если не ошибаюсь в 8 версии) и т.п. прелестей сложилось стойкое отвращение. Теперь - только LTS, только хардкор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нк вот и всё. Патч принят и уже ушёл в апдейты. Скоро на всех зеркалах страны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а в апстрим quagga его приняли или будут каждый раз патч перепиливать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А Х.З. Там весь патч - то 7 строк. Просто повышение привилегий с ядра 3.13 надо, оказывается, делать ДО создания сокета. А не после. Вот и весь патч в том, что-бы вызвать

 

if (zserv_privs.change (ZPRIVS_RAISE)) { zlog (NULL, LOG_ERR, "Can't raise privileges"); return -1; }

ДО

sock = socket (AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);

 

а не после.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не важно сколько строк, главное чтоб в апстрим приняли, а то иначе оно будет всплывать периодически

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

https://lists.quagga.net/pipermail/quagga-dev/2014-May/011370.html

 

Как я понял, приняли. И даже говорят, что надо шнеллер, шнеллер это всё делать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всем добрый день!

Решил не плодить темы, продолжу здесь.

Есть FreeBSD 9.3

 

# uname -a
FreeBSD Tunnel_GW 9.3-RELEASE FreeBSD 9.3-RELEASE #0: Wed Aug 13 22:45:54 YAKT 2014     root@Tunnel_GW:/usr/obj/usr/src/sys/TunGW-KERNEL  amd64

 

Установлена quagga из портов

 

# pkg info quagga
quagga-0.99.22.4_2
Name           : quagga
Version        : 0.99.22.4_2
Installed on   : Wed Aug 13 22:40:46 YAKT 2014
Origin         : net/quagga
Architecture   : freebsd:9:x86:64
Prefix         : /usr/local
Categories     : net ipv6
Licenses       : GPLv2
Maintainer     : boris@tagnet.ru
WWW            : http://www.quagga.net/
Comment        : Free RIPv1, RIPv2, OSPFv2, BGP4, IS-IS route software
Options        :
       DLMALLOC       : off
       ISISD          : off
       NO_BGP_ANNOUNCE: off
       OSPF_NEXTHOP   : off
       OSPF_OPAQUE_LSA: off
       PAM            : off
       RTADV          : off
       SNMP           : off
       TCPSOCKETS     : off
Shared Libs required:
       libzebra.so
       libospf.so
Shared Libs provided:
       libzebra.so
       libospf.so
Annotations    :
       repo_type      : binary
       repository     : FreeBSD

 

Конфигурации ospfd

 

!
! Zebra configuration saved from vty
!   2014/08/14 01:30:48
!
password zebra
enable password zebra
log file /var/log/quagga/ospfd.log
!
!
!
interface gre0
description to_COD
ip ospf network broadcast
!
interface lan0
!
interface lo0
!
interface pflog0
!
interface pfsync0
!
interface plip0
!
interface re0
!
interface re1
!
interface usbus0
!
interface wan0
!
router ospf
ospf router-id 10.11.14.8
network 10.11.14.8/30 area 0.0.0.0
network 192.168.1.32/30 area 0.0.0.0
!
line vty
!

 

zebra

!
! Zebra configuration saved from vty
!   2014/08/14 01:30:48
!
log file /var/log/quagga/zebra.log
!
interface gre0
ip address 192.168.1.34/30
ipv6 nd suppress-ra
!
interface lan0
ipv6 nd suppress-ra
!
interface lo0
!
interface pflog0
ipv6 nd suppress-ra
!
interface pfsync0
ipv6 nd suppress-ra
!
interface plip0
ipv6 nd suppress-ra
!
interface re0
ipv6 nd suppress-ra
!
interface re1
ipv6 nd suppress-ra
!
interface usbus0
ipv6 nd suppress-ra
!
interface wan0
ipv6 nd suppress-ra
!
!
!
line vty
!

 

На другой стороне Cisco 2901. Между ней и FreeBSD поднят GRE тоннель. Тоннель поднимается, маршрутизаторы обмениваются маршрутами, НО на FreeBSD маршруты не попадают в sh ip roure ospf из sh ip ospf database:

 

 sh ip ospf neighbor

   Neighbor ID Pri State           Dead Time Address         Interface            RXmtL RqstL DBsmL
10.10.0.254       1 Full/Backup       39.352s 192.168.1.33    gre0:192.168.1.34        0     0     0

 

 sh ip ospf database

      OSPF Router with ID (10.11.14.8)

               Router Link States (Area 0.0.0.0)

Link ID         ADV Router      Age  Seq#       CkSum  Link count
10.10.0.4       10.10.0.4       1536 0x80006500 0x871d 1
10.10.0.5       10.10.0.5       1953 0x80006598 0x5b01 6
.
.
.
.

172.16.255.6    172.16.255.6     115 0x800009fc 0x298e 2

               Net Link States (Area 0.0.0.0)

Link ID         ADV Router      Age  Seq#       CkSum
10.10.1.1       10.10.0.254     1636 0x800001d8 0x82ec
.
.
.
192.168.1.34    10.11.14.8      1064 0x80000001 0xbea8

               AS External Link States

Link ID         ADV Router      Age  Seq#       CkSum  Route
0.0.0.0         10.10.0.254      610 0x800000a1 0x55a9 E2 0.0.0.0/0 [0x1]
10.14.33.0      172.16.255.5     288 0x80000aa6 0x45fb E2 10.14.33.0/24 [0x0]
10.14.35.0      172.16.255.5     288 0x80000aa6 0x2f10 E2 10.14.35.0/24 [0x0]
.
.
.
.
172.16.40.0     10.10.0.40       865 0x8000035b 0xc5a0 E2 172.16.40.0/24 [0x0]
172.16.42.0     10.10.10.42     1302 0x8000018e 0x6db1 E2 172.16.42.0/24 [0x0]

 

# sh ip route ospf
Codes: K - kernel route, C - connected, S - static, R - RIP,
      O - OSPF, I - IS-IS, B - BGP, A - Babel,
      > - selected route, * - FIB route

O   192.168.1.32/30 [110/10] is directly connected, gre0, 00:20:35

 

Ума не приложу, в чем может быть проблема, не подскажите?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нашел причину, на интерфейсе gre0 висело

 

 ip ospf network broadcast

 

Убрал, заработало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.