Pendant longtemps, le ifconfig
La commande était la méthode par défaut pour configurer une interface réseau. Il a bien servi les utilisateurs Linux, mais la mise en réseau est complexe et les commandes pour la configurer doivent être robustes. L'ip
est la nouvelle commande réseau par défaut pour les systèmes modernes. Dans cet article, je vais vous montrer comment l'utiliser.
L'ip
La commande est fonctionnellement organisée sur deux couches de la pile réseau OSI :la couche 2 (couche liaison de données) et la couche 3 (couche réseau ou IP). Il fait tout le travail dans l'ancien net-tools
paquet.
Installation de l'IP
Plus de ressources Linux
- Aide-mémoire des commandes Linux
- Aide-mémoire des commandes Linux avancées
- Cours en ligne gratuit :Présentation technique de RHEL
- Aide-mémoire sur le réseau Linux
- Aide-mémoire SELinux
- Aide-mémoire sur les commandes courantes de Linux
- Que sont les conteneurs Linux ?
- Nos derniers articles Linux
L'ip
la commande est incluse dans le iproute2util
emballer. Il est probablement déjà inclus dans votre distribution Linux. Si ce n'est pas le cas, vous pouvez l'installer à partir du référentiel de logiciels de votre distribution.
Comparaison d'ipconfig et d'utilisation d'ip
L'ip
et ipconfic
Les commandes peuvent être utilisées pour configurer une interface réseau, mais elles font les choses différemment. Je vais comparer comment effectuer des tâches courantes avec l'ancien (ipconfig
) et nouveau (ip
) commandes.
Afficher l'interface réseau et l'adresse IP
Si vous souhaitez voir l'adresse IP d'un hôte ou afficher des informations sur l'interface réseau, l'ancien ifconfig
commande, sans arguments, fournit un bon résumé :
$ ifconfig
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether bc:ee:7b:5e:7d:d8 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 41 bytes 5551 (5.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 41 bytes 5551 (5.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.1.1.6 netmask 255.255.255.224 broadcast 10.1.1.31
inet6 fdb4:f58e:49f:4900:d46d:146b:b16:7212 prefixlen 64 scopeid 0x0<global>
inet6 fe80::8eb3:4bc0:7cbb:59e8 prefixlen 64 scopeid 0x20<link>
ether 08:71:90:81:1e:b5 txqueuelen 1000 (Ethernet)
RX packets 569459 bytes 779147444 (743.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 302882 bytes 38131213 (36.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
La nouvelle ip
La commande fournit des résultats similaires, mais la commande est ip address show
, ou juste ip a
pour faire court :
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether bc:ee:7b:5e:7d:d8 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 08:71:90:81:1e:b5 brd ff:ff:ff:ff:ff:ff
inet 10.1.1.6/27 brd 10.1.1.31 scope global dynamic wlan0
valid_lft 83490sec preferred_lft 83490sec
inet6 fdb4:f58e:49f:4900:d46d:146b:b16:7212/64 scope global noprefixroute dynamic
valid_lft 6909sec preferred_lft 3309sec
inet6 fe80::8eb3:4bc0:7cbb:59e8/64 scope link
valid_lft forever preferred_lft forever
Ajouter une adresse IP
Pour ajouter une adresse IP à une interface avec ifconfig
, la commande est :
$ ifconfig eth0 add 192.9.203.21
La commande est similaire pour ip
:
$ ip address add 192.9.203.21 dev eth0
Sous-commandes dans ip
peut être raccourci, donc cette commande est également valide :
$ ip addr add 192.9.203.21 dev eth0
Vous pouvez le rendre encore plus court :
$ ip a add 192.9.203.21 dev eth0
Supprimer une adresse IP
L'inverse de l'ajout d'une adresse IP est d'en supprimer une.
Avec ifconfig
, la syntaxe est :
$ ifconfig eth0 del 192.9.203.21
L'ip
la syntaxe de la commande est :
$ ip a del 192.9.203.21 dev eth0
Activer ou désactiver la multidiffusion
Activer (ou désactiver) la multidiffusion sur une interface avec ifconfig
se produit avec la multicast
argument :
# ifconfig eth0 multicast
Avec ip
, utilisez le set
sous-commande avec le périphérique (dev
) et un booléen ou toggle multicast
choix :
# ip link set dev eth0 multicast on
Activer ou désactiver un réseau
Chaque administrateur système connaît l'ancienne astuce « éteignez-le puis rallumez-le » pour résoudre un problème. En termes d'interfaces réseau, cela se traduit par l'activation ou la désactivation d'un réseau.
Le ifconfig
la commande le fait avec le up
ou down
mots-clés :
# ifconfig eth0 up
Ou vous pouvez utiliser une commande dédiée :
# ifup eth0
L'ip
la commande utilise le set
sous-commande pour définir l'interface sur un up
ou down
état :
# ip link set eth0 up
Activer ou désactiver le protocole de résolution d'adresse (ARP)
Avec ifconfig
, vous activez ARP en le déclarant :
# ifconfig eth0 arp
Avec ip
, vous définissez le arp
propriété comme on
ou off
:
# ip link set dev eth0 arp on
Avantages et inconvénients d'ip et ipconfig
L'ip
La commande est plus polyvalente et techniquement plus efficace que ifconfig
car il utilise Netlink
sockets plutôt que ioctl
appels système.
L'ip
la commande peut sembler plus détaillée et plus complexe que ifconfig
, mais c'est une des raisons pour lesquelles il est plus polyvalent. Une fois que vous commencerez à l'utiliser, vous aurez une idée de sa logique interne (par exemple, en utilisant set
au lieu d'un mélange apparemment arbitraire de déclarations ou de paramètres).
En fin de compte, ifconfig
est obsolète (par exemple, il ne prend pas entièrement en charge les espaces de noms réseau) et ip
est conçu pour le réseau moderne. Essayez-le, apprenez-le, utilisez-le. Vous serez content de l'avoir fait !