GNU/Linux >> Linux Esercitazione >  >> Linux

Differenza tra i comandi 'ifconfig' e 'ip'

ifconfig proviene da net-tools , che non è stato in grado di tenere il passo con lo stack di rete Linux per molto tempo. Inoltre utilizza ancora ioctl per la configurazione di rete, che è un modo brutto e meno potente di interagire con il kernel.

Molte modifiche al codice di rete di Linux e molte nuove funzionalità non sono accessibili utilizzando net-tools :multipath routing, policy routing (vedi RPDB). route ti consente di fare cose stupide come aggiungere più percorsi alla stessa destinazione, con la stessa metrica.

Inoltre:

  • ifconfig non riporta l'indirizzo hardware corretto per alcuni dispositivi.
  • Non puoi configurare ipip , sit , gre , l2tp , ecc. tunnel statici nel kernel.
  • Non puoi creare tun o tap dispositivi.
  • Anche il modo di aggiungere più indirizzi a una data interfaccia ha una semantica scadente.
  • Non puoi nemmeno configurare il sistema di controllo del traffico di Linux usando net-tools o.

Vedi anche ifconfig fa schifo.

MODIFICA :Rimossa asserzione su net-tools cessando lo sviluppo che ormai ho dimenticato dove ho preso questo post. net-tools ' su cui si è lavorato dal iproute2 è stato rilasciato, sebbene si tratti principalmente di correzione di bug e miglioramenti e funzionalità minori, come l'internazionalizzazione.


ifconfig è un comando tradizionale per visualizzare informazioni sulle interfacce di rete e modificare alcune impostazioni. In particolare, può portare le interfacce su e giù. Esiste sulla maggior parte delle varianti unix.

Su Linux, il ifconfig il comando non si è evoluto da molto tempo. Va ancora perfettamente bene per quello che fa. Se stai usando ifconfig per qualcosa, non c'è motivo di fermarsi.

Linux fornisce anche ip comando dalla suite di strumenti iproute2. Il ip command combina diversi comandi classici e altri, incluso ifconfig , route e arp . ip può fare molto di più di ifconfig . D'altra parte, ip non è sempre presente, specialmente su sistemi embedded (e mai su varianti unix diverse da Linux).

Analisi ifconfig L'output di fa schifo. Analisi ip L'output di fa schifo. Nessun vincitore lì.


Solo per aggiungere alcuni bit alla risposta di pilona. Intorno al 2005 è stato introdotto un nuovo meccanismo per il controllo dello stack di rete:i netlink socket.

Per configurare l'interfaccia di rete iproute2 fa uso di quel meccanismo di socket netlink full-duplex, mentre ifconfig si basa su un ioctl chiamata di sistema. Ecco 2 documenti principali sulla motivazione dietro netlink e l'utilizzo di rtnetlink.


Linux
  1. Differenza tra ${} e $() in Bash

  2. Linux differenza tra sudo crontab -e e solo crontab -e

  3. Qual è la differenza tra "trova" e "trova" in Linux?

  4. Differenza tra funzionalità Linux e seccomp

  5. differenza copia la cartella dei contenuti tra /. e /* in Linux

Qual è la differenza tra sospensione e ibernazione in Linux

Qual è la differenza tra Linux e Unix?

Linux:differenza tra spazio utente e spazio kernel?

Linux:differenza tra Pts e Tty?

Differenza tra percorsi assoluti e relativi in ​​Linux

differenza tra netstat e ss in linux?