Juniper (JNCIS-SP)
  • 1) Juniper Initial Configuration
  • 2) Juniper VLANs + Inter VLAN Routing + DHCP
    • 2.1) Классическая маршрутизация между VLAN (При помощи роутера)
      • Настройка VLAN'ов на SW-MSK-ARB
      • Настройка VLAN'ов на SW-SPB-NEV
      • Настройка IP-адресации, DHCP и маршрутизации между VLAN'ами
      • Проверка конфигурации
      • Полезные ссылки
    • 2.2) Маршрутизация между VLAN на L3-коммутаторе
  • 3) LAGs + Static Routing (с резервированием) + SysLog + SSH
    • Агрегирование каналов и настройка IP-адресов
    • Статическая маршрутизация с резервированием
    • Настройка доступа к Juniper по SSH
    • SysLog Server
    • Конфигурации Устройств
    • Полезные ссылки
  • 4) Q-in-Q
    • Настройка Q-in-Q
    • Конфигурации устройств
  • 5) MC-LAG (Multi-Chassis LAG) + BFD + IRB
    • MC-LAG
    • Конфигурации устройств
    • Полезные ссылки
  • 6) STP (RSTP/VSTP/MSTP + MVRP)
    • RSTP
    • VSTP
    • MSTP
    • STP Protection
    • Конфигурации устройств
    • Полезные ссылки
  • 7) Basic Routing Concepts
    • Полезные ссылки
  • 8) OSPF
    • 4.1) Смена типов областей и Load Balancing
      • Конфигурации устройств
    • 4.2) Настройка Virtual-Link, OSPF в Broadcast-сетях (Выбор DR и BDR) и OSPF summarization
      • Выбор DR и BDR
      • Настройка Virtual-Link + Route Summarization
      • Конфигурации устройств
    • Примечание (Router-ID)
    • OSPF Database and LSA
    • Полезные ссылки
  • 9) IS-IS
    • Практическая часть
    • Конфигурации устройств
    • Полезные ссылки
  • 10) BGP
    • eBGP
    • Анонсирование первых префиксов
    • iBGP
      • BGP Confederations
      • Атрибут Next-Hop и iBGP
      • BGP Route Reflectors
    • BGP Routing Policies
    • BGP Load Balancing
    • BGP Session Attributes
    • Конфигурации устройств
    • Примечание (Router-ID)
    • Полезные ссылки:
  • 11) MPLS
    • Static LSP
    • LDP
    • RSVP
    • L2/L3 VPN
    • Конфигурации Устройств
    • Полезные ссылки
  • 12) CSPF (Dynamic TE)
    • Настройка
    • Конфигурации устройств
    • Полезные ссылки
  • 13) Tunneling Technologies (IPIP/GRE)
    • Конфигурации устройств
    • Полезные ссылки
  • 14) High Availability
    • Конфигурации устройств
    • Полезные ссылки
  • 15) IPv6
  • Полезные ссылки
Powered by GitBook
On this page

Was this helpful?

  1. 10) BGP

Анонсирование первых префиксов

PreviouseBGPNextiBGP

Last updated 4 years ago

Was this helpful?

По умолчанию, static и direct routes в BGP не экспортируются. Для того, чтобы добавить эти маршруты в BGP необходимо применить policy-options к протоколу, группе или соседу. Например, у нас уже есть AS 8000, в которой есть Lo0 с адресом 100.0.0.1. Даллее мы хотим анонсировать наш /24 префикс 100.0.0.0/24 к AS9000:

root@AS8000# run show configuration interfaces lo0 
unit 0 {
    family inet {
        address 100.0.0.1/32;
    }
}

Обычно, такие префиксы меньше /24 не принимаются из-за возможных ошибок. Как пример, мы будем анонсировать 2 маршрута: 100.0.0.0/24, который будет приниматься, и 101.0.0.0/25, который не будет приниматься соседями в соответствии с политикой маршрутизации.

Для начала необходимо настроить статические маршруты с маской /24 и /25, которые мы собираемся анонсировать (предположим, что весь пул у нас 100.0.0.0/8):

root@AS8000# set routing-options static route 100.0.0.0/24 discard   
root@AS8000# set routing-options static route 100.0.1.0/25 discard    

Почему вместо next-hop мы указываем discard? Потому что ко всей этой подсети у нас нет одного-единственного nex-hop´а. Если Destination IP будет подходить под More Specific Route, то пакет не будет отбрасываться.

Далее настраиваем политику экспорта маршрутов (предположим, что мы допустили ошибку и будем анонсировать преиксы длиннее /24):

root@AS8000# edit policy-options policy-statement exportBGP

[edit policy-options policy-statement exportBGP]
root@AS8000# set from protocol static route-filter 100.0.0.0/8 upto /25

[edit policy-options policy-statement exportBGP]
root@AS8000# set then accept 
root@AS8000# top
root@AS8000# set protocols bgp export exportBGP

Теперь можно убедиться, что мы анонсируем соответствующие префиксы всем соседям:

root@AS8000# run show route advertising-protocol bgp 8.0.0.1    

inet.0: 9 destinations, 9 routes (9 active, 0 holddown, 0 hidden)
  Prefix                  Nexthop              MED     Lclpref    AS path
* 100.0.0.0/24            Self                                    I
* 100.0.1.0/25            Self                                    I

[edit]
root@AS8000# run show route advertising-protocol bgp 8.0.0.3    

inet.0: 9 destinations, 9 routes (9 active, 0 holddown, 0 hidden)
  Prefix                  Nexthop              MED     Lclpref    AS path
* 100.0.0.0/24            Self                                    I
* 100.0.1.0/25            Self                                    I

[edit]
root@AS8000# run show route advertising-protocol bgp 8.1.1.0    

inet.0: 9 destinations, 9 routes (9 active, 0 holddown, 0 hidden)
  Prefix                  Nexthop              MED     Lclpref    AS path
* 100.0.0.0/24            Self                                    I
* 100.0.1.0/25            Self                                    I

Теперь посмотрим что происходит в AS9000:

root@RT.MSK.M34# run show route receive-protocol bgp 8.0.0.2 extensive 

inet.0: 14 destinations, 14 routes (14 active, 0 holddown, 0 hidden)
* 100.0.0.0/24 (1 entry, 1 announced)
     Accepted
     Nexthop: 8.0.0.2
     AS path: 8000 I

* 100.0.1.0/25 (1 entry, 1 announced)
     Accepted
     Nexthop: 8.0.0.2
     AS path: 8000 I
     
root@RT.MSK.M34# run show route protocol bgp 

inet.0: 14 destinations, 14 routes (14 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

100.0.0.0/24       *[BGP/170] 00:05:35, localpref 100
                      AS path: 8000 I, validation-state: unverified
                    > to 8.0.0.2 via ge-0/0/1.0
100.0.1.0/25       *[BGP/170] 00:05:35, localpref 100
                      AS path: 8000 I, validation-state: unverified
                    > to 8.0.0.2 via ge-0/0/1.0

Видно, что мы принимаем по-умолчанию все маршруты, в том числе и /25. Для того, чтобы принимать только /24 префиксы и не принимать приватные сети настроим Import Policy. Для начала определим приватные префиксы:

root@RT.MSK.M34# edit policy-options prefix-list private_and_short 

[edit policy-options prefix-list private]
root@RT.MSK.M34# set 10.0.0.0/8    

[edit policy-options prefix-list private]
root@RT.MSK.M34# set 172.16.0.0/12 

[edit policy-options prefix-list private]
root@RT.MSK.M34# set 192.168.0.0/16   

[edit policy-options prefix-list private]
root@RT.MSK.M34# top 

Далее настроим соответствующую политику отклоняющую приватные и любые короткие префиксы:

root@RT.MSK.M34# edit policy-options policy-statement BGPimport 

[edit policy-options policy-statement BGPimport]
root@RT.MSK.M34# set from protocol bgp prefix-list-filter private orlonger    

[edit policy-options policy-statement BGPimport]
root@RT.MSK.M34# set from protocol bgp route-filter 0.0.0.0/0 prefix-length-range /25-/32

[edit policy-options policy-statement BGPimport]
root@RT.MSK.M34# set then reject 

[edit policy-options policy-statement BGPimport]
root@RT.MSK.M34# top

root@RT.MSK.M34# set protocols bgp import BGPimport 
root@RT.MSK.M34# commit 

Теперь посмотрим на результат:

root@RT.MSK.M34# run show route receive-protocol bgp 8.0.0.2 detail all 

inet.0: 14 destinations, 14 routes (13 active, 0 holddown, 1 hidden)
* 100.0.0.0/24 (1 entry, 1 announced)
     Accepted
     Nexthop: 8.0.0.2
     AS path: 8000 I

  100.0.1.0/25 (1 entry, 0 announced)
     Nexthop: 8.0.0.2
     AS path: 8000 I
     Hidden reason: rejected by import policy

Как видно, маршрут 100.0.1.0/25 теперь не принимается из-за policy-statement. Далее редактирум политики соответствующим образом и применяем их на каждом eBGP-пире. На AS9000 политики экспорта не требуются, так как пока что экспортировать нечего.

Также можно на всех AS, кроме AS9000 добавить анонсирование внешних подсетей, например:

root@AS8000# set routing-options static route 8.0.0.0/16 discard 
root@AS8000# set policy-options policy-statement exportBGP from route-filter route-filter 8.0.0.0/16 exact

На текущем этапе можно использовать следующий шаблон для пиров AS****, изменяя статические маршруты и экспортируемые сети:

routing-options {
    static {
        route 102.0.0.0/24 discard;
        route 9.1.0.0/16 discard;
    }
}
protocols {
    bgp {
        import BGPimport;
        export exportBGP;
    }
}
policy-options {
    prefix-list private {
        10.0.0.0/8;
        172.16.0.0/12;
        192.168.0.0/16;
    }
    policy-statement BGPimport {
        from {
            protocol bgp;
            route-filter 0.0.0.0/0 prefix-length-range /25-/32;
            prefix-list-filter private orlonger;
        }
        then reject;
    }
    policy-statement exportBGP {
        from {
            protocol static;
            route-filter 102.0.0.0/8 upto /24;
            route-filter 9.1.0.0/16 exact;
        }
        then accept;
    }
}

Для роутеров внутри AS9000 можно оставить шаблон без изменений:

protocols {
    bgp {
        import BGPimport;
    }
}
policy-options {
    prefix-list private {               
        10.0.0.0/8;
        172.16.0.0/12;
        192.168.0.0/16;
    }
    policy-statement BGPimport {
        from {
            protocol bgp;
            route-filter 0.0.0.0/0 prefix-length-range /25-/32;
            prefix-list-filter private orlonger;
        }
        then reject;
    }
}

Чтобы не перезаписать, но дополнить конфигурацию нужно использовать команду:

load merge terminal
Схема сети