GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi vous devez supprimer ifconfig pour ip

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 !


Linux
  1. Espace réservé pour la racine sur un système de fichiers - Pourquoi ?

  2. Besoin du "builtin" intégré ?

  3. Pourquoi n'y a-t-il pas d'API DirectX pour Linux ?

  4. Pourquoi avons-nous besoin de mktemp ?

  5. Dois-je écrire des pages de manuel pour la bibliothèque C ?

3 terminaux Linux que vous devez essayer

24 ordinateurs de bureau Linux que vous devez essayer

Tutoriel de commande Linux ifconfig pour les débutants (7 exemples)

11 raisons pour lesquelles vous devriez passer à Linux

Avez-vous besoin de Java ? Vous pouvez donc l'installer Java sur Linux

Pourquoi avons-nous besoin d'être root dans le terminal pour l'arrêt et le redémarrage ?