Skip to content
Snippets Groups Projects
02_labo_stp.md 3.8 KiB
Newer Older
iliya's avatar
iliya committed
---
lang: fr
---

\newpage 


# Protection d'un LAN d'attaques sur STP


## Révision STP


### Configuration des machines

S1 : 
```CiscoIOS
conf t
hostname S1
exit
```

S2 : 
```CiscoIOS
conf t
hostname S2
exit
```


S3 : 
```CiscoIOS
conf t
hostname S3
exit
```

### Questions

1. 
Ci-dessous nous pouvons voir la sortie de la commande `show spanning-tree` sur
le Switch S1.

En dessous de l'adresse MAC, il est dit que ce switch (S1) a été élu en tant que
racine.

```CiscoIOS
VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    32769
             Address     0c0c.39d3.0000
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)
             Address     0c0c.39d3.0000
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time  300 sec
```

L'élection de la racine se fait par l'identifiant du switch le plus faible 
(Bridge ID). C'est un identifiant de 8 octets où 2 octets correspondent à
la valeur du `Bridge Priority` et les 6 autres octets sont l'adresse MAC de l'appareil.

Initialement les switches s'envoient des messages `BPDUs` (Bridge Priority Data Unit)
qui contiennent le `Bridge ID` du switch actuel, celui de la racine actuel ainsi
que la distance (_number of hops_) jusqu'à la racine. Au fur et à mesure les divers
arbres des plus courts chemins vers la racine seront calculés. Dans le cas où la
distance pour deux switches jusqu'à la racine est la même, on assignera la priorité
au switch qui porte la valeur de `Bridge Priority` la plus faible. Les ports qui
ne sont pas sur l'arbre couvrant seront désactivé et conserve uniquement les ports
actifs.

2. La commande `show spanning-tree root` sur le switch S2 nous fourni l'adresse
MAC de la racine ainsi que le coût (distance) vers la racine. Cette commande
nous donne aussi la valeur du _Hello Time_ qui correspond à 2 secondes. Si le
switch ne reçoit pas de BPDU pendant cette durée de temps (timeout de 2 secondes),
l'arbre couvrant sera recalculé.

```CiscoIOS
S2#show spanning-tree root

                                        Root    Hello Max Fwd
Vlan                   Root ID          Cost    Time  Age Dly  Root Port
---------------- -------------------- --------- ----- --- ---  ------------
VLAN0001         32769 0c0c.39d3.0000         4    2   20  15  Gi0/0 
```

3. La raison pour laquelle le champ `Root Port` n'est pas renseigné sur la racine
est que ce champ correspond à l'interface par laquelle passe l'arbre couvrant
jusqu'à la racine. Vu que le "chemin" depuis la racine jusqu'à la racine ne passe
par aucune interface, car il est la racine.



4.
```mermaid
graph TD;
    S1-->S2;
    S1-->S3;
```

L'interface Gi0/2 sur S2 est indiquée en tant que `Altn`. Cette interface est
desactivée (en réalité, elle est marquée comme chemin alternatif vers la racine)
car S3 est relié à la racine par un chemin plus court. Cependant, dans le cas où
ce lien tombe, l'interface Gi0/2 de S2 permettra à S3 de se relier jusqu'à la racine.

```CiscoIOS
Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Gi0/2               Altn BLK 4         128.3    P2p 
```


5. Afin que le switch S3 devienne la racine, il faut lui assigner une valeur
faible pour le `Bridge Priority`. La commande exécutée est :

```CiscoIOS
S3(config)#spanning-tree vlan 1 priority 0
```
6.
```mermaid
graph TD;
    S3-->S1;
    S3-->S2;
```

À présent, c'est l'interface Gi0/0 sur S2 qui est bloquée. Ceci est le cas, car
cette interface sera utilisée dans le cas où le lien entre S1 et S3 tombe et par
conséquent il servira de chemin pour S1 afin de rejoindre la racine.

```CiscoIOS
Gi0/0               Altn BLK 4         128.1    P2p
```