J'ai lu quelques articles / tutoriels sur la commande 'ifconfig', la plupart d'entre eux comprenaient une déclaration commune -
"ifconfig est déconseillé par la commande ip"
et a suggéré d'apprendre la commande ip. Mais aucun d'eux n'a expliqué comment la commande «ip» est plus puissante que «ifconfig».
Quelle est la différence entre les deux?
linux
networking
ip
command
Mandar Shinde
la source
la source
Réponses:
ifconfig
est denet-tools
, qui n'a pas été en mesure de suivre pleinement la pile réseau Linux depuis longtemps. Il utilise également toujours laioctl
configuration du réseau, qui est un moyen laid et moins puissant d'interagir avec le noyau.Beaucoup de changements dans le code de mise en réseau Linux et beaucoup de nouvelles fonctionnalités ne sont pas accessibles en utilisant
net-tools
: le routage par trajets multiples, le routage des politiques (voir la RPDB).route
vous permet de faire des choses stupides comme ajouter plusieurs itinéraires à la même destination, avec la même métrique.Aditionellement:
ifconfig
ne signale pas l'adresse matérielle appropriée pour certains appareils.ipip
,sit
,gre
,l2tp
, etc. tunnels statiques dans le noyau.tun
outap
périphériques.net-tools
ou l'autre.Voir aussi
ifconfig
suce .EDIT : Suppression de l'affirmation selon laquelle le
net-tools
développement cessait que j'oublie maintenant où je suis arrivé pour ce poste.net-tools
'a été travaillé depuisiproute2
sa sortie, bien qu'il s'agisse principalement de correction de bugs et d'améliorations et fonctionnalités mineures, comme l'internationalisation.la source
ifconfig
. Il en existe un autre dans les inetutils GNU, par exemple. Et ce n'est pas tout. unix.stackexchange.com/a/504084/5132ifconfig
est une commande traditionnelle pour afficher des informations sur les interfaces réseau et modifier certains paramètres. En particulier, il peut faire monter et descendre des interfaces. Il existe sur la plupart des variantes Unix.Sous Linux, la
ifconfig
commande n'a pas évolué depuis longtemps. C'est toujours parfaitement bien pour ce qu'il fait. Si vous utilisezifconfig
quelque chose, il n'y a aucune raison d'arrêter.Linux fournit également la
ip
commande de la suite d'outils iproute2 . Laip
commande combine plusieurs commandes classiques et plus, notammentifconfig
,route
etarp
.ip
peut faire beaucoup plus queifconfig
. En revanche, ilip
n'est pas toujours présent, en particulier sur les systèmes embarqués (et jamais sur les variantes Unix autres que Linux).ifconfig
La sortie de l' analyse est un peu nulle.ip
La sortie de l' analyse est un peu nulle. Aucun gagnant là-bas.la source
ip
la sortie de l' analyse était assez simple, et certainement beaucoup plus simple queifconfig
. J'aime aussi que dans de nombreux cas, la sortie d'uneip
commande puisse être utilisée comme entrée d'une autreip
commande avec peu ou pas de modification (par exemple, chaque ligne deip route show
peut être utilisée comme argumentip route add
).ip route
, et laip rule
sortie est assez claire et assez facile à analyser. Maisip link
, ouip addr
c'est une douleur. Je souhaite vraiment que quelqu'un soumette un correctif ou quelque chose pourip addr
imprimer les déclarations exactes, peut-être avec un commutateur, que vous utiliseriez pour configurer la configuration actuelle, comme vous le feriez avecip route show
.Juste pour ajouter quelques bits à la réponse de pilona. Vers 2005, un nouveau mécanisme de contrôle de la pile réseau a été introduit: les sockets netlink .
Pour configurer l'interface réseau, il
iproute2
utilise ce mécanisme de socket netlink en duplex intégral, tout enifconfig
s'appuyant sur unioctl
appel système. Voici 2 articles principaux sur la motivation derrière netlink et l' utilisation de rtnetlink .la source