Страница 1 из 1

freebsd 8 quagga bgp

Добавлено: 2010-05-31 13:04:24
zefir01
всем здравствуйте. я только начинаю осваивать динамическую маршрутизацию, поэтому прошу сильно не ругаться...
есть вопрос. есть три роутера:
1) роутер А

Код: Выделить всё

bgpd(config-router)# sh ru

Current configuration:
!
hostname bgpd
password zebra
log file /var/log/bgpd.log
log stdout
!
bgp config-type cisco
!
router bgp 65001
 no synchronization
 bgp router-id 192.168.3.1
 bgp log-neighbor-changes
 network 192.168.3.0
 redistribute connected route-map ACC-ROUTE
 neighbor 192.168.253.3 remote-as 65001
 neighbor 192.168.253.3 route-reflector-client
 neighbor 192.168.253.3 next-hop-self
 neighbor 192.168.253.3 soft-reconfiguration inbound
 neighbor 192.168.253.5 remote-as 65001
 neighbor 192.168.253.5 route-reflector-client
 neighbor 192.168.253.5 next-hop-self
 neighbor 192.168.253.5 soft-reconfiguration inbound
 no auto-summary
!
ip prefix-list acc_rout seq 5 deny 192.168.40.0/24 le 32
ip prefix-list acc_rout seq 10 permit 192.168.0.0/16 le 32
ip prefix-list acc_rout seq 15 deny any
!
route-map ACC-ROUTE permit 10
 match ip address prefix-list acc_rout
!
line vty
!
end
route-map ACC-ROUTE permit 10 - это чтобы остальным роутерам не ушли маршруты на внешние интерфейсы.

маршруты bgp:

Код: Выделить всё

bgpd> sh ip bgp
BGP table version is 0, local router ID is 192.168.3.1
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
*  192.168.3.0      0.0.0.0                  1         32768 ?
*>                  0.0.0.0                  0         32768 i
*>i192.168.4.0      192.168.253.3            0    100      0 i
*>i192.168.11.0     192.168.253.5            0    100      0 i
*> 192.168.253.3/32 192.168.253.1            1         32768 ?
*> 192.168.253.5/32 192.168.253.1            1         32768 ?

Total number of prefixes 5
2) роутер B

Код: Выделить всё

bgpd(config-router)# sh ru

Current configuration:
!
hostname bgpd
password zebra
log stdout
!
bgp config-type cisco
!
router bgp 65001
 no synchronization
 bgp router-id 192.168.11.10
 network 192.168.11.0
 neighbor 192.168.253.1 remote-as 65001
 neighbor 192.168.253.1 next-hop-self
 neighbor 192.168.253.1 soft-reconfiguration inbound
 no auto-summary
!
line vty
!
end

маршруты bgp:

Код: Выделить всё

bgpd> sh ip bgp
BGP table version is 0, local router ID is 192.168.11.10
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
*>i192.168.3.0      192.168.253.1            0    100      0 i
*>i192.168.4.0      192.168.253.3            0    100      0 i
*> 192.168.11.0     0.0.0.0                  0         32768 i
*>i192.168.253.3/32 192.168.253.1            1    100      0 ?
*>i192.168.253.5/32 192.168.253.1            1    100      0 ?

Total number of prefixes 5
этот роутер сосед с роутером А
маршруты на этом роутере:

Код: Выделить всё

[root@gatestal ~]# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            хх.хх.хх.хх      UGS         0     1182    ng0
127.0.0.1          link#7             UH          0  2257893    lo0
192.168.3.0/24     192.168.253.1      UG1         0    83855    ng1
192.168.4.0/24     192.168.253.1      UGS         0        5    ng1
192.168.11.0/24    link#1             U          17 20706256    re0
192.168.11.2       link#1             UHS         0  1868135    lo0
192.168.11.10      link#1             UHS         0 13206590    lo0
192.168.253.0/24   192.168.253.1      UGS         0        0    ng1
192.168.253.1      link#9             UH          1    10848    ng1
192.168.253.3      192.168.253.1      UGH1        0      363    ng1
192.168.253.5      link#9             UHS         0        0    lo0

Internet6:
Destination                       Gateway                       Flags      Netif Expire
::1                               ::1                           UH          lo0
fe80::%lo0/64                     link#7                        U           lo0
fe80::1%lo0                       link#7                        UHS         lo0
ff01:7::/32                       fe80::1%lo0                   U           lo0
ff02::%lo0/32                     fe80::1%lo0                   U           lo0
извините но маршруты связанные с внешними интерфейсами убрал в целях безопасности.

3) и есть роутер С

Код: Выделить всё

bgpd# sh ru

Current configuration:
!
hostname bgpd
password zebra
log stdout
!
debug bgp updates
!
bgp config-type cisco
!
router bgp 65001
 no synchronization
 bgp router-id 192.168.4.1
 network 192.168.4.0
 neighbor 192.168.253.1 remote-as 65001
 neighbor 192.168.253.1 next-hop-self
 neighbor 192.168.253.1 soft-reconfiguration inbound
 no auto-summary
!
line vty
!
end
маршруты bgp:

Код: Выделить всё

bgpd> sh ip bgp
BGP table version is 0, local router ID is 192.168.4.1
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
*>i192.168.3.0      192.168.253.1            0    100      0 i
*> 192.168.4.0      0.0.0.0                  0         32768 i
*>i192.168.11.0     192.168.253.5            0    100      0 i
*>i192.168.253.3/32 192.168.253.1            1    100      0 ?
*>i192.168.253.5/32 192.168.253.1            1    100      0 ?

Total number of prefixes 5
маршруты :

Код: Выделить всё

Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            yy.yy.yy.yy         UGS        14     1132    rl0
127.0.0.1          link#7             UH          0    89722    lo0
192.168.3.0/24     192.168.253.1      UG1         0    12962    ng0
192.168.4.0/24     link#1             U          11  1296912    re0
192.168.4.1        link#1             UHS         0  2895918    lo0
192.168.4.7        link#1             UHS         0   130239    lo0
192.168.11.0/24    yy.yy.yy.yy     UG1         0        0    vr0
192.168.253.1      link#8             UH          0    37192    ng0
192.168.253.3      link#8             UHS         0        0    lo0
192.168.253.5      192.168.253.1      UGH1        0        7    ng0

Internet6:
Destination                       Gateway                       Flags      Netif Expire
::1                               ::1                           UH          lo0
fe80::%lo0/64                     link#7                        U           lo0
fe80::1%lo0                       link#7                        UHS         lo0
ff01:7::/32                       fe80::1%lo0                   U           lo0
ff02::%lo0/32                     fe80::1%lo0                   U           lo0
задумка была такая: роутер А зеркалирует маршруты до сетей 192.168.4.0/24 и 192.168.11.0/24 добавляя свою сеть 192.168.3.0/24
сеть 192.168.4.0/24 с роутера С, через роутер А, анонсируется роутеру В. шлюз выставляется 192.168.253.1 , т.е. адрес роутера А. тут все правильно.
а сеть 192.168.11.0/24 с роутера В, через роутер А, анонсируется роутеру С. шлюз выставляется тот который соит по умолчанию. (поскольку используются фибы, выставляется любой из шлюзов по умолчанию(фибы используются на всех роутерах)). вот это как раз и есть моя проблема.
т.е. next hop вместо 192.168.253.1 ставится yy.yy.yy.yy . почему не пойму. роутеры B и C настроены одинаково....
роутеры соединены через pptp тунели mpd 5.5 .
на всех роутерах FreeBSD 8.0-STABLE.

Код: Выделить всё

[root@shegate /usr/local/etc/rc.d]# zebra -v
zebra version 0.99.15
подскажите пожалуйста, в какую сторону смотреть....

Re: freebsd 8 quagga bgp

Добавлено: 2010-06-01 9:53:03
Al
Написано слишком много(. На короткие технические вопросы готов ответить.

Re: freebsd 8 quagga bgp

Добавлено: 2010-06-01 10:03:22
zefir01
ну, обычно народ ругается, мол мы не телепаты ... вот и постарался поподробнее :oops:
есть два соседа:

Код: Выделить всё

redistribute connected route-map ACC-ROUTE
 neighbor 192.168.253.3 remote-as 65001
 neighbor 192.168.253.3 route-reflector-client
 neighbor 192.168.253.3 next-hop-self
 neighbor 192.168.253.3 soft-reconfiguration inbound
 neighbor 192.168.253.5 remote-as 65001
 neighbor 192.168.253.5 route-reflector-client
 neighbor 192.168.253.5 next-hop-self
 neighbor 192.168.253.5 soft-reconfiguration inbound
один получает такие маршруты:

Код: Выделить всё

bgpd> sh ip bgp
BGP table version is 0, local router ID is 192.168.4.1
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
*>i192.168.3.0      192.168.253.1            0    100      0 i
*> 192.168.4.0      0.0.0.0                  0         32768 i
*>i192.168.11.0     192.168.253.5            0    100      0 i
*>i192.168.253.3/32 192.168.253.1            1    100      0 ?
*>i192.168.253.5/32 192.168.253.1            1    100      0 ?

Total number of prefixes 5
а другой такие:

Код: Выделить всё

bgpd> sh ip bgp
BGP table version is 0, local router ID is 192.168.11.10
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
*>i192.168.3.0      192.168.253.1            0    100      0 i
*>i192.168.4.0      192.168.253.3            0    100      0 i
*> 192.168.11.0     0.0.0.0                  0         32768 i
*>i192.168.253.3/32 192.168.253.1            1    100      0 ?
*>i192.168.253.5/32 192.168.253.1            1    100      0 ?

Total number of prefixes 5
настроены одинаково.
почему у одного маршрут такой:

Код: Выделить всё

*>i192.168.11.0     192.168.253.5            0    100      0 i
хотя должен быть гейт 192.168.253.1
а у другого такой:

Код: Выделить всё

*>i192.168.3.0      192.168.253.1            0    100      0 i
т.е. правильный.

Re: freebsd 8 quagga bgp

Добавлено: 2010-06-01 10:17:42
Al
Нарисуйте логическую схему с адресами.
Если 192.168.253.5 - адрес одного из роутеров, а маршрут не должен лежать через него, дело в некст-хоп селф.
Короче,рисуйте)

Re: freebsd 8 quagga bgp

Добавлено: 2010-06-01 10:23:03
zefir01
вот дело то как раз в next-hop-self. на одного сеседа работает а на другого нет.... хотя прописано на обоих....
щас.. нарисую.....

Re: freebsd 8 quagga bgp

Добавлено: 2010-06-01 10:38:01
zefir01
Изображение

Re: freebsd 8 quagga bgp

Добавлено: 2010-06-01 10:56:29
Al
Если они все у тебя роут-рефлекторы, не боишься при полносвязной получить кольца?
Покажи на роутере В маршруты, принятые с роутера С. Я к тому, что, возможно, приходит правильный маршрут, но в качестве итоговоо выбирается не он.

Re: freebsd 8 quagga bgp

Добавлено: 2010-06-01 11:09:04
Al
Кстате,если сети присоединенные и у тебя фулл-меш, нафиг вообще роут-рефлекторы? Если только на случай падения одного из связующих каналов, что б в этом случае трафик шел по длинному пути?

Re: freebsd 8 quagga bgp

Добавлено: 2010-06-01 15:09:35
zefir01
тут роутер А центральный. связи между B и С нет и не будет. поэтому не будет и фул-меш и колец соотвественно.
маршруты на роутере А:

Код: Выделить всё

bgpd> sh ip bgp
BGP table version is 0, local router ID is 192.168.3.1
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
*  192.168.3.0      0.0.0.0                  1         32768 ?
*>                  0.0.0.0                  0         32768 i
*>i192.168.4.0      192.168.253.3            0    100      0 i
*>i192.168.11.0     192.168.253.5            0    100      0 i
*> 192.168.253.3/32 192.168.253.1            1         32768 ?
*> 192.168.253.5/32 192.168.253.1            1         32768 ?

Total number of prefixes 5
тут вроде все правильно.
а вот на роутере В не правильно:

Код: Выделить всё

bgpd> sh ip bgp
BGP table version is 0, local router ID is 192.168.4.1
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
*>i192.168.3.0      192.168.253.1            0    100      0 i
*> 192.168.4.0      0.0.0.0                  0         32768 i
*>i192.168.11.0     192.168.253.5            0    100      0 i
*>i192.168.253.3/32 192.168.253.1            1    100      0 ?
*>i192.168.253.5/32 192.168.253.1            1    100      0 ?

Total number of prefixes 5
откуда то берется 192.168.253.5 вместо 192.168.253.1

Re: freebsd 8 quagga bgp

Добавлено: 2010-06-01 15:24:05
Al
На первый взгляд непонятно.
Нарисуй нормальную схему с указанием подсетей, которыми соединены маршрутизаторы и их адреса. Из твоей более-менее понятны только присоединенные сети.
Только у меня создалось впечатление, что ты маршрутизатор воткнул посреди сети?

Re: freebsd 8 quagga bgp

Добавлено: 2010-06-01 15:50:33
zefir01
Изображение
все верно, маршрутизатор А действительно получается в середине сети.
ой пардон, опечатался, на роутере В адрес 192.168.253.3 а не 192.168.153.3

Re: freebsd 8 quagga bgp

Добавлено: 2010-06-01 16:02:00
zefir01
кстати, если убрать рефлекторы разнести роутеры по разным АС (ebgp) , то все работает правильно...

Re: freebsd 8 quagga bgp

Добавлено: 2010-06-01 16:19:56
Al
Нельзя маршрутизатор ставить посреди сети. Поменяй адресацию. Возможно, проблема в этом. Сделай 2 сети по 30 маске между ними. Чтобы сети не пересекались.

Re: freebsd 8 quagga bgp

Добавлено: 2010-06-01 19:33:04
zefir01
аа.. извини, я тебя не так понял. на самом деле адреса 192.168.253.3 192.168.253.5 192.168.253.1 это разные сети. это концы туннелей мпд. у них у всех маска 32.

Re: freebsd 8 quagga bgp

Добавлено: 2010-06-01 19:43:00
zefir01
щас заметил интересный момент: на роутерах В и С маршруты нормальные если смотреть через bgpd. а вот в систему они заносятся по разному. такое впечатление, что роутер С понимает что роутер 192.168.253.3(В) находится за роутером 192.168.253.1(А) и ставит 253.1(А) для полученых сетей. а вот роутер В не понимает что роутер 253.5(С) находится за роутером 253.1(А) и пытается поставить на прямую.... и пытается определить маршрут к 253.5(С) не находити ставит дефолтный...

Re: freebsd 8 quagga bgp

Добавлено: 2010-06-01 19:51:29
zefir01
роутер В:

Код: Выделить всё

bgpd> sh ip bgp neighbors
BGP neighbor is 192.168.253.1, remote AS 65001, local AS 65001, internal link
  BGP version 4, remote router ID 192.168.3.1
  BGP state = Established, up for 00:20:20
  Last read 00:00:20, hold time is 180, keepalive interval is 60 seconds
  Neighbor capabilities:
    4 Byte AS: advertised and received
    Route refresh: advertised and received(old & new)
    Address family IPv4 Unicast: advertised and received
  Message statistics:
    Inq depth is 0
    Outq depth is 0
                         Sent       Rcvd
    Opens:                  3          1
    Notifications:          0          1
    Updates:                2          6
    Keepalives:            26         24
    Route Refresh:          0          0
    Capability:             0          0
    Total:                 31         32
  Minimum time between advertisement runs is 5 seconds

 For address family: IPv4 Unicast
  Inbound soft reconfiguration allowed
  NEXT_HOP is always this router
  4 accepted prefixes

  Connections established 2; dropped 1
  Last reset 00:20:34, due to BGP Notification received
Local host: 192.168.253.3, Local port: 62971
Foreign host: 192.168.253.1, Foreign port: 179
Nexthop: 192.168.253.3
Nexthop global: ::
Nexthop local: ::
BGP connection: non shared network
Read thread: on  Write thread: off
NEXT_HOP is always this router т.е. он видит, что роутер А должен быть некстхопом. а ставит не верно...

Re: freebsd 8 quagga bgp

Добавлено: 2010-06-01 20:26:04
zefir01
УРА! нашел причину. на роутере С висели скрипты, которые я забыл отключить.

Re: freebsd 8 quagga bgp

Добавлено: 2010-06-02 7:05:10
Al
))))