{{tag>netadmin ip réseau config}}
====== Configuration IP des interfaces ======
Deux principaux outils en ligne de commande sont disponibles sur les distributions GNU/Linux pour la configuration des interfaces **ifconfig** et **ip**
Différents services peuvent se charger de la configuration des interfaces réseau. Généralement deux façons permettent de le faire sur un système Debian/Ubuntu:
- Via le [[netadmin:linux:configuration-ip#le_fichier_etc_network_interfaces|fichier de configuration]] des interfaces lu par les scripts d'initialisation système;
- via le service NetworkManager.
Le démarrage des interfaces arrive plus tôt lorsqu'elles sont configurées dans le fichier **/etc/network/interfaces**.
===== Adresser les interfaces =====
==== Afficher la configuration des interfaces ====
Sans arguments, la commande **ifconfig** ne liste que les interfaces actives. Pour lister toutes les interfaces existantes utiliser l'argument **-a**:
$ ifconfig -a
# équivalent
ip addr show
**ifconfig** est la commande historique, on la trouve dans le paquet **net-tools**. L'usage de la commande **ip** est recommandé.
==== Activation/désactivation des interfaces ====
Pour désactiver/réactiver une interface spécifique utiliser les options **down** ou **up**
ifconfig eth0 down
===== Ajout/suppression d'alias =====
Pour associer plusieurs adresses IP à une interface (on parle d'alias), suffixer le nom de l'interface par **:num-alias** suivit de l'adresse IP où **num-alias** est un nombre:
$ sudo ifconfig eth0:0 192.168.1.124
Pour supprimer l'alias utiliser l'argument **down** en désignant l'alias:
$ sudo ifconfig eth0:0 down
===== Redéfinir l'adresse mac =====
L'adresse EUI-48 associée à la carte d'interface Ethernet peut être redéfinie via les arguments **hw ether**:
$ sudo ifconfig eth0 hw ether 0a:bb:cd:ef:ff:ff
===== Table de routage =====
Afficher la table de routage du noyau avec l'une des commandes ci-dessous:
$ route
$ ip route show
$ nestat -rn
==== Définir la passerelle par défaut ====
Avec la commande **route**:
$ sudo route add default gateway 192.168.1.1
Ou avec la commande **ip**:
$ sudo ip route add default via 192.168.1.1
Pour que la modification soit permanente, modifier le fichier de configuration ''/etc/network/interfaces'' et sur une interface active automatiquement ajouter la déclaration **gateway**
auto lan
iface lan inet static
...
gateway 192.168.1.1
==== Ajouter une route ====
$ sudo ip route add to 192.9.205.0 via 192.9.200.254
===== Le fichier /etc/network/interfaces =====
Les systèmes Ubuntu/Debian utilisent le fichier ''/etc/network/interfaces'' pour paramétrer les interfaces disponibles.
==== Syntaxe ====
Les définitions d'interfaces commençant par le mot clé 'auto' identifient les interfaces s'activant automatiquement quand la commande **ifup** est invoquée avec l'argument **-a**. Cette commande est utilisée par le script de démarrage du système.
# Interface automatiquement activée au démarrage
# du système
auto lan0
Il est possible d’exécuter des commandes à l'activation et à la désactivation d'une interface réseau via les mots clés **up** et **down**. Les commandes placées derrière les mots clés sont exécutées textuellement.
auto eth0
iface eth0 inet static
address 192.168.1.42
network 192.168.1.0
netmask 255.255.255.128
broadcast 192.168.1.0
up route add -net 192.168.1.128 netmask 255.255.255.128 gw 192.168.1.2
up route add default gw 192.168.1.200
down route del default gw 192.168.1.200
down route del -net 192.168.1.128 netmask 255.255.255.128 gw 192.168.1.2
Les directives **pre-up** et **post-down** sont également disponibles. Les valeurs de retours de ces commandes peuvent être testées. En cas d'erreur la configuration sera interrompue.
auto eth0
iface eth0 inet dhcp
# Active et configure l'interface
# en DHCP seulement si le fichier set-lan existe
pre-up [ -f /etc/network/set-lan ]
...
==== Exemples ====
Configuration statique d'une interface ici nommée lan0
# Configuration statique de l'interface LAN
auto lan0
iface lan0 inet static
address 192.168.0.123
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.254
Il est possible de définir plusieurs adresses sur une même interface physique:
auto eth0 eth0:1
iface eth0 inet static
address 192.168.0.100
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
iface eth0:1 inet static
address 192.168.0.200
network 192.168.0.0
netmask 255.255.255.0
Activer une interface pour surveiller le trafic sur le réseau:
auto eth0
iface eth0 inet manual
up ifconfig $IFACE 0.0.0.0 up
up ip link set $IFACE promisc on
down ip link set $IFACE promisc off
down ifconfig $IFACE down
===== Références =====
* http://www.linux-france.org/prj/edu/archinet/systeme/ch03s03.html
* http://www.tecmint.com/ifconfig-command-examples/
* https://www.cyberciti.biz/faq/setting-up-an-network-interfaces-file/
* https://www.tecmint.com/ifconfig-vs-ip-command-comparing-network-configuration/