Esiste un comando equivalente per "init.d / riavvio della rete" in OS X


17

Di tanto in tanto, ho riscontrato problemi con le connessioni di rete dei client OS X (Wired e Wireless, Leopard / Snow Leopard) in cui nulla risolverà il problema, fino al riavvio.

  • Esiste un particolare "servizio / processo di rete" a cui dovrei stare attento?
  • Stavo pensando che sarebbe utile conoscere un comando che ripristinerà un servizio / processo di tipo "connessione di rete" (come nell'esecuzione di un riavvio sudo /etc/init.d/networking).

Dopo la risoluzione dei problemi di base come DHCP, DNS, controllo dei malfunzionamenti dell'interfaccia (disabilita / abilita), controllo dei registri e non reperimento di informazioni utili sufficienti, a volte quando tutto il resto fallisce la cosa migliore è semplicemente riavviare la macchina. Non sono sicuro di cosa faccia tutto il "riavvio di init.d / networking" in Linux, ma so che è molto più utile che disabilitare e abilitare le interfacce.

Grazie!


1
Dici che "niente" lo risolverà ... puoi dirci cosa hai provato che non ha funzionato?
TCampbell,

Hehehe, praticamente tutto a portata di mano ... e non è stato un problema, sono stati molti ... di nuovo, sia con cavo che wireless. Ad esempio, ho riscontrato un problema in cui la scheda di rete NON reagirà, anche dopo aver disabilitato e abilitato (su due macchine diverse con versioni diverse di OS X e modelli diversi). Non lo chiederei se i problemi non fossero casuali :)
l0c0b0x

Sei riuscito a capire come far funzionare di nuovo la rete senza riavviare, sto riscontrando lo stesso problema. La cosa davvero strana è che sto eseguendo Windows in VMWare e ho ancora la connettività di rete dalla sessione VMWare.

2
Ad essere sinceri, la tua domanda è un po 'come andare dal dottore e dire: "Sono malato, dammi qualche medicina che mi curerà". Il riavvio /etc/init.d/networking in pratica elimina l'interfaccia, la solleva di nuovo e quindi applica l'indirizzamento configurato. Alcuni driver di schede Ethernet reinizializzano la scheda ogni volta che viene sollevata. Questo potrebbe essere il motivo per cui il riavvio della rete ha funzionato così bene per te. Il punto è che, se vuoi una risposta utile, puoi concentrarti sull'esempio più irritante di questo? Ad esempio, tutte le tue situazioni si trovano nella stessa posizione? "Problemi" significa "non carica le pagine Web?"
etherfish

1
Ho avuto una versione ancora più gnarlier. Ogni tanto, ogni rete cadrà. I beachball a discesa Wi-Fi e nel pannello Pref sistema di rete l'elenco a lato è vuoto. Non c'è nemmeno un "wifi" per riavviare. ifconfig è vuoto, nemmeno un loopback localhost. Un riavvio /etc/init.d/network sarebbe piuttosto dolce, ma forse con la macchina in quello stato un riavvio è esattamente ciò che è necessario. Su lunix posso ricaricare i moduli del kernel, riavviare la rete, ogni sorta di cose ben documentate. quando il fidato vecchio maccenbox arriva in questo modo, tecnicamente chiamato "cagare il letto", tolgo la spina :(
Shayne,

Risposte:


19

È possibile disattivare l'interfaccia di rete e ripristinarla nuovamente, il che dovrebbe fare la stessa cosa.

sudo ifconfig en0 down
sudo ifconfig en0 up

2
Penso che questo sarebbe lo stesso che andare su pref / panel e disabilitare il dispositivo e riabilitare, giusto? (che, ovviamente, ho provato).
l0c0b0x

Ho molte più interfacce di rete di en0. Questo non è in realtà equivalente alla domanda che viene posta.
Gman,

11

No, non esiste un init.d / service / launchctl equivalente a 'init.d / networking'.

Se è relativo al wifi, puoi cercare l'interfaccia dalla riga di comando (su SL) con: /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport

Se è cablato, utilizzare ifconfig.

A parte questo ... Vorrei controllare dmesg e / var / log / * per errori.

Puoi anche scaricare / ricaricare il kld o verificarlo per errori .., e ricaricarlo, ma non l'ho mai provato, preferirei semplicemente riavviare. :)

Vedere:

kextfind (8) - trova le estensioni del kernel (kexts) in base a una varietà di criteri e stampa informazioni
kextload (8) - carica le estensioni del kernel (kexts) nel kernel
kextunload (8) - termina le istanze del driver del kit I / O del driver e scarica il kernel extensions (kexts)
kextutil (8) - carica, diagnostica i problemi e genera simboli per le estensioni del kernel (kexts)


1
+1 per una risposta "relativa al kernel".
l0c0b0x

8

Se vuoi farlo da una shell ssh / remoto:

sudo ifconfig <interface> down;sleep 1;sudo ifconfig <interface> up

3

Se un semplice ifconfigsu / giù non funziona, crea un'ulteriore "Posizione" che ha tutti i dispositivi di rete disabilitati, quindi corri scutilper passare ad esso, dormi per un paio di secondi, quindi riportalo indietro.

Detto questo, non ho visto che ciò accada su nessuno dei miei Mac, tranne in cui il server DHCP ha avuto un adattamento ed è coinciso con il rinnovo del contratto di locazione (e quindi il Mac ha finito per essere configurato male). La configurazione di rete è effettivamente corretta quando ciò si verifica? Se sono DHCP, premere il pulsante "Rinnova" in Preferenze di rete> {Dispositivo}> TCP / IP ha qualche effetto? Che dire, nel caso del wireless, di spegnere e riaccendere l'aeroporto? Se riesci a scoprire cosa, oltre a un riavvio, lo riporterà, allora sei un grande passo in avanti per capire cosa sta effettivamente innescando il comportamento - colpendolo con un grosso bastone (che è ciò che fa rimbalzare efficacemente le interfacce), influenzerà sempre e solo i sintomi, non la causa.


Aggiunte alcune ulteriori informazioni alla domanda. Sì, in questo caso (questa mattina) il DHCP funzionava bene, così come il DNS. Sto cercando il passaggio "se tutto fallisce" che non include un riavvio del sistema operativo.
l0c0b0x

1
su Linux, /etc/init.d/networking stoppraticamente lo fa solo ifconfig ethX downper ogni interfaccia. potrebbe anche svuotare la tabella di routing ed eventualmente cancellare la cache ARP. la magia sta nel startcomando, non il stop- e tutto ciò che fa è configurare indirizzi e rotte (o rinnovare il lease DHCP, se appropriato) se il modulo del dispositivo di rete è già presente. Il riavvio è molto, molto raramente, il miglior modo di agire.
Mo.

per chiarire - quando si dice che DHCP e DNS funzionano correttamente, l'output da ifconfige arpsui computer client è lo stesso delle circostanze normali? i tuoi switch possono raggiungerli, anche se non riescono a vedere altre cose sulla rete? perché ciò accada abbastanza spesso (e con condizioni così varie) da farti rispondere alla domanda, guarderei una parte dell'infrastruttura diversa dai clienti stessi, in tutta onestà.
Mo.

Forse è principalmente quello a cui sto cercando di rispondere qui, ciò che il network stop / start effettivamente fa per te ... e come puoi fare lo stesso su OSX. In questo caso, la macchina OSX è stata in grado di acquisire un IP, ma non connettersi a un punto di accesso per autenticazione / portale attivo (l'associazione andava bene), avrei dovuto fare un tcpdump per scoprire dove si stava rompendo la COM, ma ho deciso riavviare e questo sembrava "risolvere" il problema. La mia preoccupazione è che ho avuto problemi prima che anche disabilitare / abilitare una scheda di rete non facesse "il trucco", quando è stato riavviato.
l0c0b0x

okay ... l'equivalente più vicino a networking restart è disabilitare / abilitare le interfacce - questo è quello che fanno quegli script di shell. quindi, se questo non sta facendo il trucco, allora è un problema di driver o hardware. Dato che ciò sta accadendo su un sacco di macchine diverse su diverse versioni del sistema operativo, sia via cavo che wireless, l'unico vero fattore comune è l'infrastruttura a cui si connettono.
Mo.

1

Ho avuto lo stesso problema (la rete ha iniziato a essere lenta dopo alcune ore, sto lavorando principalmente su un Mac collegato da una rete cablata a un computer Windows) e quello che ha funzionato per me è stato espellere il computer a cui ero collegato (nel Finder) e disattiva Ethernet (Preferenze di Sistema -> Rete -> Ethernet -> Spento) e quindi ricollegali. :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.