Outils pour utilisateurs

Outils du site


informatique:fortinet:bgp

BGP

Configuration minimale

le minimum pour que ça marche

On suppose que notre Forti est connecté sur son port1 à un routeur, avec qui il doit monter une session BGP. Pour les besoins de notre test on va créer une interface de loopback lo0 (IP=10.0.0.1/32) que l'on annoncera dans le BGP et qui nous servira de router-id.

Paramètres :

  • AS local = 65000
  • IP interco local = 192.168.0.1/24
  • AS distant = 65001
  • IP interco distante (peer) = 192.168.0.2/24
# création des interfaces
config system interface
    edit "port1"
        set vdom "root"
        set ip 192.168.0.1 255.255.255.0
        set allowaccess ping
        set type physical
        set alias "vers routeur BGP"
    next
    edit "lo0"
        set vdom "root"
        set ip 10.0.0.1 255.255.255.255
        set allowaccess ping
        set type loopback
    end
end

On suppose que le routeur d'en face est correctement configuré avec la bonne IP, qu'il est UP et qu'on le PING (execute ping 192.168.0.2).

Configuration BGP à proprement parlé :

config router bgp
    set as 65000
        config neighbor
            edit "192.168.0.2"
                set remote-as 65001
            next
        end
# on déclare ici les réseaux qu'on annonce dans le BGP
        config network
            edit 1
                set prefix 10.0.0.1 255.255.255.255
            next
        end
    set router-id 10.0.0.1
end

Le router-id est un identifiant qui prend la même forme d'une adresse IP sans en être une, qu'il est conseillé de configurer sur l'équipement afin d'être sûr de ne pas avoir de doublon. C'est pour cela qu'on utilise l'IP de notre loopback.

Mot de passe MD5

Sécurité minimalisme, ça ne mange pas de pain de l'utiliser (à configurer sur les 2 peers pour que le BGP monte) ; ici on mettra le mot de passe “secreT” :

config router bgp
    set as 2200
        config neighbor
            edit "192.168.0.2"
                set password "secreT"
            end

Redistribution de routes

Actuellement on redistribue déjà notre loopback lo0 (10.0.0.1/32) dans le BGP, via la directive config network dans la section BGP. On peut également redistribuer automatiquement les routes présentent dans notre table de routage, en fonction de leur origine : connected, statique, ospf, etc

config router bgp
    set as 2200
# redistribuer toutes nos routes connected
        config redistribute "connected"
            set status enable
        end
# redistribuer également toutes nos routes statiques
        config redistribute "static"
            set status enable
        end

Route-map

Par sécurité on peut filtrer les annonces entrantes/sortantes du BGP avec des route-map. Par exemple pour être sûr que notre peer ne nous annonce que des préfixes dans la plage 192.168.0.0/16 :

# on créer une liste de préfixe (sorte d'ACL)
config router prefix-list
    edit "pref_BGP-in"
            config rule
                edit 1
                    set prefix 192.168.0.0 255.255.0.0
                    unset ge
                    unset le
                end
 
# on inclut cette liste dans une route-map
config router route-map
    edit "rmap_BGP-in"
            config rule
                edit 1
                    set match-ip-address "pref_BGP-in"
                end
 
# on l'ajoute dans notre configuration BGP pour filtrer les annonces reçues par notre peer
config router bgp
    set as 65000
        config neighbor
            edit "192.168.0.2"
                set remote-as 65001
                set route-map-in "rmap_BGP-in"
            end

Les route-map sont utilisables également pour filtrer les annonces sortantes (set route-map-out) ou les redistributions de routes (dans le paragraphe config redistribute xxx).

Vérifications

get router bgp
informatique/fortinet/bgp.txt · Dernière modification: 2017/05/04 16:07 par pteu