¿Existe un comando equivalente para 'init.d / networking restart' en OS X

17

De vez en cuando, he encontrado problemas con las conexiones de red de los clientes de OS X (cableadas e inalámbricas, Leopard / Snow Leopard) donde nada solucionará el problema, hasta que reinicie.

  • ¿Hay algún "servicio / proceso de red" en particular que debería vigilar?
  • Estaba pensando que sería útil conocer un comando que restablecerá un servicio / proceso de tipo 'conexión de red' (igual que ejecutar un sudo /etc/init.d/networking restart).

Después de solucionar problemas básicos como DHCP, DNS, verificar el mal funcionamiento de la interfaz (deshabilitar / habilitar), revisar los registros y no encontrar suficiente información útil, a veces cuando todo lo demás falla, lo mejor es simplemente reiniciar la máquina. No estoy seguro de lo que hace todo el 'init.d / networking restart' en Linux, pero sé que es mucho más útil que deshabilitar y habilitar interfaces.

¡Gracias!

l0c0b0x
fuente
1
Dices que "nada" lo arreglará ... ¿puedes decirnos qué has intentado que no ha funcionado?
TCampbell
Jejeje, casi todo a mi alcance ... y no ha sido un problema, han sido muchos ... de nuevo, tanto con cable como inalámbrico. Por ejemplo, he visto un problema en el que la tarjeta de red NO volverá a actuar, incluso después de deshabilitar y habilitar (en dos máquinas diferentes con diferentes versiones de OS X y diferentes modelos). No preguntaría esto si los problemas no fueran aleatorios :)
l0c0b0x
¿Ha logrado averiguar cómo hacer que la red vuelva a funcionar sin reiniciar? Tengo el mismo problema. Lo realmente extraño es que estoy ejecutando Windows en VMWare y todavía tengo conectividad de red desde la sesión VMWare.
2
Para ser franco, su pregunta es un poco como ir al médico y decir: "Estoy enfermo, deme un medicamento que me cure". El reinicio /etc/init.d/networking básicamente elimina la interfaz, la eleva nuevamente y luego aplica el direccionamiento configurado. Algunos controladores de tarjeta ethernet reinicializan la tarjeta cada vez que se levanta. Esta puede ser la razón por la cual reiniciar la red ha funcionado tan bien para usted. Mi punto es, si quieres una respuesta que valga la pena, ¿puedes concentrarte en el ejemplo más irritante de esto? ¿Están todas sus situaciones en el mismo lugar, por ejemplo? ¿"Problemas" significa "no carga páginas web"?
etherfish
1
He tenido una versión aún más retorcida. De vez en cuando, toda la red caerá. El menú desplegable wifi beachballs y en el panel Network System Prefs la lista al lado está vacía. Ni siquiera hay un "wifi" para reiniciar. ifconfig está vacío, ni siquiera un loopback localhost. Un reinicio /etc/init.d/network sería bastante bueno, pero tal vez con la máquina en ese estado, un reinicio es precisamente lo que se necesita. En lunix puedo recargar los módulos del núcleo, reiniciar la red, todo tipo de cosas bien documentadas. cuando el confiable maccenbox se pone de esta manera, técnicamente llamado "cagar en la cama", desconecto :(
Shayne

Respuestas:

19

Puede desactivar la interfaz de red y volver a activarla, eso debería lograr lo mismo.

sudo ifconfig en0 down
sudo ifconfig en0 up
Martin M
fuente
2
Creo que esto sería lo mismo que ir a panel / pref y deshabilitar el dispositivo y volver a habilitar, ¿verdad? (que, por supuesto, lo he intentado).
l0c0b0x
Tengo muchas más interfaces de red que en0. Esto no es realmente equivalente a la pregunta que se hace.
gman
11

No, no hay un init.d / service / launchctl equivalente a 'init.d / networking'.

Si está relacionado con wifi, puede introducir la interfaz desde la línea de comandos (en SL) con: /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport

Si está conectado, use ifconfig.

Aparte de eso ... Verificaría dmesg y / var / log / * en busca de errores.

También puede descargar / volver a cargar el kld o verificar si hay errores ... y volver a cargarlo, pero nunca lo he intentado, prefiero simplemente reiniciar. :)

Ver:

kextfind (8) - extensiones del núcleo de encontrar (kexts) en base a una variedad de criterios y la información de impresión
kextload (8) - extensiones del núcleo de carga (kexts) en el núcleo
kextunload (8) - interrumpir O Kit casos controlador I / conductor y del núcleo de descarga extensiones (kexts)
kextutil (8): carga, diagnostica problemas y genera símbolos para las extensiones del núcleo (kexts)

Essobi
fuente
1
+1 para la respuesta "relacionada con el núcleo".
l0c0b0x
8

Si desea hacerlo desde un shell ssh / remoto:

sudo ifconfig <interface> down;sleep 1;sudo ifconfig <interface> up
Bluetouque
fuente
3

Si un simple ifconfigarriba / abajo no funciona, cree una "Ubicación" adicional que tenga todos los dispositivos de red deshabilitados, luego ejecútelo scutilpara cambiarlo, duerma un par de segundos y luego vuelva a traerlo.

Dicho esto, no he visto que esto suceda en ninguno de mis Mac, excepto donde el servidor DHCP ha tenido un ajuste y ha coincidido con la renovación del contrato de arrendamiento (y, por lo tanto, el Mac terminó mal configurado). ¿La configuración de la red es realmente correcta cuando esto ocurre? Si son DHCP, ¿tiene algún efecto presionar el botón "Renovar" en Preferencias de red> {Dispositivo}> TCP / IP? ¿Qué tal, en el caso de la conexión inalámbrica, apagar y volver a encender el aeropuerto? Si puede descubrir qué, además de un reinicio, lo traerá de vuelta, entonces está un paso más cerca de descubrir qué es lo que realmente está desencadenando el comportamiento: golpearlo con un palo grande (que es lo que hace rebotar las interfaces de manera efectiva), solo afectará los síntomas, no la causa.

Mes.
fuente
Se agregó más información a la pregunta. Sí, en este caso (esta mañana) DHCP funcionaba bien, al igual que DNS. Estoy buscando el paso "si todo falla" que no incluye un reinicio del sistema operativo.
l0c0b0x
1
en Linux, /etc/init.d/networking stopprácticamente lo hace solo ifconfig ethX downpara cada interfaz. también puede vaciar la tabla de enrutamiento y posiblemente borrar el caché ARP. la magia está en el startcomando, no en el stop- y todo lo que hace es configurar el direccionamiento y las rutas (o renovar la concesión de DHCP, si corresponde) si el módulo del dispositivo de red ya está presente. Reiniciar es muy muy raramente el mejor curso de acción.
Lunes
para aclarar: cuando dice que DHCP y DNS funcionan bien, ¿la salida desde ifconfigy arpen las máquinas cliente es la misma que en circunstancias normales? ¿Pueden sus conmutadores alcanzarlos, incluso si no pueden ver otras cosas en la red? para que esto suceda con la suficiente frecuencia (y con condiciones tan variadas) para que usted pueda resolver la pregunta, estaría mirando una parte de la infraestructura que no sean los propios clientes, con toda honestidad.
Lunes
Tal vez eso es principalmente lo que estoy tratando de responder aquí, lo que la parada / inicio de la red realmente hace por usted ... y cómo puede hacer lo mismo en OSX. En este caso, la máquina OSX pudo adquirir una IP, pero no conectarse a un punto de acceso para autenticación / portal activo (la asociación estaba bien), debería haber hecho un tcpdump para averiguar dónde se estaba rompiendo el COM, pero decidí reiniciar y eso pareció "solucionar" el problema. Mi preocupación es que he tenido problemas antes de que incluso deshabilitar / habilitar una NIC no hiciera 'el truco', cuando lo hizo el reinicio.
l0c0b0x
bien ... el más cercano equivalente a networking restart es activar / desactivar las interfaces - eso es lo que los scripts de shell hacen. entonces, si eso no funciona, entonces es un problema de controlador o hardware. Dado que esto está sucediendo en un montón de máquinas diferentes en diferentes versiones del sistema operativo, tanto con cable como inalámbrico, el único factor común real es la infraestructura a la que se están conectando.
Lunes
1

Tuve el mismo problema (la red comenzó a ser lenta después de unas horas, estoy trabajando principalmente en una Mac conectada por una red cableada a una computadora con Windows) y lo que funcionó para mí fue expulsar la computadora a la que estaba conectado (en Finder) y apague Ethernet (Preferencias del sistema -> Red -> Ethernet -> Apagado) y luego vuelva a conectarlos. :)

Pedro Laia
fuente