Leí algunos artículos / tutoriales sobre el comando 'ifconfig', la mayoría de ellos incluían una declaración común:
"ifconfig está en desuso por comando ip"
y sugirió aprender el comando ip. Pero ninguno de ellos explicó cómo el comando 'ip' es más poderoso que 'ifconfig'.
¿Cuál es la diferencia entre ambos?
linux
networking
ip
command
Mandar Shinde
fuente
fuente
Respuestas:
ifconfig
es denet-tools
, que no ha podido mantenerse completamente al día con la pila de red de Linux durante mucho tiempo. También se usaioctl
para la configuración de red, que es una forma fea y menos poderosa de interactuar con el núcleo.Muchos cambios en el código de red de Linux y muchas características nuevas no son accesibles usando
net-tools
: enrutamiento de múltiples rutas, enrutamiento de políticas (ver RPDB).route
le permite hacer cosas estúpidas como agregar múltiples rutas al mismo destino, con la misma métrica.Adicionalmente:
ifconfig
no informa la dirección de hardware adecuada para algunos dispositivos.ipip
,sit
,gre
,l2tp
, etc. túneles estáticos en el kernel.tun
otap
dispositivos.net-tools
ninguno.Ver también
ifconfig
apesta .EDITAR : Se eliminó la afirmación sobre el
net-tools
cese del desarrollo de que a estas alturas olvidé dónde obtuve esta publicación.net-tools
'se ha trabajado desdeiproute2
su lanzamiento, aunque se trata principalmente de corrección de errores y mejoras y características menores, como la internacionalización.fuente
ifconfig
. Hay uno diferente en GNU inetutils, por ejemplo. Y eso no es todo. unix.stackexchange.com/a/504084/5132ifconfig
es un comando tradicional para mostrar información sobre interfaces de red y cambiar algunas configuraciones. En particular, puede subir y bajar interfaces. Existe en la mayoría de las variantes de Unix.En Linux, el
ifconfig
comando no ha evolucionado en mucho tiempo. Todavía está perfectamente bien para lo que hace. Si está usandoifconfig
algo, no hay razón para detenerse.Linux también proporciona el
ip
comando del conjunto de herramientas iproute2 . Elip
comando combina varios comandos clásicos y más, incluidosifconfig
,route
yarp
.ip
puede hacer mucho másifconfig
. Por otro lado,ip
no siempre está presente, especialmente en sistemas integrados (y nunca en variantes de Unix que no sean Linux).ifconfig
La salida de análisis es un poco desagradable.ip
La salida de análisis es un poco desagradable. No hay ganador allí.fuente
ip
es bastante simple, y ciertamente mucho más simple queifconfig
. También me encanta que en muchos casos la salida de unip
comando se puede usar como entrada para otroip
comando con poca o ninguna modificación (por ejemplo, cada línea deip route show
se puede usar como argumento paraip route add
).ip route
, y laip rule
salida es bastante clara y bastante fácil de analizar. Peroip link
, oip addr
es un dolor. Realmente desearía que alguien envíe un parche o algo paraip addr
imprimir las declaraciones exactas, tal vez con un interruptor, que usaría configurar la configuración actual, como lo hace conip route show
.Solo para agregar algunos bits a la respuesta de pilona. Alrededor de 2005 se introdujo un nuevo mecanismo para controlar la pila de red: los sockets de netlink .
Para configurar la interfaz de red se
iproute2
hace uso de ese mecanismo de socket de enlace de red dúplex completo, mientras seifconfig
basa en unaioctl
llamada al sistema. Aquí hay 2 documentos principales sobre la motivación detrás de netlink y el uso de rtnetlink .fuente