Configuration du réseau
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>