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

quagga 0.99.17 на FreeBSD глючит Quagga не работает так как надо

Установил на FreeBSD 7.3 Quagga 0.99.17-4 с портов.

 

Имеются 2 NAS (VPN сервера на MPD5.5). Авторизуются по протоколам PPTP и L2TP.

Создана Area 0.0.0.0, куда включены НАСы и Маршрутизатор Edge-Core. Раздаются реальные динамические IP.

195.xxx.xxx.1 - Edge-Core - ASBR

195.xxx.xxx.18 - второй NAS

 

Соседи обнаруживаются..... Но, когда клиент авторизуется, то маршрут на него работает не стабильно.

По команде show ip ospf route маршрут то появляется при авторизации, то не появляется. Следствием чего, интернет то работает, то нет!

 

Не могу понять чего ему надо? На Slackware идентичный конфиг работает на ура!

 

В логах:

2010/12/31 00:30:07 ZEBRA: Can't lookup mtu by ioctl(SIOCGIFMTU)

2010/12/31 01:06:32 ZEBRA: Can't lookup mtu by ioctl(SIOCGIFMTU)

2010/12/31 01:06:32 ZEBRA: if_ioctl(SIOCGIFFLAGS) failed: Device not configured

2010/12/31 01:06:32 ZEBRA: if_ioctl(SIOCGIFFLAGS) failed: Device not configured

 

Больше ничего подозрительного в логах нет.

 

Конфиги:

 

ospf.conf

hostname ospfd

password xxxx

log file /usr/local/etc/quagga/ospfd.log

log stdout

interface em2

ip ospf hello-interval 2

ip ospf dead-interval 10

ip ospf network broadcast

router ospf

ospf router-id 10.10.10.10

network 195.xx.xx.0/22 area 0.0.0.0

neighbor 195.xx.xx.1

neighbor 195.xx.xx.18

passive-interface default

no passive-interface em2

distribute-list ospf out connected

 

zebra.conf

hostname gw1

password xxxx

enable password zebra

!

! Interface's description.

!

interface em2

multicast

 

ip forwarding

ip route 0.0.0.0/0 195.xxx.xxx.1

log stdout

log file /usr/local/etc/quagga/zebra.log

 

 

Помогите понять, почему Quagga на FreeBSD работает через одно место?

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

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


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

ну во-первых у вас как она настроена так и работает :)

зачем вам passive-interface, ip ospf network broadcast, neighbor?

выложите ifconfig плз

 

 

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


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

ну во-первых у вас как она настроена так и работает :)

зачем вам passive-interface, ip ospf network broadcast, neighbor?

выложите ifconfig плз

FreebsdVPN# ifconfig

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500

options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>

ether 00:0c:29:f2:0f:b2

inet 192.168.1.19 netmask 0xffffff00 broadcast 192.168.1.255

media: Ethernet autoselect (1000baseTX <full-duplex>)

status: active

em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500

options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>

ether 00:0c:29:f2:0f:bc

inet 10.230.0.19 netmask 0xfffff800 broadcast 10.230.7.255

media: Ethernet autoselect (1000baseTX <full-duplex>)

status: active

em2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500

options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>

ether 00:0c:29:f2:0f:c6

inet 195.xx.xx.22 netmask 0xffffffe0 broadcast 195.xxx.xxx.31

media: Ethernet autoselect (1000baseTX <full-duplex>)

status: active

plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> metric 0 mtu 1500

pfsync0: flags=0<> metric 0 mtu 1460

syncpeer: 224.0.0.240 maxupd: 128

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384

inet6 fe80::1%lo0 prefixlen 64 scopeid 0x6

inet6 ::1 prefixlen 128

inet 127.0.0.1 netmask 0xff000000

pflog0: flags=141<UP,RUNNING,PROMISC> metric 0 mtu 33204

ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1396

inet 192.168.1.19 --> 195.x.xx.97 netmask 0xffffffff

ng2: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1396

inet 192.168.1.19 --> 195.xx.xx.130 netmask 0xffffffff

ng1: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1396

inet 192.168.1.19 --> 195.xx.xx.147 netmask 0xffffffff

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

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


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

В логах еще такое нашел:

2010/12/31 11:14:44 OSPF: can't setsockopt IP_ADD_MEMBERSHIP (fd 6, addr 192.168.1.19, ifindex 9, AllSPFRouters): Invalid argument; perhaps a kernel limit on # of multicast group memberships has been exceeded?

2010/12/31 11:14:44 OSPF: ospfTrapIfStateChange trap sent: 192.168.1.19 now Point-To-Point

2010/12/31 11:14:44 OSPF: can't setsockopt IP_ADD_MEMBERSHIP (fd 6, addr 192.168.1.19, ifindex 10, AllSPFRouters): Invalid argument; perhaps a kernel limit on # of multicast group memberships has been exceeded?

2010/12/31 11:14:44 OSPF: Link State Update: Unknown Neighbor 195.xxx.xx.1 on int: em2:195.xxx.xxx.22

 

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


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

вы не редистрибьютите правильно

нужно как минимум redistribute kernel и redistribute connected, чтобы роуты с ng появлялись в сети (только нужно правильно написать роут-мэп)

а также описать все интерфейсы ng в виде

interface ng1

ip ospf network broadcast

...

interface ngX

ip ospf network broadcast

 

дефолт статикой также выбросить из конфига, принимать его через ospf, и отключить глобально ip ospf network broadcast

 

я бы пересадила ospf на серые адреса и сделала только редистрибьюцию суммарного маршрута до вашей подсети

или если оставить в таком варианте, то можно вообще от ospf отказаться, зароутить статикой вашу белую подсеть

 

upd. нужно пересмотреть схему этого всего, на мой взгляд это криво, убирайте белые подсети с интерфейсов

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

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


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

вы не редистрибьютите правильно

нужно как минимум redistribute kernel и redistribute connected, чтобы роуты с ng появлялись в сети (только нужно правильно написать роут-мэп)

а также описать все интерфейсы ng в виде

interface ng1

ip ospf network broadcast

...

interface ngX

ip ospf network broadcast

 

дефолт статикой также выбросить из конфига, принимать его через ospf, и отключить глобально ip ospf network broadcast

 

я бы пересадила ospf на серые адреса и сделала только редистрибьюцию суммарного маршрута до вашей подсети

или если оставить в таком варианте, то можно вообще от ospf отказаться, зароутить статикой вашу белую подсеть

 

upd. нужно пересмотреть схему этого всего, на мой взгляд это криво, убирайте белые подсети с интерфейсов

AS

 

Как так описать все интерфейсы вида ngX? Их более чем 2000 штук.

Команды ospf: redistribute kernel и redistribute connected стоят на Edge-Core как AS border routers

 

 

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


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

не правильно. Connected & kernel должны стоять на сервере доступа

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


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

Уберите 192.168.1.19 из конфига mpd, поставьте там адрес из другой подсети, например 10.0.0.1.

Бедная квагга не знает, с каким интерфейсом работать.

 

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


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

Уберите 192.168.1.19 из конфига mpd, поставьте там адрес из другой подсети, например 10.0.0.1.

Бедная квагга не знает, с каким интерфейсом работать.

в mpd5 конфиге ваще нет упоминания об 192.168.1.19

 

startup:

# configure mpd users

set user rhxxx xxxx

# configure the console

set console self 127.0.0.1 5005

set console open

# configure the web server

set web self 0.0.0.0 5006

set netflow peer 192.168.1.4 9996

set netflow timeouts 10 10

set web open

 

default:

load pptp_server

load l2tp_server

 

pptp_server:

 

# Define dynamic IP address pool.

# set ippool add pool1 172.16.1.50 172.16.1.99

 

# Create clonable bundle template named B

create bundle template B

set iface enable proxy-arp

set iface idle 1800

set iface enable tcpmssfix

set iface enable netflow-out

set ipcp yes vjcomp

 

# Specify IP address pool for dynamic assigment.

# set ipcp ranges 192.168.2.1/32 ippool pool1

set ipcp dns 192.168.1.23

# The five lines below enable Microsoft Point-to-Point encryption

# (MPPE) using the ng_mppc(8) netgraph node type.

set bundle enable compression

set ccp yes mppc

set mppc yes e40

set mppc yes e128

set mppc yes stateless

 

# Create clonable link template named L

create link template L pptp

# Set bundle template to use

set link action bundle B

# Multilink adds some overhead, but gives full 1500 MTU.

set link disable multilink

set link yes acfcomp protocomp

set link no pap chap eap

set link enable chap

# We can use use RADIUS authentication/accounting by including

# another config section with label 'radius'.

set link keep-alive 60 180

# We reducing link mtu to avoid GRE packet fragmentation.

set link mtu 1400

set link enable peer-as-calling

# Configure PPTP

set pptp self 0.0.0.0

# Allow to accept calls

set link enable incoming

set pptp disable windowing

load radius

....

 

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


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

ng1: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1396

inet 192.168.1.19 --> 195.xx.xx.147 netmask 0xffffffff

хм, раскомментируйте set ippool и set ipcp ranges

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


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

А OSPF Вам обязательна?

Судя по

Имеются 2 NAS (VPN сервера на MPD5.5). Авторизуются по протоколам PPTP и L2TP.
задача состоит в том, чтобы "рассказать" роутеру о маршрутах на НАС-ы?

Я подобное решаю с помощью RIP из того же пакета quagga той же версии. Правда на FreeBSD 8.1, ну и сессий (на обоих НАС-ах) в два раза меньше вашего.

Жужжит, аки пчёл и не кашляет. :)

 

P.S. Насчёт OSPF вместо RIP меня здесь (и НЕ здесь тоже) не раз пинали, но... Посоветовался с коллегами... И... Юзаю без проблем то, что выше описано...

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

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


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

router ospf

ospf router-id 10.10.10.10

network 195.xx.xx.0/22 area 0.0.0.0

neighbor 195.xx.xx.1

neighbor 195.xx.xx.18

passive-interface default

no passive-interface em2

distribute-list ospf out connected[/i]

Без static neighbor'ов они не сцепляются чтоли?

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


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

Может кто встречался с проблемой:

quagga не соединяется по bgp

похоже требует аутентификацию в логах такая строка:

BGP: %NOTIFICATION: received from neighbor 82.96.200.33 2/5 (OPEN Message Error/Authentication Failure) 0 bytes

И провайдер говорит, что похоже от нас идёт запрос пароля или чего-то подобного. Только у меня нигде ничего такого не задано.

quagga 0.99.17, до этого пытал 0.99.16 - после обновления проблема осталась, конфиги как только не менял.

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


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

Поддержу RIP.

2000 постоянно изменяющихся маршрутов для OSPF - слишком много. При изменении хотя бы одного маршрута перестраивается вся area.

Кстати, а L3-свитчи у вас тоже OSPF принимают? А то у меня некоторые уже при ~800 маршрутах в ребут уходили.

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


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

Может кто встречался с проблемой:

quagga не соединяется по bgp

похоже требует аутентификацию в логах такая строка:

BGP: %NOTIFICATION: received from neighbor 82.96.200.33 2/5 (OPEN Message Error/Authentication Failure) 0 bytes

И провайдер говорит, что похоже от нас идёт запрос пароля или чего-то подобного. Только у меня нигде ничего такого не задано.

quagga 0.99.17, до этого пытал 0.99.16 - после обновления проблема осталась, конфиги как только не менял.

конфиг покажите плз

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


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

ноу проблем

hostname tele-mag2

password ххх

enable password ххх

log file /var/log/quagga/zebra.log

interface em0

interface em2

interface em1

ip forwarding

line vty

no exec-timeout

hostname tele-mag2_bgpd

password ххх

log file /var/log/quagga/bgpd.log

router bgp 51991

bgp router-id 82.96.200.34

bgp log-neighbor-changes

network 91.221.174.0/23

neighbor 82.96.200.33 remote-as 30751

neighbor 82.96.200.33 description EUROTEL

neighbor 82.96.200.33 next-hop-self

neighbor 82.96.200.33 prefix-list AS51991 out

!

access-list 120 deny ip any any

!

ip prefix-list AS51991 seq 1 permit 91.221.174.0/23 le 32

!

line vty

!

log stdout

конфиг bgpd сокращал до предела

 

на sh ip bgp neighbor выдаётся:

tele-mag2_bgpd> sh ip bgp neighbor

BGP neighbor is 82.96.200.33, remote AS 30751, local AS 51991, external link

Description: EUROTEL

BGP version 4, remote router ID 10.62.255.1

BGP state = Idle

Last read 00:12:36, hold time is 180, keepalive interval is 60 seconds

Message statistics:......

Вот думаю откуда тут remote router ID 10.62.255.1?

 

странно также, что на этом сервере мне не удалось запустить openbgpd - тупо не запускается и всё :(

похоже придётся собрать на другом компе сервачок с фря 7.2 например. На этом сервере фря 8.1 и на него ничего лишнего вроде не ставили. Сейчас запущены только ipnat и ipfw.

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

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


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

Вопрос закрыт - похоже явный баг провайдера. После предъявы им дебага bgp-соединения вдруг поднялась сессия, только они ошибку свою так и не признали. Ну в общем это не первый раз, просто пока только один пров, как ко 2-му подключимся, буду сильнее с ними ругаться.

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


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

Join the conversation

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

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

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

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

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

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

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