À déplacer dans une section « Configuration du réseau ».
Une interface (voir http://wiki.chezlefab.net/tuto_nix/config_network) va consister en :
Ces informations vont être à spécifier par l'utilisateur, ou détectées automatiquement.
Plutôt que RJ45 qui est une norme de connecteur, le réseau filaire est ethernet (on peut avoir la norme BNC).
Le fichier /etc/network/interfaces
sert à paramétrer l'accès de votre ordinateur à un réseau.
Nous pouvons le configurer manuellement, de façon simple et basique, pour que votre ordinateur se connecte à internet, que ce soit en filaire2) ou en sans fil3), par l'intermédiaire d'un routeur, plus communément appelé box.
Lorsque nous éditons notre propre configuration réseau, les outils graphiques comme NetworkManager ou Wicd doivent être supprimés4).
apt remove network-manager wicd
On peut supprimer le conflit de network-manager en modifiant le fichier networkmanager.conf ainsi :
Changer [ifupdown]managed=false
par =true
.
Merci à ragamatrix sur le salon df irc.
Lorsque nous avons plusieurs cartes réseau sur le même PC, nous pouvons aussi gérer le numéro attribué à chacune d'elle. Cela se fait au travers du fichier /etc/udev/rules.d/70-persistent-net.rules
. Voir :
Pour lister les interfaces réseau disponibles, utilisons la commmande ifconfig :
/sbin/ifconfig -a
Cette commande indique chez moi :
eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet adr:xxx.xxx.x.xx Bcast:xxx.xxx..1.255 Masque:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:35162 errors:0 dropped:0 overruns:0 frame:0 TX packets:36695 errors:0 dropped:0 overruns:0 carrier:1 collisions:0 lg file transmission:1000 RX bytes:19067074 (18.1 MiB) TX bytes:5196716 (4.9 MiB) Interruption:17 eth1 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet adr:xxx.xxx.x.xx Bcast:xxx.xxx..1.255 Masque:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interruption:18 eth2 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet adr:xxx.xxx.x.xx Bcast:xxx.xxx..1.255 Masque:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interruption:17 lo Link encap:Boucle locale inet adr:127.0.0.1 Masque:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:81 errors:0 dropped:0 overruns:0 frame:0 TX packets:81 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 RX bytes:8560 (8.3 KiB) TX bytes:8560 (8.3 KiB)
lo
est l'interface dite de loopback. Elle permet au système de discuter avec lui-même et est absolument indispensable. L'unique adresse sur cette interface est 127.0.0.1
.ethX
où X est un entier sont associées aux cartes réseau.athX
ou wlanX
, où X est un entier, sont associées aux cartes WiFi.tunX
ou tapX
sont souvent associées à des VPN.pppX
pour les modems…usbX
sont liées aux connexions réseau via USB, comme avec les smartphones.brX
correspondent à des bridges, c'est à dire la fusion de plusieurs interfaces en une seule.
Pour lister les interfaces réseau allumées, la commande est la même sans l'option -a
:
/sbin/ifconfig
Pour lister les routes actives, on utilise la commande suivante :
/sbin/route -n
La route par défaut est celle menant à votre routeur et dirigeant les paquets vers internet…
Pour lister les résolveurs DNS actifs, on utilise la commande :
cat /etc/resolv.conf
Les lignes commençant par nameserver
désignent les serveurs DNS. Voir : resolv.conf.
/etc
.
Faites préalablement une copie de sauvegarde (voir la commande cp), genre :
cp /etc/network/interfaces /etc/network/interfaces-old
Arrêter le réseau ainsi :
service networking stop
Éditer le fichier interfaces
avec l'éditeur nano :
nano /etc/network/interfaces
Nous obtenons (au moins) :
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback
Après édition, démarrer le réseau ainsi :
service networking start
Si votre interface est branchée sur un routeur, un téléphone, ou n'importe quel machin fournissant une adresse automatique via DHCP, le code à ajouter pour configurer l'interface est le suivant (mettons que l'on configure une carte réseau d'interface eth0
) :
allow-hotplug eth0 iface eth0 inet dhcp
On relance alors l'interface avec les commandes :
ifdown eth0
ifup eth0
À adapter si l'interface que vous configurez n'est pas eth0
.
Vérifiez la connexion :
/sbin/ifconfig eth0
Vous devez pouvoir lire, par exemple pour ma connexion :
eth0 Link encap:Ethernet HWaddr 00:15:f2:4d:a0:d1 inet adr:192.168.1.21 Bcast:192.168.1.255 Masque:255.255.255.0 ...
L'attribution d'une adresse IP étant confirmée,
... inet adr:192.168.1.21 ...
nous sommes donc bien connectés : le serveur DHCP
a attribué l'adresse IP 192.168.1.21 à l'interface réseau eth0
de notre machine.
Si nous ne disposons pas de serveur DHCP ou si nous voulons imposer manuellement une adresse IP, il nous est possible d'attribuer à notre interface réseau une adresse statique (static).
Par exemple, en supposant toujours que nous configurons l'interface eth0
, éditons le fichier /etc/network/interfaces
de sorte à lui ajouter ces lignes :
allow-hotplug eth0 iface eth0 inet static address 192.168.1.50 broadcast 192.168.0.255 netmask 255.255.255.0
eth0
manuellement.Les machines d'un réseau local sont souvent configurées avec pour adresse 192.168.X.Y.
En fait, pour un réseau local donné :
192.168.X.0
,192.168.X.1
à 192.168.X.254
,192.168.X.255
,255.255.255.0
.IP
fixes voir la rubrique IP
de cet excellent site : (merci à fmr de nous l'avoir indiqué…)
et aussi :
http://www.commentcamarche.net/contents/993-nat-translation-d-adresses
(sur la collaboration de freddec)
On relance alors l'interface avec les commandes :
ifdown eth0
ifup eth0
À adapter si l'interface que vous configurez n'est pas eth0
.
Vous pouvez utiliser la commande ping pour vérifier la bonne marche de votre configuration.
Par exemple, si vous avez une autre machine dont l'adresse IP est 192.168.1.42 et qui est donc dans le même réseau, elle devrait répondre à un :
ping -c 4 192.168.1.42
-c 4
de la commande ping
permet de limiter à 4 le nombre de requêtes ICMP de type ping à envoyer sur le réseau.
Pour pouvoir accéder à l'internet, il faudra indiquer à votre machine quelle est l'adresse IP du routeur qui va permettre cet accès.
Ce routeur sera donc une passerelle (gateway) entre le réseau local, auquel votre machine est connectée, et le réseau internet.
Dans le fichier /etc/network/interfaces
, il faudra donc indiquer à l'interface réseau (eth0
) de votre machine, qui est reliée à ce routeur,
l'adresse IP de cette passserelle en utilisant la directive gateway
:
allow-hotplug eth0 iface eth0 inet static address 192.168.1.50 broadcast 192.168.1.255 netmask 255.255.255.0 gateway 192.168.1.1
À ce stade, vous devez pouvoir envoyer des paquets aux IP extérieures.
Par exemple, le serveur DNS Google, dont l'adresse IP sur le réseau internet est 8.8.8.8, devrait répondre à une requête ping
:
ping -c 4 8.8.8.8
Enfin, il vous reste à apprendre à votre ordi à résoudre les noms de domaine, c'est à dire à transformer debian.org
en 176.34.135.167. Pour ce faire, il faut configurer le fichier de résolution DNS.
Vous pouvez le faire à la main en éditant votre fichier resolv.conf
(voir resolv.conf).
Pour configurer cela automatiquement, une fois que votre réseau fonctionne, installez le paquet resolvconf
:
apt-get install resolvconf
Et ajoutez à votre interface eth0
la directive dns-nameservers
bien renseignée, ce qui nous donne l'interface suivante :
allow-hotplug eth0 iface eth0 inet static address 192.168.1.50 broadcast 192.168.1.255 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 208.67.222.222
Dans laquelle vous aurez remplacé 208.67.222.222
par votre serveur DNS préféré.
Cette fois-ci, vous pouvez tester que le tout fonctionne en pingant un nom de domaine, comme :
ping -c 4 example.net
Nous pouvons aussi utiliser simultanément plusieurs cartes réseau dans le même bouzin.
Si vous avez deux cartes réseau installées sur la même bécane, il suffit de brancher les connecteurs, un câble sur le réseau local et un câble sur le réseau internet.
Ensuite vous en mettez une en dhcp
pour la connexion internet et la seconde en static
sur un réseau local.
Pour en mettre une (eth0
par exemple) sur internet et l'autre (eth1
…) sur le réseau local, nous configurons interfaces
ainsi :
Éditons le fichier /etc/network/interfaces
, et l'on rédige :
# The primary network interface allow-hotplug eth0 iface eth0 inet dhcp # The secondary network interface allow-hotplug eth1 iface eth1 inet static address 192.168.1.50 broadcast 192.168.255.255 netmask 255.255.255.0
Bien entendu, l'IP (192.168.1.50) indiquée ici est arbitraire, à vous de le déterminer comme vous l'entendez, voir plus bas pour les IP.
Pour configurer le WiFi, des options supplémentaires sont nécessaires, voir :
Regardons de plus près la ligne auto-hotplug eth0
Si tu ne mets aucune ligne avant :
iface...
rien ne se passe au boot, l'interface ne démarre qu'avec :
ifup eth0
Si tu mets auto eth0
, l'interface monte au démarrage de la machine ou au redémarrage du réseau.
Si la carte est absente, le système finit par t'injurier :
failed to bring up interface eth0
mais continue son boot.
Ainsi, normalement avec auto eth0
, ton interface (la connexion) doit monter au démarrage (boot).
L'insertion de la carte ou de la fiche RJ45 à chaud ne produit rien, sauf si tu redémarres l'interface avec :
service networking restart
allow-hotplug
à la place de auto
permet de démarrer automatiquement l'interface lorsque tu insères le câble.
allow-hotplug
devient le comportement par défaut de Debian.
Avant, on faisait tout au boot (démarrage) le xorg.conf, les interfaces, les périphériques…
Maintenant la faveur est tout en hotplug, branchement à chaud sans manipulation de la configuration de base.
auto
ou celle allow
, il n'y aura alors pas de connexion active au démarrage, cependant, il suffira d'un simple ifup
pour que la connexion s'établisse.
Suggéré par raleur sur le forum, là :
Il reste que nous avons là :
Un super bon tuto pour aller bien plus loin que cette légère introduction à la configuration de son réseau !
Hourra pour le captnfab !
Et comme le fait judicieusement remarquer cthuluh, il y a la commande :
man interfaces
En anglais bien sûr !
Merci à Haricophile et à Geko pour ces liens :
À déplacer dans la page de dhclient une fois créée.
Une façon moins orthodoxe de définir un serveur de nom de domaine pour l'ensemble du système est de le paramétrer directement dans la configuration de dhclient. Cela évite que les infos de serveur de nom de domaine qu'enverra le routeur lors de la négociation DHCP ne viennent modifier le serveur de nom que vous avez défini.
Pour ce faire, il convient d'éditer le fichier etc/dhcp/dhclient.conf
et d'ajouter la ligne suivante avant la liste des informations devant être demandées au routeur (ligne commençant par request
) :
supersede domain-name-servers 208.67.220.220;
(L'IP renseignée pour l'exemple est celle des serveurs d'OpenDNS)
Une fois votre système redémarré, le fichier etc/resolv.conf
contiendra l'IP de DNS définie.