# 6.1 - Adresses IP et tests de connectivité

Le diagnostic réseau doit progresser du local vers le distant : interface, adresse, route, passerelle, DNS, port puis application.

## Afficher les interfaces et les adresses

```bash
ip -brief link
ip -brief address
ip address show
ip link show enp1s0
```

Activer ou désactiver une interface temporairement :

```bash
sudo ip link set enp1s0 up
sudo ip link set enp1s0 down
```

Sur une machine distante, désactiver l'interface utilisée par SSH coupe immédiatement la connexion.

## Afficher les routes

```bash
ip route
ip -6 route
ip route get 1.1.1.1
```

`ip route get` indique la route, l'interface et l'adresse source choisies par le noyau.

## Tester la pile locale et une destination

```bash
ping -c 4 127.0.0.1
ping -c 4 192.168.1.1
ping -c 4 1.1.1.1
ping -c 4 example.com
```

Interprétation progressive :

1. `127.0.0.1` teste la pile IP locale.
2. La passerelle teste le lien au réseau local.
3. Une IP Internet teste le routage sans dépendre du DNS.
4. Un nom de domaine teste aussi la résolution DNS.

Certains équipements bloquent ICMP. Un échec de `ping` ne prouve donc pas à lui seul que le service est indisponible.

## Voir le chemin suivi

```bash
tracepath example.com
traceroute example.com
```

`tracepath` est souvent utilisable sans privilèges. Les étoiles peuvent correspondre à un routeur qui ne répond pas aux sondes, sans que le trafic final soit nécessairement bloqué.

## NetworkManager

Si la machine utilise NetworkManager :

```bash
nmcli device status
nmcli connection show
nmcli device show enp1s0
```

## Statistiques et erreurs d'interface

```bash
ip -s link show enp1s0
sudo ethtool enp1s0
```

Rechercher pertes, erreurs, négociation de vitesse et état du lien. `ethtool` peut nécessiter une installation séparée.

Les commandes `ip` modifient souvent l'état en mémoire seulement. Pour une configuration persistante, utiliser l'outil de la distribution : NetworkManager, systemd-networkd, Netplan ou les fichiers réseau prévus.