Configuration du réseau

De Le Wiki du Forum-Debian.fr
Aller à la navigation Aller à la recherche

Sous Debian, on peut se connecter au réseau avec quelques commandes de bases.

Depuis Debian Stretch (Debian 9) les commandes réseaux ont changé...

Le paquet net-tools (toujours disponible) n'est pas installé par défaut (il peut être une dépendance d'autres paquets).

Du coup certaines commandes ne fonctionnent plus.

A moins d'être fainéant et de ne pas vouloir apprendre d'autre commandes... # apt install net-tools

Connaître ses interfaces

Pour connaître le nom que prendra son interface, faites la commande:


$ ip -o addr show


Le nommage des interface à été modifié aussi. Vous aurez certainement quelquechose comme ceci: enp3s0 et/ou wlp3s0.

L'interface qui commence par e est une "ethernet", celle qui commence par W est une "wifi"

Voici l'ancienne commande (fonctionne dans Jessie - et précédents - par défaut).


$ /sbin/ifconfig -a


Les interfaces sont listées dans la colonne de gauche. Les interfaces ethernet se nomment généralement « ethX » et les interfaces Wifi se nomment généralement « wlanX », X étant un chiffre (elles sont numérotées à partir de zéro) mais peuvent varier selon le pilote utilisé. Si votre interface n'apparaît pas, il manque probablement un pilote, allez sur http://kmuto.jp/debian/hcl/ pour savoir quel pilote vous devez utiliser. Vous pouvez aussi voir la page sur les modules pour plus d'infos. root

Enregistrer la configuration

Les commandes qui vous seront montrées sur cette page vous permettront de vous connecter au net. Cependant, la configuration ne sera pas enregistrée et il faudra recommencer au prochain démarrage. Pour configurer votre réseau une fois pour toutes, vous préfèrerez plutôt passer par le fichier de configuration du réseau sous Debian: /etc/network/interfaces

Vous pouvez cependant lire la suite si vous devez vous connecter provisoirement à un réseau, ou bien pour mieux comprendre. Notez d'ailleurs que vous retrouverez ces commandes sur n'importe quelle distribution, alors que le fichier interfaces est propre à Debian et ses dérivés.

Activer et désactiver une interface

# ip link set enp0s3 up

Ou plus simplement

# ifup enp0s3


Anciennes commandes:

La commande ifconfig, sans l'option -a, ne vous montre que les interfaces activées. Pour activer une interface, il faut lancer :


# ifconfig <interface> up


Pour la désactiver :


# ip link set enp0s3 down

Ou plus simplement

# ifdown enp0s3


Ancienne commande


# ifconfig <interface> down


Se connecter en ethernet

Pour se connecter à un réseau, il faut :

  • être branché à une machine qui vous relie aux autres machines du réseau, généralement la box que vous donne votre fournisseur d'accès à Internet.
  • que votre machine ait un numéro unique sur le réseau pour qu'on la reconnaisse : c'est l'adresse IP
  • connaître l'adresse d'un serveur DNS auquel vous avez accès. En gros, c'est une machine qui enregistre un annuaire des adresses IP des sites. Ce qui vous permet de taper www.google.fr plutôt que 209.85.227.103

DHCP

Le DHCP permet d'attribuer une adresse IP à votre machine automatiquement. Votre machine envoie une demande d'adresse à un serveur DHCP qui se charge de lui attribuer une adresse. Il en profite pour donner l'adresse des DNS en même temps, ce qui fait que vous n'avez rien d'autre à faire pour vous connecter. Généralement, votre box fait office de serveur DHCP, et c'est son réglage par défaut.

Il existe deux clients dhcp, dhclient et dhcpcd. Le plus probable est que vous ayez dhclient d'installé (il est en priorité standard sous Debian). Les deux s'utilisent de la même façon :


# dhclient <interface>


# dhcpcd <interface>


Et c'est tout !

IP statique

Pour configurer manuellement une IP sur une interface:


# ip addr add 192.168.1.100/24 dev eth0


Ancienne commande:

Pour vous connecter en choisissant vous-même votre IP, il faut utiliser la commande ifconfig, par exemple :


# ifconfig ethX 192.168.0.1


Vous pouvez aussi changer le masque de sous-réseau :


# ifconfig ethX 10.0.0.1 netmask 255.255.0.0


(si vous ne savez pas ce qu'est un masque, ignorer simplement cette remarque).

Si vous vous connectez en statique, il vous faut indiquer un ou plusieurs serveur(s) DNS. Pour cela, vous pouvez éditer le fichier /etc/resolv.conf de la sorte :

nameserver <IP du routeur>
nameserver <IP de votre FAI>

Mais cette modification ne sera pas conservée au prochain boot. Il vaut mieux préciser les DNS dans le fichiers /etc/network/interfaces, comme ceci (Lignes nameserver):


$ cat /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug enp0s3
#iface enp0s3 inet dhcp
iface enp0s3 inet static
address 10.9.8.200
netmask 255.255.252.0
gateway 10.9.8.254
nameserver 10.9.8.254
nameserver 41.188.9.30

Certains fournissent une box qui fait cache DNS, dans ce cas, il vous suffit d'indiquer l'IP de votre box (voir routes ci-dessous). Vous pouvez aussi utiliser les serveurs d'OpenDNS, ou vous faire votre propre serveur DNS avec Bind.

Il vous faudra aussi une route par défaut vers votre box, voir la partie routes ci-dessous.

PPP

ToDo

WiFi

Pour vous connecter en WiFi, il vous faut des commandes supplémentaires, que vous pouvez installer en faisant :

{{Root|Text=aptitude install wireless-tools wpasupplicant

Voir les réseaux

Pour voir les réseaux WiFi à portée, il faut utiliser iwlist


# iwlist <interface> scan


Se connecter en WEP

Attention : Le chiffrement WEP n'est pas sûr. Il est crackable en 10 minutes avec les outils adaptés. Il est vivement recommandé de passer au WPA.

Pour se connecter en WEP, il faut utiliser iwconfig :


# iwconfig <interface> essid <essid> key <clé WEP>


en remplaçant <essid> par le nom de votre réseau, et <clé WEP> par votre clé.

Voir la partie ethernet ci-dessus pour attribuer une adresse IP à votre carte.

Se connecter en WPA

Pour le WPA, il faut utiliser wpa_supplicant.

Pour cela, il vous faut créer un fichier de configuration, par exemple /etc/wpasupplicant.conf, qui doit avoir une en-tête de la sorte :

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
ap_scan=1
fast_reauth=1
eapol_version=1


Pour ajouter un réseau, il vous pouvez obtenir la syntaxe avec wpa_passphrase qui va vous permettre de récupérer la clé chiffrée à partir du mot de passe en clair et du nom de notre réseau (ssid).

Par exemple :

  • notre réseau se nomme : Mon_wifi_chez_moi
  • la clé en clair est  : Ma_clé_ultra_secrète_anti_hackers

On lance en console wpa_passphrase comme ceci : wpa_passphrase <ssid> <clé en clair>

Ce qui, dans l'exemple donne :


$ wpa_passphrase Mon_wifi_chez_moi Ma_clé_ultra_secrète_anti_hackers

network={
       ssid="Mon_wifi_chez_moi"
       #psk="Ma_clé_ultra_secrète_anti_hackers"
       psk=ff9116847b8e1515fc66232fd33161fdc7f7910a165b64328e905724e7308116
}

On vient de récupérer la clé chiffrée, ici psk=ff9116847b8e1515fc66232fd33161fdc7f7910a165b64328e905724e7308116. Il suffira alors de la recopier

Vous pouvez recopier le résultat complet de la commande wpa_passphrase dans /etc/wpasupplicant.conf. Vous pourrez alors vous connectez en lançant (en root) :


# wpa_supplicant -i<interface> -d<driver>-c/etc/wpa_supplicant.conf


Pour <driver>, en général, il faut indiquer « wext ». Mais ceci peut varier selon votre carte WiFi et la version de wpa_supplicant. Pour voir la liste des drivers, lancez :


$ /sbin/wpa_supplicant -l


Une fois connecté, voir la partie ethernet ci-dessus pour attribuer une adresse IP à votre carte.


Méthode simplifiée WPA

wpa_supplicant possède un mode roaming qui permet de n'avoir que wpa_supplicant à configurer. paquets nécessaires: wireless-tools, firmware de votre carte wifi. ajouter à votre /etc/network/interfaces (en s'assurant que votre interface wifi est 'wlan0'):

allow-hotplug wlan0
iface wlan0 inet manual
    wpa-roam /etc/wpa_supplicant.conf
iface default inet dhcp

un petit "iwlist" pour voir les point d'accès disponibles (il faut que votre carte wifi soit déjà configurée et up), puis il suffit d'ajouter les point d'accès à votre fichier de configuration:


# wpa_passphrase votre_essid >> /etc/wpa_supplicant.conf


voila, au prochain démarrage (ou relance du service networking) votre wifi sera operationnel.

Routage

La table de routage de votre machine lui permet de savoir à quelle machine envoyer un paquet. Vous pouvez la visualiser grâce à la commande ip route :


$ ip route

default via 10.9.8.254 dev enp0s3 onlink
10.9.8.0/22 dev enp0s3 proto kernel scope link src 10.9.8.200
169.254.0.0/16 dev enp0s3 scope link metric 1000

L'ancienne commande était route


$ /sbin/route -n

Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0
0.0.0.0         192.168.0.254   0.0.0.0         UG    0      0        0 wlan0

Ici, la première route est celle du sous-réseau qui permet de communiquer avec d'autres machines du réseau local. Elle indique simplement que pour ces machines-là, on communique avec elles directement (passerelle : 0.0.0.0 signifiant qu'il n'y a pas de passerelle). Elle est inscrite automatiquement lors de l'attribution d'une adresse IP à une interface.

La seconde destination, notée 0.0.0.0 est la passerelle par défaut. La passerelle est la box qui me donne accès à Internet (192.168.0.254), car c'est elle qui me relie aux autres machines du réseau. Ainsi, si ma machine veut envoyer un paquet à une adresse qui ne fait pas partie de mon réseau local, elle l'enverra à ma box, qui se chargera de la transmettre.

Si vous vous êtes connecté en IP statique, il vous faut rajouter manuellement la route par défaut :


# ip route add default <Adresse IP de la passerelle>


L'ancienne commande:


# route add default gw <Adresse IP de la passerelle>