Jump to content
Калькуляторы

redistribute ospf в bgp на DMVPN

Приветствую.

 

Есть обширная сеть с OSPF. Понадобилось организовать DMVPN с несколькими Hub-ами в разных местах.

Упрощенная схема в эмуляторе такая:

shema.thumb.jpg.64c09a86032171019382d9ce96d44ead.jpg

 

Конфиги

 

Hub1:

Hub1#sh run int tun1
Building configuration...

Current configuration : 261 bytes
!
interface Tunnel1
 description DMVPN1
 ip address 172.16.0.1 255.255.255.0
 no ip redirects
 ip mtu 1464
 ip nhrp authentication dmvpn1
 ip nhrp network-id 1
 ip tcp adjust-mss 1424
 tunnel source 1.1.1.1
 tunnel mode gre multipoint
 tunnel key 11111111
end

Hub1#sh run | se router
router ospf 1
 router-id 10.0.0.5
 log-adjacency-changes
 redistribute bgp 65000 subnets
 network 10.0.0.5 0.0.0.0 area 0
router bgp 65000
 no synchronization
 bgp log-neighbor-changes
 bgp redistribute-internal
 redistribute ospf 1
 neighbor tun1 peer-group
 neighbor tun1 remote-as 65000
 neighbor tun1 update-source Tunnel1
 neighbor tun1 timers 5 30
 neighbor tun1 route-reflector-client
 neighbor tun1 next-hop-self
 neighbor 172.16.0.2 peer-group tun1
 distance bgp 20 50 50
 no auto-summary
Hub1#

Hub2:

Hub2#sh run int tun2
Building configuration...

Current configuration : 261 bytes
!
interface Tunnel2
 description DMVPN2
 ip address 172.17.0.1 255.255.255.0
 no ip redirects
 ip mtu 1464
 ip nhrp authentication dmvpn1
 ip nhrp network-id 2
 ip tcp adjust-mss 1424
 tunnel source 2.2.2.1
 tunnel mode gre multipoint
 tunnel key 22222222
end

Hub2#sh run | se router
router ospf 1
 log-adjacency-changes
 redistribute bgp 65000 subnets
router bgp 65000
 no synchronization
 bgp log-neighbor-changes
 bgp redistribute-internal
 redistribute ospf 1
 neighbor tun2 peer-group
 neighbor tun2 remote-as 65000
 neighbor tun2 update-source Tunnel2
 neighbor tun2 timers 5 30
 neighbor tun2 route-reflector-client
 neighbor tun2 next-hop-self
 neighbor 172.17.0.2 peer-group tun2
 distance bgp 20 50 50
 no auto-summary
Hub2#

 

Spoke:

Spoke#sh run int tun1
Building configuration...

Current configuration : 356 bytes
!
interface Tunnel1
 description DMVPN1
 ip address 172.16.0.2 255.255.255.0
 no ip redirects
 ip mtu 1464
 ip nhrp authentication dmvpn1
 ip nhrp map multicast 1.1.1.1
 ip nhrp map 172.16.0.1 1.1.1.1
 ip nhrp network-id 1
 ip nhrp nhs 172.16.0.1
 ip tcp adjust-mss 1424
 tunnel source FastEthernet0/0
 tunnel mode gre multipoint
 tunnel key 11111111
end

Spoke#sh run int tun2
Building configuration...

Current configuration : 356 bytes
!
interface Tunnel2
 description DMVPN2
 ip address 172.17.0.2 255.255.255.0
 no ip redirects
 ip mtu 1464
 ip nhrp authentication dmvpn1
 ip nhrp map multicast 2.2.2.1
 ip nhrp map 172.17.0.1 2.2.2.1
 ip nhrp network-id 2
 ip nhrp nhs 172.17.0.1
 ip tcp adjust-mss 1424
 tunnel source FastEthernet0/1
 tunnel mode gre multipoint
 tunnel key 22222222
end

Spoke#sh run | se router bgp
router bgp 65000
 no synchronization
 bgp router-id 10.1.0.1
 bgp log-neighbor-changes
 network 10.1.0.1 mask 255.255.255.255
 network 10.10.10.0 mask 255.255.255.0
 redistribute connected
 neighbor DMVPN-Hub peer-group
 neighbor DMVPN-Hub remote-as 65000
 neighbor DMVPN-Hub timers 5 30
 neighbor DMVPN-Hub send-community both
 neighbor DMVPN-Hub route-map RM_SPOKE2HUB_OUT out
 neighbor 172.16.0.1 peer-group DMVPN-Hub
 neighbor 172.17.0.1 peer-group DMVPN-Hub
 no auto-summary
Spoke#

 

Благодаря команде distance bgp 20 50 50, на каждом Hub-е подсеть Spoke 10.10.10.0/24 доступна через свой dmvpn туннель. Т.е. все работает как надо.

 

По умолчанию redistribute ospf 1 не редистрибьютит external маршруты, а у меня есть статический маршрут на SW3 в сторону SW4 (10.30.30.0/24), который редистрибьютится в OSPF как static.

Поэтому приходится на Hub-ах redistribute ospf 1 заменить на redistribute ospf 1 match internal external 1 external 2.

Но после этого начинается бардак с сетью от Spoke 10.10.10.0/24.

На одном Hub-е она доступна через свой dmvpn туннель, а на другом через OSPF.

Hub1#sh ip bgp
BGP table version is 29, local router ID is 10.0.0.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 10.0.0.1/32      192.168.0.9             11         32768 ?
*> 10.0.0.2/32      192.168.0.9             12         32768 ?
*> 10.0.0.3/32      192.168.0.9             13         32768 ?
*> 10.0.0.5/32      0.0.0.0                  0         32768 ?
*>i10.1.0.1/32      172.16.0.2               0    100      0 i
*>i10.10.10.0/24    172.16.0.2               0    100      0 i
*> 10.30.30.0/24    192.168.0.9             13         32768 ?
*> 100.64.0.0/16    192.168.0.9             20         32768 ?
r>i172.16.0.0/24    172.16.0.2               0    100      0 ?
*>i172.17.0.0/24    172.16.0.2               0    100      0 ?
*> 192.168.0.0/30   192.168.0.9             11         32768 ?
*> 192.168.0.4/30   192.168.0.9             12         32768 ?
*> 192.168.0.8/30   0.0.0.0                  0         32768 ?
*> 192.168.0.12/30  192.168.0.9             13         32768 ?
Hub1#sh ip route 10.10.10.1
Routing entry for 10.10.10.0/24
  Known via "bgp 65000", distance 50, metric 0, type internal
  Redistributing via ospf 1
  Advertised by ospf 1 subnets
  Last update from 172.16.0.2 00:27:11 ago
  Routing Descriptor Blocks:
  * 172.16.0.2, from 172.16.0.2, 00:27:11 ago
      Route metric is 0, traffic share count is 1
      AS Hops 0
Hub2#sh ip bgp
BGP table version is 35, local router ID is 192.168.0.14
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 10.0.0.1/32      192.168.0.13            13         32768 ?
*> 10.0.0.2/32      192.168.0.13            12         32768 ?
*> 10.0.0.3/32      192.168.0.13            11         32768 ?
*> 10.0.0.5/32      192.168.0.13            14         32768 ?
* i10.1.0.1/32      172.17.0.2               0    100      0 i
*>                  192.168.0.13             1         32768 ?
* i10.10.10.0/24    172.17.0.2               0    100      0 i
*>                  192.168.0.13             1         32768 ?
*> 10.30.30.0/24    192.168.0.13            11         32768 ?
*> 100.64.0.0/16    192.168.0.13            20         32768 ?
*>i172.16.0.0/24    172.17.0.2               0    100      0 ?
r>i172.17.0.0/24    172.17.0.2               0    100      0 ?
*> 192.168.0.0/30   192.168.0.13            12         32768 ?
*> 192.168.0.4/30   192.168.0.13            11         32768 ?
*> 192.168.0.8/30   192.168.0.13            13         32768 ?
*> 192.168.0.12/30  0.0.0.0                  0         32768 ?
Hub2#sh ip route 10.10.10.1
Routing entry for 10.10.10.0/24
  Known via "ospf 1", distance 110, metric 1, type extern 2, forward metric 13
  Redistributing via bgp 65000
  Advertised by bgp 65000 match internal external 1 & 2
  Last update from 192.168.0.13 on FastEthernet0/1, 00:26:38 ago
  Routing Descriptor Blocks:
  * 192.168.0.13, from 10.0.0.5, 00:26:38 ago, via FastEthernet0/1
      Route metric is 1, traffic share count is 1

Что я делаю не так ?

Edited by alger

Share this post


Link to post
Share on other sites
20 минут назад, kapydan сказал:

ospf как настроен?

 

sh run | s ospf

на Hub-ах я показал. все в одной area 0, на интерфейсах типа ip ospf 1 area 0.

где еще интересует ?

Edited by alger

Share this post


Link to post
Share on other sites

Самое интересное что если оба Hub-а перезагрузить, то работает все как надо, но до первого падения любого из тунелей. стоит один из туннелей погасить и включить через пару минут, все опять криво работает.

Тоже самое пробовал и на реальном железе 4431 с последней прошивкой. Результат такойже.

Share this post


Link to post
Share on other sites
15 часов назад, zhenya` сказал:

Используйте eBGP с одной AS на все споки. 

не понял.

уточните вы предлагаете на хабах использовать один номер AS (например 65000) а на споках другой номер (например 65001)?

Share this post


Link to post
Share on other sites
В 03.05.2020 в 18:24, alger сказал:

на Hub-ах я показал. все в одной area 0, на интерфейсах типа ip ospf 1 area 0.

где еще интересует ?

 

хотели не так давно реализовать один схожий проект проект, тоже с bgp на dmvpn - только там bgp as 65001 должна была быть именно на dmvpn. А за споками был ospf, который должен был редистрибутиться в bgp... Правда там сайты не имели связи, кроме как через хаб.

 

2020-05-05 17-42-06.JPG

 

А на Вашей схеме sw 1-2-3 - это l3 или l2 свичи?

Share this post


Link to post
Share on other sites
1 час назад, kapydan сказал:

А на Вашей схеме sw 1-2-3 - это l3 или l2 свичи?

L3

 

Ну, на самом деле у меня есть кое-где и OSPF за споками. но тут вроде проблем нет.

 

12 часов назад, zhenya` сказал:

Да, именно так.

попробую, но как-то не красиво получается.

Edited by alger

Share this post


Link to post
Share on other sites

Возможно, стоит рассмотреть вариант с дистрибьют листом для проблемной сети на одном из споков.

Share this post


Link to post
Share on other sites
4 минуты назад, kapydan сказал:

Возможно, стоит рассмотреть вариант с дистрибьют листом для проблемной сети на одном из споков.

не понимаю что можно фильтровать на споке ?

проблема именно на хабах, и похоже глюк в IOS. реально не понимаю почему  iBGP для которого  distance указан меньше чем на OSPF, все равно у OSPF больше приоритет.

 

* i10.1.0.1/32      172.17.0.2               0    100      0 i
*>                  192.168.0.13             1         32768 ?

Может быть дело в том что i, т.е. Origin codes: i - IGP, e - EGP, ? - incomplete ?

 

PS: после команды clear ip bgp * на хабе, работает как надо до первого падения туннеля, потом опять, на сети спока с которым падал тунель фигня с маршрутами.

 

Edited by alger

Share this post


Link to post
Share on other sites
В 04.05.2020 в 04:18, zhenya` сказал:

Используйте eBGP с одной AS на все споки. 

Все тоже самое, до первого падения туннеля, потом на одном идет через OSPF.

Hub2#sh ip bgp
BGP table version is 15, local router ID is 192.168.0.14
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 10.0.0.1/32      192.168.0.13            13         32768 ?
*> 10.0.0.2/32      192.168.0.13            12         32768 ?
*> 10.0.0.3/32      192.168.0.13            11         32768 ?
*> 10.0.0.5/32      192.168.0.13            14         32768 ?
*  10.1.0.1/32      172.17.0.2               0             0 65001 i
*>                  192.168.0.13             1         32768 ?
*  10.10.10.0/24    172.17.0.2               0             0 65001 i
*>                  192.168.0.13             1         32768 ?
*> 192.168.0.0/30   192.168.0.13            12         32768 ?
*> 192.168.0.4/30   192.168.0.13            11         32768 ?
*> 192.168.0.8/30   192.168.0.13            13         32768 ?
*> 192.168.0.12/30  0.0.0.0                  0         32768 ?
Hub2#

 

Edited by alger

Share this post


Link to post
Share on other sites

Так, а настроить оба хаба и споки подобным образом текущий ios дает?

 

для спока (на 800-х железках точно работает) и хаба 3945, правда для eigrp

 

interface Tunnel0
 bandwidth 1000
 ip address 172.17.110.65 255.255.0.0
 no ip redirects
 ip mtu 1400
 ip flow ingress
 ip nhrp authentication 123vpn
 ip nhrp map 172.17.0.11 194.22.11.11
 ip nhrp map multicast 194.22.11.11
 ip nhrp map 172.17.0.12 194.22.11.12
 ip nhrp map multicast 194.22.11.12
 ip nhrp network-id 100002
 ip nhrp holdtime 360
 ip nhrp nhs 172.17.0.11
 ip nhrp nhs 172.17.0.12
 ip tcp adjust-mss 1360
 delay 1000
 cdp enable
 tunnel source FastEthernet4
 tunnel mode gre multipoint
 tunnel key 100002
 tunnel protection ipsec profile name123

 

хаб 1

 

interface Tunnel0
 description DMVPN_Hub
 bandwidth 10000
 ip vrf forwarding ...
 ip address 172.17.0.11 255.255.0.0
 no ip redirects
 ip mtu 1400
 no ip next-hop-self eigrp as_number
 no ip split-horizon eigrp as_number
 ip flow ingress
 ip nhrp authentication 123vpn
 ip nhrp map multicast dynamic
 ip nhrp map 172.17.0.12 194.22.11.12
 ip nhrp map multicast 194.22.11.12
 ip nhrp network-id 100002
 ip nhrp holdtime 360
 ip nhrp nhs 172.17.0.12
 ip virtual-reassembly in
 ip tcp adjust-mss 1360
 cdp enable
 tunnel source GigabitEthernet0/0.505
 tunnel mode gre multipoint
 tunnel key 100002
 tunnel vrf dmz
 tunnel protection ipsec profile name123 shared

 

хаб 2

 

interface Tunnel0
 description DMVPN_Hub
 bandwidth 100000
 vrf forwarding ...
 ip address 172.17.0.12 255.255.0.0
 no ip redirects
 ip mtu 1400
 no ip next-hop-self eigrp as_number
 no ip split-horizon eigrp as_number
 ip flow ingress
 ip nhrp authentication 123vpn
 ip nhrp map multicast dynamic
 ip nhrp map multicast 194.22.11.11
 ip nhrp map 172.17.0.11 194.22.11.11
 ip nhrp network-id 100002
 ip nhrp holdtime 360
 ip nhrp nhs 172.17.0.11
 ip virtual-reassembly in
 ip tcp adjust-mss 1360
 cdp enable
 tunnel source GigabitEthernet0/0.505
 tunnel mode gre multipoint
 tunnel key 100002
 tunnel protection ipsec profile name123 shared

Share this post


Link to post
Share on other sites
9 минут назад, kapydan сказал:

Так, а настроить оба хаба и споки подобным образом текущий ios дает?

 

для спока (на 800-х железках точно работает) и хаба 3945, правда для eigrp

c eigrp проблем нет. тут проблема именно ospf<>bgp.

Share this post


Link to post
Share on other sites

тут моя мысль немного в другом. попробовать настроить не два туннеля на споке, а один 

 

 ip nhrp map 172.17.0.11 194.22.11.11
 ip nhrp map multicast 194.22.11.11
 ip nhrp map 172.17.0.12 194.22.11.12
 ip nhrp map multicast 194.22.11.12

 

с eigrp проблем нет - т.е. при редистрибуции с текущими настройками, еигрп работает корректно?

Share this post


Link to post
Share on other sites
6 минут назад, kapydan сказал:

тут моя мысль немного в другом. попробовать настроить не два туннеля на споке, а один 

 

 ip nhrp map 172.17.0.11 194.22.11.11
 ip nhrp map multicast 194.22.11.11
 ip nhrp map 172.17.0.12 194.22.11.12
 ip nhrp map multicast 194.22.11.12

разве можно так делать для территориально разнесенных хабов ?

а несколько туннелей мне все равно придется делать, т.к. на большинстве споков по два внешних канала.

 

Share this post


Link to post
Share on other sites
4 минуты назад, alger сказал:

разве можно так делать для территориально разнесенных хабов ?

в принципе да, но вот неуверен что все ios поддерживают.

Share this post


Link to post
Share on other sites

distance bgp 20 50 50 уберите.

плюс у вас похоже в router bgp redistribute ospf 1 match internal external, сделайте просто redistribute ospf 1

Share this post


Link to post
Share on other sites
3 часа назад, zhenya` сказал:

distance bgp 20 50 50 уберите.

плюс у вас похоже в router bgp redistribute ospf 1 match internal external, сделайте просто redistribute ospf 1

при redistribute ospf 1, как я выше писал, не редистрибьютятся статические маршруты которые есть на SW3.

Share this post


Link to post
Share on other sites

тогда попробуйте добавить к этому route-map.

route-map BGP-OSPF permit 10
set tag 500

route-map OSPF-BGP deny 10
match tag 500
route-map OSPF-BGP permit 99 

 

 

Share this post


Link to post
Share on other sites
30 минут назад, zhenya` сказал:

тогда попробуйте добавить к этому route-map.

route-map BGP-OSPF permit 10
set tag 500

route-map OSPF-BGP deny 10
match tag 500
route-map OSPF-BGP permit 99 

 

 

не помогло:

Hub2#sh ip bgp
BGP table version is 15, local router ID is 192.168.0.14
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 10.0.0.1/32      192.168.0.13            13         32768 ?
*> 10.0.0.2/32      192.168.0.13            12         32768 ?
*> 10.0.0.3/32      192.168.0.13            11         32768 ?
*> 10.0.0.5/32      192.168.0.13            14         32768 ?
* i10.1.0.1/32      172.17.0.2               0    100      0 i
*>                  192.168.0.13             1         32768 ?
* i10.10.10.0/24    172.17.0.2               0    100      0 i
*>                  192.168.0.13             1         32768 ?
*> 192.168.0.0/30   192.168.0.13            12         32768 ?
*> 192.168.0.4/30   192.168.0.13            11         32768 ?
*> 192.168.0.8/30   192.168.0.13            13         32768 ?
*> 192.168.0.12/30  0.0.0.0                  0         32768 ?
Hub2#sh run | se router
router ospf 1
 log-adjacency-changes
 redistribute bgp 65000 subnets route-map BGP-OSPF
router bgp 65000
 no synchronization
 bgp log-neighbor-changes
 bgp redistribute-internal
 redistribute ospf 1 match internal external 1 external 2 route-map OSPF-BGP
 neighbor tun2 peer-group
 neighbor tun2 remote-as 65000
 neighbor tun2 update-source Tunnel2
 neighbor tun2 timers 5 30
 neighbor tun2 route-reflector-client
 neighbor tun2 next-hop-self
 neighbor 172.17.0.2 peer-group tun2
 distance bgp 20 50 50
 no auto-summary
Hub2#

 

Share this post


Link to post
Share on other sites

ну вы подергайте все сессии чтобы тэги проехали и етс. Изменения накатили на оба хаба?

show ip route 10.10.10.0

 

сделайте все таки ebgp.

Share this post


Link to post
Share on other sites
8 часов назад, zhenya` сказал:

тогда попробуйте добавить к этому route-map.

route-map BGP-OSPF permit 10
set tag 500

route-map OSPF-BGP deny 10
match tag 500
route-map OSPF-BGP permit 99 

 

 

вроде работает.

спасибо.

 

из любопытства хотелось бы понять почему при rdistribute external перестает работать без использования этой настройки?

Share this post


Link to post
Share on other sites

А у вас маршрут, который чуть раньше приехал на один из хабов улетает в ospf причём как е2, а потом на первом хабе обратно влетает в bgp (как только добавляете external 2) и там становится бестом.

 

тэг позволяет фильтрануть этот маршрут.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now