breakneck Posted October 25, 2013 · Report post Сложилась такая ситуация: 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 ситуация в точности такая же. Помогите, пожалуйста, решить проблему. Share this post Link to post Share on other sites
DVM-Avgoor Posted October 25, 2013 · Report post 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> Оно у вас реально так вписано? Ну тогда не удивительно что не работает. Попробуйте без нее Share this post Link to post Share on other sites
breakneck Posted October 25, 2013 · Report post Убрал, перезапустил, эффекта не получил... Что не так в этой строчке? На сколько я помню из того, что читал - эта строка указывает на адрес обмена update сообщениями с соседом... Share this post Link to post Share on other sites
DVM-Avgoor Posted October 25, 2013 · Report post Да у вас там кроме этого радости хватает. iBGP на разных автономках, явно не вписаны network или redistribute. А сама эта строка означает с какого интерфейса цепляться к соседу, обычно на цисках используют чтобы с loopback делать сессии. В файлах то сохраняется что-либо после copy runn start или write? И там бгпд случаем не пару раз запущен? Share this post Link to post Share on other sites
breakneck Posted October 25, 2013 · Report post После "copy running-config startup-config" конфиг bgpd.conf сохранился нормально и результат я выложил в первом посте. Там запущен bird... но я думал он никак не может повлиять на чтение конфига quagga тем более, что у одного демона может быть несколько соседей, но понимаю к чему вы ведете... Таки два бгп демона одновременно жить не могут? Share this post Link to post Share on other sites
anix Posted October 25, 2013 (edited) · Report post ошибочка :) Edited October 25, 2013 by anix Share this post Link to post Share on other sites
DVM-Avgoor Posted October 25, 2013 · Report post После "copy running-config startup-config" конфиг bgpd.conf сохранился нормально и результат я выложил в первом посте. Там запущен bird... но я думал он никак не может повлиять на чтение конфига quagga тем более, что у одного демона может быть несколько соседей, но понимаю к чему вы ведете... Таки два бгп демона одновременно жить не могут? Ну порт то один. Вполне предсказуемо было, не? Share this post Link to post Share on other sites
breakneck Posted October 25, 2013 · Report post "Виной всему человеческая глупость." - мои же слова) Спасибо за помощь, DVM-Avgoor Еще такой вопрос: на сколько я понимаю все интерфейсы на bras будут анонсироваться сами(без особых настроек) zebra.conf hostname zebra password enable password log file .../zebra.log line vty Share this post Link to post Share on other sites
DVM-Avgoor Posted October 25, 2013 · Report post "Виной всему человеческая глупость." - мои же слова) Спасибо за помощь, DVM-Avgoor Еще такой вопрос: на сколько я понимаю все интерфейсы на bras будут анонсироваться сами(без особых настроек) zebra.conf hostname zebra password enable password log file .../zebra.log line vty Ммм... они получаются connected? Не уверен что по iBGP они сами выльются. Ну там redistribute connected в помощь :) Share this post Link to post Share on other sites