Jump to content

Recommended Posts

Posted

Сложилась такая ситуация: bird стабильно теряет несколько маршрутов (пробовали ibgp и ospf) и не найдя решения этой проблемы (тут же на наге создавал тему) было принято решение поставить quagga. Я взял один из своих серверов(centos) и свой рабочий ПК(archlinux) установил на них quagga, поднял bgp-соседство. Затем я установил на наш bras(у нас он называется NAS и имеет на борту freebsd 9.1) quagga и бгп соседство с сервером(centos), и сервер настроил для передачи маршрутов на рабочий арч. У себя на арче я сразу увидел все ng-интерфейсы которые анонсировал bras.

Дело оставалось за малым - настроить quagga на bras'е для передачи маршрутов бордеру(freebsd 9.1) на котором тоже стоит bird.

Для начала я решил так же не заморачиваясь настроить bgp-соседство на bras'e и на centos/arch (С помощью quagga, конечно), чтобы потом просто поменять адрес АСки и ip на соответсвующие бордеру. Всё настроил как обычно, но вот беда - выводы команд и содержимое логов под спойлерами.

bras:

 

 

bgpd# show ip bgp summary
bgpd#

bgpd# show ip bgp neighbors
bgpd#

Это меня смутило и я заглянул в конфиг (сначала работающий)

bgpd# show running-config

Current configuration:
!
hostname bgpd
password 
enable password
log file /var/log/quagga/bgpd.log
!
line vty
!
end
bgpd#

Затем конфиг запуска:

bgpd# show startup-config

Current configuration:
!
hostname bgpd
password 
enable password
log file /var/log/quagga/bgpd.log
!
router bgp 11111
bgp router-id <bras ip adress>
bgp log-neighbor-chnges
neighbor <arch ip adress> remote-as 22222
neighbor <arch ip adress> update-source <arch ip adress>
!
line vty
!
end
bgpd#

Я думаю понятно, что в файле конфигурации /usr/local/etc/quagga/bgpd.conf написано именно то, что можно увидеть в show startup-config.

Сначала я подумал, что допускаю какие то ошибки в конфиге и стёр конфиг полностью кроме строк с паролем. Затем настроил всё через telnet.

bgpd# enable
bgpd#
bgpd# configure terminal
bgpd(config)#
...
bgpd# copy running-config startup-config

Там где "..." я просто вбивал те же команды, дабы программа сама составила себе конфиг без возможных ошибок.

Соответственно никакого результата это не дало.

 

Кроме того в логах bgpd.log: (bras)

BGPd 0.99.22.3 starting: vty@2505, bgp@<all>:179
can't bind socket : Can't assign requested adress
%ADJCHANGE: neighbor <ip arch> UP
bind: adress already in use
bgp_socket: no usable adresses
Terminating on signal
bind: adress already in use
bgp_socket: no usable adresses
bind: adress already in use
bgp_socket: no usable adresses
BGPd 0.99.22.3 starting: vty@2505, bgp@<all>:179
can't bind socket : Can't assign requested adress
can't bind socket : Can't assign requested adress
%ADJCHANGE: neighbor <ip arch> UP
Vty connection from 127.0.0.1
Vty connection from 127.0.0.1

 

 

archlinux:

 

 

На archlinux я наблюдаю совершенно иную ситуацию:

bgpd# show ip bgp summary
BGP router identifier <ip>, local AS number 22222
RIB entries 0, using 0 bytes of memory
Peers 1, using 4560 bytes of memory

Neighbor    V    AS    MsgRcvd  MsgSent  TblVer  InQ  OutQ  Up/Down   State/PfxRcd
<bras ip>   4  11111    10486    10574     0      0    0    08:07:13       0

Total number of neighbors 1

 

bgpd# show ip bgp neighbors
BGP neighbor is <bras ip>, remote AS, local AS, external link
 BGP version 4, remote router ID <bras ip>
 BGP state = Established, up for 08:05:13
 Last read 00:00:06, hold time is 180, keepalive interval is 60 seconds
 Neighbor capabilities:
   4 Byte AS: advertised and received
   Route refresh: advertised and received(old & new)
   Adress family IPv4 Unicast: advertised and received
 Message statistics:
   Inq: depth is 0
   Outq: depth is 0
                       Sent    Rcvd
   Opens:               59      0
   Notifications:        0      0
   Updates:              0      0
   Keepalive:          10513  10486      
   Route Refresh:        0      0 
   Capability:           0      0 
   Total:              10574  10486
 Minimum time between adwertisment runs is 30 seconds
 Update source is <bras ip>

For adress family: IPv4 Unicast
 Community attribute sent to this neighbor(both)
 0 accepted prefix

 Connections established 29; dropped 28
 Last reset 08:07:13, dye to Peer closed the session
Local host: <ip arch>, Local port: 179
Foreign host: <bras ip>, Foreign port: 52854
Nexthop: <ip arch>
Nexthop global: <ipv6>
Nexthop local: ::
BGP connection: non shared network
Read thread: on white thread: off

В логах такая ситуация:

%ADJCHANGE: neighbor <bras ip> Up
%ADJCHANGE: neighbor <bras ip> Down Peer closed the session
can't bind socket : Can't assign requested adress
%ADJCHANGE: neighbor <bras ip> Up
%ADJCHANGE: neighbor <bras ip> Down Peer closed the session
can't bind socket : Can't assign requested adress
%ADJCHANGE: neighbor <bras ip> Up
%ADJCHANGE: neighbor <bras ip> Down Peer closed the session
can't bind socket : Can't assign requested adress
%ADJCHANGE: neighbor <bras ip> Up
%ADJCHANGE: neighbor <bras ip> Down Peer closed the session
can't bind socket : Can't assign requested adress
...

bgpd.conf абсолютно аналогичен.

На centos ситуация в точности такая же.

 

 

Помогите, пожалуйста, решить проблему.

Posted

router bgp 11111

 bgp router-id <bras ip adress>

 bgp log-neighbor-chnges

 neighbor <arch ip adress> remote-as 22222

 neighbor <arch ip adress> update-source <arch ip adress>

 

 

Оно у вас реально так вписано? Ну тогда не удивительно что не работает.

Попробуйте без нее

Posted

Убрал, перезапустил, эффекта не получил...

Что не так в этой строчке? На сколько я помню из того, что читал - эта строка указывает на адрес обмена update сообщениями с соседом...

Posted

Да у вас там кроме этого радости хватает. iBGP на разных автономках, явно не вписаны network или redistribute.

А сама эта строка означает с какого интерфейса цепляться к соседу, обычно на цисках используют чтобы с loopback делать сессии.

 

В файлах то сохраняется что-либо после copy runn start или write?

 

И там бгпд случаем не пару раз запущен?

Posted

После "copy running-config startup-config" конфиг bgpd.conf сохранился нормально и результат я выложил в первом посте.

Там запущен bird... но я думал он никак не может повлиять на чтение конфига quagga тем более, что у одного демона может быть несколько соседей, но понимаю к чему вы ведете... Таки два бгп демона одновременно жить не могут?

Posted

После "copy running-config startup-config" конфиг bgpd.conf сохранился нормально и результат я выложил в первом посте.

Там запущен bird... но я думал он никак не может повлиять на чтение конфига quagga тем более, что у одного демона может быть несколько соседей, но понимаю к чему вы ведете... Таки два бгп демона одновременно жить не могут?

 

Ну порт то один. Вполне предсказуемо было, не?

Posted

"Виной всему человеческая глупость." - мои же слова)

Спасибо за помощь, DVM-Avgoor

 

Еще такой вопрос: на сколько я понимаю все интерфейсы на bras будут анонсироваться сами(без особых настроек)

zebra.conf

hostname zebra
password
enable password
log file .../zebra.log
line vty

Posted

"Виной всему человеческая глупость." - мои же слова)

Спасибо за помощь, DVM-Avgoor

 

Еще такой вопрос: на сколько я понимаю все интерфейсы на bras будут анонсироваться сами(без особых настроек)

zebra.conf

hostname zebra
password
enable password
log file .../zebra.log
line vty

 

Ммм... они получаются connected? Не уверен что по iBGP они сами выльются. Ну там redistribute connected в помощь :)

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.