s.lobanov Posted June 2, 2011 Posted June 2, 2011 Есть quagga(bgpd), которая подключается к роут-рефлектору. Конфиг: ! router bgp 1 bgp router-id 10.255.1.2 neighbor PE peer-group neighbor PE remote-as 1 neighbor PE update-source 10.255.1.2 neighbor 10.0.0.1 peer-group PE ! address-family vpnv4 unicast neighbor 10.0.0.1 activate neighbor 10.0.0.1 next-hop-self exit-address-family ! dump bgp updates /root/test.dmp line vty ! Интересуют префиксы в vpnv4 адресном простарнстве: bgpd# sh ip bgp vpnv4 all BGP table version is 0, local router ID is 10.255.1.2 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 1:1 *>i172.16.0.0/32 10.0.0.0 0 100 0 ? *>i172.16.0.1/32 10.0.0.1 0 100 0 ? *>i172.16.0.2/32 10.0.0.0 0 100 0 ? Route Distinguisher: 1:2 *>i172.16.0.0/32 10.0.0.0 0 100 0 ? В ipv4 простарнстве тоже приходит несколько сеток: bgpd# sh ip bgp BGP table version is 0, local router ID is 10.255.1.2 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, R Removed Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *>i10.0.0.0/32 10.255.0.1 11 100 0 ? *>i10.0.0.1/32 10.0.0.1 0 100 0 ? *>i10.255.0.0/30 10.0.0.1 0 100 0 ? Total number of prefixes 3 В файлик /root/test.dmp сваливаются bgp-апдейты, которые хочется превратить в человеческий формат. Формат файла описан тут http://www.quagga.net/docs/docs-multi/Packet-Binary-Dump-Format.html Единственное что я смог найти для чтения этих файликов это http://jon.oberheide.org/pybgpdump/ Запускаю утилиту ./route_btoa.py -i /root/test.dmp : ~/pybgp/svnc/pybgpdump-read-only/samples# ./route_btoa.py -i /root/test.dmp TIME: 06/02/11 12:50:02 TYPE: BGP4MP/MESSAGE/Update FROM: 10.0.0.1 AS1 TO: 10.255.1.2 AS1 ORIGIN: INCOMPLETE NEXT_HOP: 10.0.0.1 MULTI_EXIT_DISC: 0 LOCAL_PREF: 100 ANNOUNCE 10.255.0.0/30 10.0.0.1/32 TIME: 06/02/11 12:50:02 TYPE: BGP4MP/MESSAGE/Update FROM: 10.0.0.1 AS1 TO: 10.255.1.2 AS1 ORIGIN: INCOMPLETE NEXT_HOP: 10.255.0.1 MULTI_EXIT_DISC: 11 LOCAL_PREF: 100 ANNOUNCE 10.0.0.0/32 TIME: 06/02/11 12:50:02 TYPE: BGP4MP/MESSAGE/Update FROM: 10.0.0.1 AS1 TO: 10.255.1.2 AS1 ORIGIN: INCOMPLETE MULTI_EXIT_DISC: 0 LOCAL_PREF: 100 ORIGINATOR_ID: 10.0.0.0 CLUSTER_LIST: 10.0.0.1 TIME: 06/02/11 12:50:02 TYPE: BGP4MP/MESSAGE/Update FROM: 10.0.0.1 AS1 TO: 10.255.1.2 AS1 ORIGIN: INCOMPLETE MULTI_EXIT_DISC: 0 LOCAL_PREF: 100 TIME: 06/02/11 12:50:02 TYPE: BGP4MP/MESSAGE/Update FROM: 10.0.0.1 AS1 TO: 10.255.1.2 AS1 ORIGIN: INCOMPLETE MULTI_EXIT_DISC: 0 LOCAL_PREF: 100 ORIGINATOR_ID: 10.0.0.0 CLUSTER_LIST: 10.0.0.1 Как видно, префиксы в IPv4 пространстве отображаются, а в vpnv4 нет ни префиксов, ни rd. При том в самом файле префиксы точно есть(172.16.0.2 это AC 10 00 02 - такая последовательность байт есть в файлике). Поэтому интересуюсь, есть ли какие-нибудь полнофункциональные утилиты, которые умеют превращать mrt-файлы в человекочитаемые? Или хотя бы библиотеки, но желательно не на C/C++. Вставить ник Quote
s.lobanov Posted June 2, 2011 Author Posted June 2, 2011 Райповский bgpdump тоже не показывает :( .... TIME: 06/02/11 08:50:02 TYPE: BGP4MP/MESSAGE/Update FROM: 10.0.0.1 AS1 TO: 10.255.1.2 AS1 ORIGIN: INCOMPLETE ASPATH: NEXT_HOP: 10.255.0.1 MULTI_EXIT_DISC: 11 LOCAL_PREF: 100 ANNOUNCE 10.0.0.0/32 TIME: 06/02/11 08:50:02 TYPE: BGP4MP/MESSAGE/Update FROM: 10.0.0.1 AS1 TO: 10.255.1.2 AS1 ORIGIN: INCOMPLETE ASPATH: MULTI_EXIT_DISC: 0 LOCAL_PREF: 100 ORIGINATOR_ID: 10.0.0.0 CLUSTER_LIST: 10.0.0.1 UNKNOWN_ATTR(192, 16, 8): 00 02 00 01 00 00 00 02 MP_REACH_NLRIANNOUNCE ... Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.