Я пытаюсь внедрить в свою сеть функцию неравномерной балансировки нагрузки BGP. Согласно руководствам Cisco (длинный: http://www.cisco.com/c/en/us/td/docs/ios/12_2s/feature/guide/fsbgplb.html , короткий: https://ccieblog.co.uk / bgp / bgp-unequal-load-cost-share ) Я создал такую топологию сети:
R1 - маршрутизатор, на котором я пытаюсь реализовать балансировку нагрузки для исходящего трафика. Таблица VRF с именем nat
используется.
R2-R4 - серверы NAT, работающие в режиме quagga, с маршрутом по умолчанию к R5, совместно используемым с R1 через eBGP.
Версия IOS для R1: 12.2 (33) SXJ4 (s72033-adventerprisek9_wan-mz.122-33.SXJ4.bin)
Конфигурация R2 ( R3 R4 только идентификатор маршрутизатора и VLAN отличается)
В результате у меня есть 3 разных маршрута по умолчанию на R1 с одинаковым количеством акций - 1/1 (1: 1: 1). Но пропорция 1: 2: 3 уточняется:
R1# sh ip bgp vpnv4 vrf nat 0.0.0.0
Paths: (6 available, best #5, table nat)
Multipath: eiBGP
Advertised to update-groups:
2
65000
10.30.227.227 from 10.30.227.227 (10.30.227.227)
Origin IGP, localpref 100, valid, external, multipath
Extended Community: RT:192.168.33.4:13
DMZ-Link Bw 250 kbytes
65000, (received-only)
10.30.227.227 from 10.30.227.227 (10.30.227.227)
Origin IGP, localpref 100, valid, external
DMZ-Link Bw 250 kbytes
65000
10.30.228.228 from 10.30.228.228 (10.30.228.228)
Origin IGP, localpref 100, valid, external, multipath
Extended Community: RT:192.168.33.4:13
DMZ-Link Bw 375 kbytes
65000, (received-only)
10.30.228.228 from 10.30.228.228 (10.30.228.228)
Origin IGP, localpref 100, valid, external
DMZ-Link Bw 375 kbytes
65000
10.30.225.225 from 10.30.225.225 (10.30.225.225)
Origin IGP, localpref 100, valid, external, multipath, best
Extended Community: RT:192.168.33.4:13
DMZ-Link Bw 125 kbytes
65000, (received-only)
10.30.225.225 from 10.30.225.225 (10.30.225.225)
Origin IGP, localpref 100, valid, external
DMZ-Link Bw 125 kbytes
R1# sh ip cef vrf nat 0.0.0.0/0 internal
0.0.0.0/0, epoch 3, flags rib only nolabel, rib defined all labels, RIB[B], refcount 7, per-destination sharing
sources: RIB, D/N, DRH
feature space:
NetFlow: Origin AS 0, Peer AS 0, Mask Bits 0
Broker: linked
IPRM: 0x00018000
subblocks:
DefNet source: 0.0.0.0/0
ifnums:
Vlan3225(231): 10.30.225.225
Vlan3227(232): 10.30.227.227
Vlan3228(233): 10.30.228.228
path 541B7858, path list 53E3E0D8, share 1/1, type recursive nexthop, for IPv4, flags resolved
recursive via 10.30.225.225[IPv4:nat], fib 5496C804, 1 terminal fib
path 541B7BF8, path list 53E3E170, share 1/1, type adjacency prefix, for IPv4
attached to Vlan3225, adjacency IP adj out of Vlan3225, addr 10.30.225.225 513F6B60
path 541B78CC, path list 53E3E0D8, share 1/1, type recursive nexthop, for IPv4, flags resolved
recursive via 10.30.227.227[IPv4:nat], fib 54969B7C, 1 terminal fib
path 541B7B10, path list 53E3E08C, share 1/1, type adjacency prefix, for IPv4
attached to Vlan3227, adjacency IP adj out of Vlan3227, addr 10.30.227.227 513F66E0
path 541B7DC8, path list 53E3E0D8, share 1/1, type recursive nexthop, for IPv4, flags resolved
recursive via 10.30.228.228[IPv4:nat], fib 54970EAC, 1 terminal fib
path 541B79B4, path list 53E3E040, share 1/1, type adjacency prefix, for IPv4
attached to Vlan3228, adjacency IP adj out of Vlan3228, addr 10.30.228.228 513F6560
output chain:
loadinfo 51283B80, per-session, 3 choices, flags 0003, 5 locks
flags: Per-session, for-rx-IPv4
15 hash buckets
< 0 > IP adj out of Vlan3225, addr 10.30.225.225 513F6B60
< 1 > IP adj out of Vlan3227, addr 10.30.227.227 513F66E0
< 2 > IP adj out of Vlan3228, addr 10.30.228.228 513F6560
< 3 > IP adj out of Vlan3225, addr 10.30.225.225 513F6B60
< 4 > IP adj out of Vlan3227, addr 10.30.227.227 513F66E0
< 5 > IP adj out of Vlan3228, addr 10.30.228.228 513F6560
< 6 > IP adj out of Vlan3225, addr 10.30.225.225 513F6B60
< 7 > IP adj out of Vlan3227, addr 10.30.227.227 513F66E0
< 8 > IP adj out of Vlan3228, addr 10.30.228.228 513F6560
< 9 > IP adj out of Vlan3225, addr 10.30.225.225 513F6B60
<10 > IP adj out of Vlan3227, addr 10.30.227.227 513F66E0
<11 > IP adj out of Vlan3228, addr 10.30.228.228 513F6560
<12 > IP adj out of Vlan3225, addr 10.30.225.225 513F6B60
<13 > IP adj out of Vlan3227, addr 10.30.227.227 513F66E0
<14 > IP adj out of Vlan3228, addr 10.30.228.228 513F6560
Subblocks:
None
Что я делаю неправильно? Согласно руководствам, разные dmzlink bw
значения должны приводить к разной пропорции распределения нагрузки, но на самом деле это не так!
ОБНОВЛЕНИЕ 1 - запрошено пользователем bangal
R1# show ip bgp all summary
For address family: IPv4 Unicast
BGP router identifier X.X.X.129, local AS number 41096
BGP table version is 22283352, main routing table version 22283352
34749 network entries using 4065633 bytes of memory
61661 path entries using 3206372 bytes of memory
8119/5337 BGP path/bestpath attribute entries using 1299040 bytes of memory
3752 BGP AS-PATH entries using 155474 bytes of memory
2990 BGP community entries using 138266 bytes of memory
146 BGP extended community entries using 5168 bytes of memory
53 BGP route-map cache entries using 1696 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 8871649 total bytes of memory
BGP activity 4716897/4682147 prefixes, 11331539/11269872 paths, scan interval 60 secs
# Here are bgp neighbours from global routing table. Not relevant to the question. IP addresses are hidden
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
X.X.X.1 4 XX219 791704 760380 22283352 0 0 6d17h 1
X.X.X.33 4 XX219 112902498 1315655 22283352 0 0 6d17h 0
X.X.X.238 4 XX772 801422 762830 22283352 0 0 2w5d 0
X.X.X.206 4 XX540 2886112 1313917 22283352 0 0 4w4d 9641
X.X.X.70 4 XX772 188343075 1313853 22283352 0 0 6d14h 25881
X.X.X.78 4 XX772 148265282 941127 22283352 0 0 2w6d 26098
# Here are neighbours for vrf nat.
For address family: VPNv4 Unicast
BGP router identifier X.X.X.129, local AS number 41096
BGP table version is 824, main routing table version 824
1 network entries using 137 bytes of memory
6 path entries using 408 bytes of memory
1 multipath network entries and 3 multipath paths
8119/1 BGP path/bestpath attribute entries using 1299040 bytes of memory
3752 BGP AS-PATH entries using 155474 bytes of memory
2990 BGP community entries using 138266 bytes of memory
146 BGP extended community entries using 5168 bytes of memory
53 BGP route-map cache entries using 1696 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 1600189 total bytes of memory
3 received paths for inbound soft reconfiguration
BGP activity 4716897/4682147 prefixes, 11331539/11269872 paths, scan interval 15 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
10.30.225.225 4 65000 11003 11443 824 0 0 3d18h 1
10.30.227.227 4 65000 9853 10293 824 0 0 3d18h 1
10.30.228.228 4 65000 10992 11432 824 0 0 3d18h 1
R1# sh ip route vrf nat
Routing Table: nat
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is 10.30.228.228 to network 0.0.0.0
10.0.0.0/24 is subnetted, 4 subnets
C 10.30.0.0 is directly connected, Vlan30
C 10.30.228.0 is directly connected, Vlan3228
C 10.30.227.0 is directly connected, Vlan3227
C 10.30.225.0 is directly connected, Vlan3225
B* 0.0.0.0/0 [20/0] via 10.30.228.228, 3d18h
[20/0] via 10.30.227.227, 3d18h
[20/0] via 10.30.225.225, 3d18h
R1# sh ip bgp vpnv4 vrf nat neighbors
R1 sh ip bgp соседние выходные данные
R1# sh run
R1 работает с конфигурацией, конфиденциальная информация маскируется
источник
bandwidth 50000
рабочая конфигурация R1 отсутствует для интерфейса Vlan3228? Не могли бы вы также прикрепить вывод 'sh ip bgp <IP of R5>'?R1# sh ip bgp vpnv4 vrf nat 0.0.0.0
показывает 125kbs-250kbs-350kbs ...sh ip bgp vpnv4 vrf nat 10.30.228.228
отображает так же, какsh ip bgp vpnv4 vrf nat 0.0.0.0
. Вы пропустилиneighbors
ключевое слово? Если да, то выходsh ip bgp vpnv4 vrf nat neighbors 10.30.228.228
вы можете увидеть в конце R1 Sh выход IP Соседи BGPneighbor dmzlink-bw
, что позволяет объявлять пропускную способность только для соседей (представленных в вашей конфигурации) иbgp dmzlink-bw
, который включает пропорциональную балансировку нагрузки (и это, кажется, пропадает в вашей конфигурации). Не могли бы вы попытаться вставитьbgp dmzlink-bw
в ваш работающий конфиг?maximum paths
должно быть подaddress-family
. Мне нужна функция многолучевого распространения в экземпляре VRF, но не в глобальной таблице маршрутизации. Если я ставлюmaximum paths
под,router bgp 100
я получаю в результате только один маршрут через R5 и никаких маршрутов через R3 и R2. Тот же результат дляibgp
адресной семьи, потому что все соседи являются внешними. Наследование пропускной способности на порт-канал является последовательным в конфигурации. Я удалил эту строку без эффекта. совершитьОтветы:
Ключевой проблемой, по-видимому, является отсутствие
bgp dmzlink-bw
опции в семействе адресов в конфигурации. Позвольте мне, однако, суммировать мои комментарии здесь:bgp dmzlink-bw
подaddress-family
.neighbor dmzlink-bw
только позволяет объявлять пропускную способность соседям, в то время какbgp dmzlink-bw
сама пропорциональная балансировка нагрузки.bandwidth 50000
отсутствует опция для интерфейса Vlan3228maximum-paths eibgp 3
может потребоваться опция вместоmaximum-paths 3
sh ip bgp vpnv4 vrf nat 0.0.0.0
другим командам, упомянутым в исходных руководствах (см. Вопрос), разработанными Shamanu4 и bangal, полезно проверить, не отличаются ли значения доли трафика для каналов с балансировкой нагрузки, используяsh ip route vrf nat 0.0.0.0
bandwidth inherit
на порт-канале)Как общий совет, иногда очень трудно определить проблему, когда у вас есть большой run-config с большим количеством опций. Если проблема не исчезнет, я создам аналогичную настройку с пустым конфигом и попытаюсь настроить только соответствующие параметры (минимальный рабочий пример), чтобы увидеть, работает ли он и не мешает ли он другим параметрам, спискам доступа (как, например, крайне маловероятно в данном конкретном случае) и т. д. Если у вас нет запасного оборудования, и ваш маршрутизатор работает, так что вы не можете экспериментировать с пустой конфигурацией на нем напрямую, вы можете:
источник
dmzlink-bw
подaddress-family
. Мне нужно время, чтобы разгадать противоречия cisco docs с реальной жизнью.