¿Cuál es la diferencia entre Network Manager y 'ifconfig' 'ifup', etc.?

53

Ubuntu parece proporcionar al menos dos "conjuntos de herramientas" de red (a falta de un término mejor). Me encuentro con conflictos entre estos dos.

A menudo me encuentro con conflictos entre estos diferentes conjuntos de herramientas. Por ejemplo, estoy ejecutando Ubuntu Desktop en casa y estoy usando un software como KVM / libvirt que recomienda deshabilitar Network Manager , pero deshabilitar Network Manager hace que otras cosas se rompan.

¿Cuál es la diferencia entre Network Manager y las herramientas de red tradicionales? ¿Pueden estas dos suites funcionar una al lado de la otra o debo seguir con una u otra? ¿Existe un documento que resume la diferencia entre estas diferentes herramientas? No he podido encontrar uno.

(Perdone la vaguedad de esta pregunta. He buscado y buscado una respuesta, pero solo he encontrado muchas respuestas vagas que no parecen relevantes para Ubuntu 10.04 / Lucid, y es posible que no entienda completamente el propósito de NetworkManager. Sin embargo , esta parece ser una pregunta frecuente. Si tiene consejos para aclarar esta pregunta, publique un comentario).

Stefan Lasiewski
fuente

Respuestas:

53

NetworkManagery ifconfigno son (por defecto) compatibles ( NetworkManagerno configurará las interfaces enumeradas en /etc/network/interfaces). NetworkManageres una especie de daemon de configuración que garantiza que varios usuarios puedan editar las conexiones de red, esto es muy inteligente en un entorno de escritorio (especialmente en computadoras portátiles que pueden moverse entre diferentes redes inalámbricas). Básicamente NetworkManageres una interfaz a iproute, dhclient, wpa_supplicanty ppp.

ifconfig es una herramienta general para configurar interfaces de red, por ejemplo, puede hacer esto:

ifconfig eth1 10.0.0.1 netmask 255.0.0.0 hw ether 10:10:10:10:10:10
ifconfig eth1 down

para configurar su dirección IP, máscara de red y dirección MAC eth1, y luego baje (deshabilite / apague) su interfaz. ifconfigno lee ningún archivo de configuración y solo hace exactamente lo que se le dice.

ifupy ifdownson programas auxiliares que se usan ifconfigpara configurar una interfaz de red de acuerdo con /etc/network/interfacesesto, se asegurarán de que si hay alguna secuencia de comandos de subida, bajada, subida, bajada, subida y bajada que necesiten ejecutarse, ser.

Ok, entonces hay wpa_supplicanty dhclient. dhclientes un cliente DHCP: ifuplo usará si una interfaz de red está configurada para DHCP, como lo hará NetworkManager. wpa_supplicantes una herramienta para configurar el cifrado en redes inalámbricas.

La mayoría de estas herramientas tienen páginas de manual, por ejemplo, el archivo de interfaces tiene su propia página de manual que describe el formato de ese archivo de configuración.

man interfaces
man ifconfig
man ifup

Dicho esto, recomendaría que elimine (o deshabilite) NetworkManager, no creo que se rompa nada de eliminar, NetworkManagerexcepto las herramientas gui para configurar la red. Si desea configurar la conexión inalámbrica sin NetworkManagerque desee ver esto .

LassePoulsen
fuente
8

Estos conjuntos de herramientas son complementarios, no mutuamente excluyentes.

FWIW, ifconfiges solo una herramienta entre otras *configherramientas que se utilizan para configurar interfaces de red.

Las herramientas ifup(8)y ifdown(8)están una capa por encima de las *configherramientas. Puedes pensar en ellos como herramientas de ayuda.

Del mismo modo, NetworkManager está un nivel por encima de las herramientas ifup(8)y ifdown(8). A falta de un término mejor, NetworkManager es capaz de orquestar las herramientas (ets) desde los niveles inferiores para realizar tareas de nivel superior como Conexión a Internet compartida con facilidad adicional en comparación con el simple uso de las herramientas de los niveles inferiores.

Li Lo
fuente
Si desea detalles adicionales, deje un comentario y lo haré.
Li Lo
2
@ Li Lo: Sí, proporcione detalles adicionales. Pensé que ifup / ifdown modificaría los hosts en / etc / network / interfaces, y Network Manager ignoraría cualquier interfaz en / etc / network / interfaces. (Consulte la pregunta "d. ¿Por qué Network Manager no administrará mis redes?" En Preguntas frecuentes / Problemas comunes / Problemas
Stefan Lasiewski
Ehm, ifup / ifdown usa / etc / network / interfaces, y están separados de NetworkManager. NetworkManager no se mete con / etc / network / interfaces en absoluto, excepto que por defecto lee una lista de interfaces para ignorar.
user1338062
Rechazó esta respuesta, ya que se ha señalado como claramente errónea y no hay respuesta del afiche. Entonces supongo que la acusación es cierta.
Penghe Geng
0

Network Manager es un programa GUI utilizado cuando se trata de Ubuntu como un sistema operativo de estación de trabajo instalado en su computadora de escritorio / portátil.

Las utilidades de tipo ifconfig se basan en la línea de comandos y se usan cuando se trata de Ubuntu como un sistema operativo de servidor, cuando no tiene una interfaz gráfica disponible (por ejemplo, cuando inicia una instancia de Amazon EC2 basada en Ubuntu) . Normalmente se utilizan a través de una conexión ssh.

ggheorghiu
fuente
66
Sí, una vez utilicé el ifdowncomando a través de una conexión ssh. No funcionó demasiado bien para mí.
Igor Zinov'yev
55
Network Manager no es solo una GUI. También hay un demonio de administrador de red, que es un paquete diferente del applet GUI de administrador de red. ¿Cuál es la diferencia entre el administrador de red y las herramientas de red tradicionales?
Stefan Lasiewski
1
NetworkManager se ejecuta sobre wpa-supplicant, que es / another / tool para configurar redes. / etc / network / interfaces puede hacer llamadas a wpa-supplicant también
maco
1
De hecho, NetworkManager no es una herramienta gui-only. también puedes usarlo con la línea de comandos.
LittleByBlue
Esta respuesta es simplemente incorrecta. ifconfiges solo una herramienta antigua para la creación de redes.
LittleByBlue
0

Si elimina el administrador de red, supongo que necesita configurar / etc / network / interface para que las interfaces funcionen.

usuario254450
fuente