# [Cisco] Routage OSPF

## Introduction

**OSPF** pour *Open Shortest Path First* est un protocole de routage dynamique standard. Il a une distance administrative de 110 et sa métrique est basée sur la somme des coûts (10<sup>8</sup>/Bande Passante).

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-03/scaled-1680-/MD5image.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-03/MD5image.png)

## Configuration

#### Activer OSPF

Sur une seule interface :

```
int fa0/0
ip ospf <PROC> area <AREA>
```

<p class="callout info">Le numéro de processus est superflu (mettre 1), et le numéro d'aire dépend de votre infrastructure (0 par défaut).  
</p>

Sur toutes les interfaces du routeur :

```
router ospf <PROC>
```

```
network 0.0.0.0 0.0.0.0 area <AREA>
```

<p class="callout info">Le **&lt;REV\_MASK&gt;** correspond au masque inversé (0 devient 255 et 255 devient 0).</p>

#### Changer la valeur de référence

```
router ospf 1
auto-cost reference-bandwidth <BW>
```

<p class="callout info">Par défaut cette valeur est définie à **100** (en Mb/s).</p>

#### Configurer le coût d'une interface manuellement

```
int e0/0
ip ospf cost <COST>
```

#### Configurer la bande passante d'une interface manuellement

```
int e0/0
bandwidth <BW>
```

#### Changer les valeurs des timers

Pour le timer **Hello** :

```
int e0/0
ip ospf hello-interval <TIME>
```

Pour le timer **Dead** :

```
int e0/0
ip ospf dead-interval <TIME>
```

#### Définir la priorité

Pour définir manuellement quel routeur sera désigné (**DR**) et quel routeur sera désigné en backup (**BDR**), on peut modifier la priorité :

```
int e0/0
ip ospf priority <PRIORITY>
```

<p class="callout info">La priorité **la plus grande** du réseau sera élue comme DR et une priorité de 0 indiquera que le routeur ne peut être DR ou BDR mais seulement DROTHER. </p>

#### Créer des annonces globalisantes

Si nous avons un cas avec plusieurs sous-réseaux de destination qui ont des adresses contiguës, nous pouvons créer une annonce globalisante pour créer qu'une seule entrée dans la table de routage OSPF :

```
router ospf <PROC>
```

Puis :

```
area <AREA> range <IP> <MASK>
```

<p class="callout info">Les deux commandes ci-dessus sont à réaliser sur le routeur situé à la frontière entre les deux aires.</p>

<p class="callout info">Le champ &lt;AREA&gt; doit être remplacé par le numéro de l'aire du réseau de destination. </p>

Si vous utiliser un routeur qui utilise 2 protocoles (dont un qui n'est pas OSPF) sur deux pattes différentes (routeur dit ASBR), on doit configurer de la sorte :

```
router ospf 1
summary-address range <NET_ID> <MASK>
```

#### Annoncer une route par défaut

Sur le routeur par défaut :

```
default-information originate
```

Ou alors si le routeur n'a pas de route par défaut :

```
default-information originate always
```

On peut aussi définir des métriques :

```
default-information originate metric <METRIC>
```

#### Afficher la configuration OSPF

```
show ip ospf interface brief
```

Et pour afficher les voisins qui utilisent la même configuration OSPF que notre routeur et qui sont dans la même aire :

```
show ip ospf neighbor
```

Pour afficher la cartographie des routes connues :

```
show ip ospf database
```

Afficher la table de routage OSPF :

```
show ip route ospf
```

Afficher le Router-ID :

```
show ip ospf | inc ID
```