Я хочу настроить многосетевой BGP-маршрутизатор с предпочтением одного интернет-провайдера. Моя фактическая установка будет получать только маршруты по умолчанию, а не полный канал BGP от вышестоящих интернет-провайдеров. Но в этой тестовой настройке у меня есть следующая настройка сети, и моя цель — предпочесть R4, а не R2 для трафика от R1.
4 маршрутизатора представляют собой образы FRR 7.3.1 из Торговая площадка GNS3. Они настроены одинаково. Конфигурация одинакова для всех роутеров, меняются только IP-адреса, как показано на рисунке.
R1# показать текущую конфигурацию
Конфигурация здания...
Текущая конфигурация:
!
версия 7.3.1
frr по умолчанию традиционный
имя хоста R1
сервис интегрированный-vtysh-config
!
маршрутизатор бгп 1
сосед 192.168.1.2 удаленный-как 2
сосед 192.168.4.1 удаленный-как 4
!
одноадресная рассылка ipv4 семейства адресов
сеть 10.1.0.0/16
выход-адрес-семья
!
линия vty
!
конец
Первая проблема заключается в том, что я не вижу все пути на всех маршрутизаторах. У двух маршрутизаторов по 7 путей, а у двух других по 5 путей. Два с 7 путями - это те, которые были настроены первыми и последними, если это имеет какое-либо значение.
Р1:
R1# показать ip bgp
Версия таблицы BGP — 5, идентификатор локального маршрутизатора — 192.168.4.2, идентификатор vrf — 0.
Локальный преф 100 по умолчанию, локальный AS 1
Коды состояния: s подавлено, d демпфировано, h история, * допустимо, > лучшее, = многолучевое,
i внутренний, r Сбой RIB, S Устаревший, R Удален
Коды следующего перехода: идентификатор vrf @NNN следующего перехода, <annone-nh-self
Коды происхождения: i - IGP, e - EGP, ? - неполный
Сеть Метрика следующего перехода LocPrf Вес Путь
*> 10.1.0.0/16 0.0.0.0 0 32768 я
* 10.2.0.0/16 192.168.4.1 0 4 3 2 я
*> 192.168.1.2 0 0 2 я
* 10.3.0.0/16 192.168.4.1 0 4 3 я
*> 192.168.1.2 0 2 3 я
*> 10.4.0.0/16 192.168.4.1 0 0 4 я
* 192.168.1.2 0 2 3 4 я
Отображено 4 маршрута и всего 7 путей
Р2:
R2# показать ip bgp
Версия таблицы BGP — 4, идентификатор локального маршрутизатора — 192.168.2.1, идентификатор vrf — 0.
Локальный преф 100 по умолчанию, локальный AS 2
Коды состояния: s подавлено, d демпфировано, h история, * допустимо, > лучшее, = многолучевое,
i внутренний, r Сбой RIB, S Устаревший, R Удален
Коды следующего перехода: идентификатор vrf @NNN следующего перехода, <annone-nh-self
Коды происхождения: i - IGP, e - EGP, ? - неполный
Сеть Метрика следующего перехода LocPrf Вес Путь
*> 10.1.0.0/16 192.168.1.1 0 0 1 я
*> 10.2.0.0/16 0.0.0.0 0 32768 я
*> 10.3.0.0/16 192.168.2.2 0 0 3 я
* 10.4.0.0/16 192.168.1.1 0 1 4 я
*> 192.168.2.2 0 3 4 я
Отображено 4 маршрута и всего 5 путей
Р3:
R3# показать ip bgp
Версия таблицы BGP — 4, идентификатор локального маршрутизатора — 192.168.3.1, идентификатор vrf — 0.
Локальный преф 100 по умолчанию, локальный AS 3
Коды состояния: s подавлено, d демпфировано, h история, * допустимо, > лучшее, = многолучевое,
i внутренний, r Сбой RIB, S Устаревший, R Удален
Коды следующего перехода: идентификатор vrf @NNN следующего перехода, <annone-nh-self
Коды происхождения: i - IGP, e - EGP, ? - неполный
Сеть Метрика следующего перехода LocPrf Вес Путь
* 10.1.0.0/16 192.168.3.2 0 4 1 я
*> 192.168.2.1 0 2 1 я
*> 10.2.0.0/16 192.168.2.1 0 0 2 я
*> 10.3.0.0/16 0.0.0.0 0 32768 я
*> 10.4.0.0/16 192.168.3.2 0 0 4 я
Отображено 4 маршрута и всего 5 путей
Р4:
R4# показать ip bgp
Версия таблицы BGP — 5, идентификатор локального маршрутизатора — 192.168.4.1, идентификатор vrf — 0.
Локальный преф 100 по умолчанию, локальный AS 4
Коды состояния: s подавлено, d демпфировано, h история, * допустимо, > лучшее, = многолучевое,
i внутренний, r Сбой RIB, S Устаревший, R Удален
Коды следующего перехода: идентификатор vrf @NNN следующего перехода, <annone-nh-self
Коды происхождения: i - IGP, e - EGP, ? - неполный
Сеть Метрика следующего перехода LocPrf Вес Путь
*> 10.1.0.0/16 192.168.4.2 0 0 1 я
* 192.168.3.1 0 3 2 1 я
* 10.2.0.0/16 192.168.4.2 0 1 2 я
*> 192.168.3.1 0 3 2 я
* 10.3.0.0/16 192.168.4.2 0 1 2 3 я
*> 192.168.3.1 0 0 3 я
*> 10.4.0.0/16 0.0.0.0 0 32768 я
Отображено 4 маршрута и всего 7 путей
Помимо различий в списках путей BGP, все выглядит нормально. Я могу пропинговать каждый маршрутизатор друг от друга, и traceroute работает, как и ожидалось.
R1:~# traceroute -s 10.1.0.1 10.2.0.1
traceroute до 10.2.0.1 (10.2.0.1) из 10.1.0.1, макс. 30 переходов, пакеты по 46 байт
1 10.2.0.1 (10.2.0.1) 1,473 мс 1,430 мс 1,328 мс
R1:~# traceroute -s 10.1.0.1 10.3.0.1
traceroute до 10.3.0.1 (10.3.0.1) из 10.1.0.1, макс. 30 переходов, пакеты по 46 байт
1 192.168.1.2 (192.168.1.2) 1,377 мс 1,466 мс 1,356 мс
2 10.3.0.1 (10.3.0.1) 3,149 мс 1,462 мс 1,033 мс
R1:~# traceroute -s 10.1.0.1 10.4.0.1
traceroute до 10.4.0.1 (10.4.0.1) от 10.1.0.1, макс. 30 переходов, 46-байтовые пакеты
1 10.4.0.1 (10.4.0.1) 0,556 мс 1,243 мс 1,271 мс
R3:~# traceroute -s 10.3.0.1 10.1.0.1
traceroute до 10.1.0.1 (10.1.0.1) из 10.3.0.1, макс. 30 переходов, пакеты по 46 байт
1 192.168.2.1 (192.168.2.1) 0,468 мс 1,461 мс 1,135 мс
2 10.1.0.1 (10.1.0.1) 3,038 мс 3,332 мс 3,734 мс
Настройка предпочтений:
Я хочу, чтобы мой исходящий трафик от R1 проходил через R4, а не через R2, поэтому я устанавливаю локальное предпочтение 300 на R1 для путей, полученных от R4.
Р1:
frr(config)# ip prefix-list allow_all_pref seq 10 разрешить любой
frr(config)# route-map rmap Permit 10
frr(config-route-map)# соответствует списку префиксов IP-адресов allow_all_pref
frr(config-route-map)# установить локальное предпочтение 300
frr(config-route-map)# выход
frr(config)# маршрутизатор bgp 1
frr(config-router)# адресное семейство ipv4 unicast
frr(config-router-af)# сосед 192.168.4.1 route-map rmap в
frr(config-router-af)# показать ip bgp
Версия таблицы BGP — 8, идентификатор локального маршрутизатора — 192.168.4.2, идентификатор vrf — 0.
Локальный преф 100 по умолчанию, локальный AS 1
Коды состояния: s подавлено, d демпфировано, h история, * допустимо, > лучшее, = многолучевое,
i внутренний, r Сбой RIB, S Устаревший, R Удален
Коды следующего перехода: идентификатор vrf @NNN следующего перехода, <annone-nh-self
Коды происхождения: i - IGP, e - EGP, ? - неполный
Сеть Метрика следующего перехода LocPrf Вес Путь
*> 10.1.0.0/16 0.0.0.0 0 32768 я
*> 10.2.0.0/16 192.168.4.1 300 0 4 3 2 i
* 192.168.1.2 0 0 2 я
*> 10.3.0.0/16 192.168.4.1 300 0 4 3 i
* 192.168.1.2 0 2 3 я
*> 10.4.0.0/16 192.168.4.1 0 300 0 4 я
* 192.168.1.2 0 2 3 4 я
Отображено 4 маршрута и всего 7 путей
Но теперь все ломается. Я больше не могу пинговать R2 и R3. Когда я пингую R2 с R1, через wireshark я вижу, что эхо-запрос проходит через R4 к R3, но трафик между R3 и R2 не отображается.
traceroute до 10.2.0.1 (10.2.0.1) из 10.1.0.1, макс. 30 переходов, пакеты по 46 байт
1 192.168.4.1 (192.168.4.1) 1,480 мс 1,514 мс 1,499 мс
2 * * *
3 * * *
4 * * *
вывод show ip bgp с других маршрутизаторов выглядит следующим образом.
Р2:
R2# показать ip bgp
Версия таблицы BGP — 4, идентификатор локального маршрутизатора — 192.168.2.1, идентификатор vrf — 0.
Локальный преф 100 по умолчанию, локальный AS 2
Коды состояния: s подавлено, d демпфировано, h история, * допустимо, > лучшее, = многолучевое,
i внутренний, r Сбой RIB, S Устаревший, R Удален
Коды следующего перехода: идентификатор vrf @NNN следующего перехода, <annone-nh-self
Коды происхождения: i - IGP, e - EGP, ? - неполный
Сеть Метрика следующего перехода LocPrf Вес Путь
*> 10.1.0.0/16 192.168.1.1 0 0 1 я
*> 10.2.0.0/16 0.0.0.0 0 32768 я
* 10.3.0.0/16 192.168.1.1 0 1 4 3 я
*> 192.168.2.2 0 0 3 я
* 10.4.0.0/16 192.168.1.1 0 1 4 я
*> 192.168.2.2 0 3 4 я
Отображено 4 маршрута и всего 6 путей
Р3:
R3# показать ip bgp
Версия таблицы BGP — 4, идентификатор локального маршрутизатора — 192.168.3.1, идентификатор vrf — 0.
Локальный преф 100 по умолчанию, локальный AS 3
Коды состояния: s подавлено, d демпфировано, h история, * допустимо, > лучшее, = многолучевое,
i внутренний, r Сбой RIB, S Устаревший, R Удален
Коды следующего перехода: идентификатор vrf @NNN следующего перехода, <annone-nh-self
Коды происхождения: i - IGP, e - EGP, ? - неполный
Сеть Метрика следующего перехода LocPrf Вес Путь
* 10.1.0.0/16 192.168.3.2 0 4 1 я
*> 192.168.2.1 0 2 1 я
*> 10.2.0.0/16 192.168.2.1 0 0 2 я
*> 10.3.0.0/16 0.0.0.0 0 32768 я
*> 10.4.0.0/16 192.168.3.2 0 0 4 я
Отображено 4 маршрута и всего 5 путей
Р4:
R4# показать ip bgp
Версия таблицы BGP — 5, идентификатор локального маршрутизатора — 192.168.4.1, идентификатор vrf — 0.
Локальный преф 100 по умолчанию, локальный AS 4
Коды состояния: s подавлено, d демпфировано, h история, * допустимо, > лучшее, = многолучевое,
i внутренний, r Сбой RIB, S Устаревший, R Удален
Коды следующего перехода: идентификатор vrf @NNN следующего перехода, <annone-nh-self
Коды происхождения: i - IGP, e - EGP, ? - неполный
Сеть Метрика следующего перехода LocPrf Вес Путь
*> 10.1.0.0/16 192.168.4.2 0 0 1 я
* 192.168.3.1 0 3 2 1 я
*> 10.2.0.0/16 192.168.3.1 0 3 2 я
*> 10.3.0.0/16 192.168.3.1 0 0 3 я
*> 10.4.0.0/16 0.0.0.0 0 32768 я
Отображено 4 маршрута и всего 5 путей
Когда я пингую R2 с R4, пакеты перемещаются, как и ожидалось, от R3 к R2.
Любая помощь будет высоко оценен. Я новичок в сети, и мое понимание BGP может быть ошибочным. Пожалуйста, укажите, если я делаю что-то неправильно.