Existe um comando equivalente para 'init.d / networking restart' no OS X


17

De tempos em tempos, tenho problemas com as conexões de rede dos clientes OS X (com fio e sem fio, Leopard / Snow Leopard), onde nada solucionará o problema até você reiniciar.

  • Existe um 'serviço / processo de rede' específico que eu deveria estar atento?
  • Eu estava pensando que seria útil conhecer um comando que redefiniria um serviço / processo do tipo 'conexão de rede' (o mesmo que executar um sudo /etc/init.d/networking restart).

Após a solução de problemas básicos, como DHCP, DNS, verificação de mau funcionamento da interface (desativado / ativado), verificação de logs e não encontrado informações úteis suficientes, às vezes quando tudo o mais falha, o melhor é reiniciar a máquina. Não tenho certeza do que todo o 'init.d / restart em rede' faz no Linux, mas sei que é muito mais útil do que desativar e ativar interfaces.

Obrigado!


1
Você diz que "nada" vai consertar .... você pode nos dizer o que você tentou e que não funcionou?
TCampbell

Hehehe, praticamente tudo ao meu alcance ... e não foi um problema, foram muitos ... novamente, com e sem fio. Por exemplo, eu vi um problema em que a placa de rede NÃO reagia, mesmo depois de desativada e ativada (em duas máquinas diferentes com versões diferentes do OS X e modelos diferentes). Eu não pediria isso se as questões não eram aleatórias :)
l0c0b0x

Você conseguiu descobrir como fazer com que a rede funcione novamente sem a reinicialização, estou tendo o mesmo problema. O mais estranho é que eu estou executando o Windows no VMWare e ainda tenho conectividade de rede na sessão do VMWare.

2
Para ser franco, sua pergunta é um pouco como ir ao médico e dizer: "Estou doente, me dê um remédio que me cure". O /etc/init.d/networking restart basicamente elimina a interface, a eleva novamente e aplica o endereçamento configurado. Alguns drivers de placa Ethernet reinicializam a placa toda vez que ela é levantada. Talvez seja por isso que reiniciar a rede tenha funcionado tão bem para você. O que quero dizer é que, se você quer uma resposta que valha a pena, pode se concentrar no exemplo mais irritante disso? Todas as suas situações estão no mesmo local, por exemplo? "Problemas" significa "não carrega páginas da web?"
precisa saber é o seguinte

1
Eu tive uma versão ainda mais sombria. De vez em quando, tudo cai na rede. As bolas de praia suspensas de wifi e no painel Prefs do sistema de rede a lista ao lado está vazia. Não há nem um "wifi" para reiniciar. ifconfig está vazio, nem mesmo um loopback do host local. Uma reinicialização do /etc/init.d/network seria muito boa, mas talvez com a máquina nesse estado uma reinicialização seja precisamente o que é necessário. No lunix, posso recarregar os módulos do kernel, reiniciar a rede, todo tipo de coisas bem documentadas. quando o fiel ol' maccenbox fica desta forma, tecnicamente chamado de 'cagando da cama' Eu puxar o plugue :(
Shayne

Respostas:


19

Você pode desativar a interface de rede e recuperá-la novamente, o que deve fazer a mesma coisa.

sudo ifconfig en0 down
sudo ifconfig en0 up

2
Eu acho que isso seria o mesmo que ir para pré / painel e desativar o dispositivo e ativar de volta, certo? (que, é claro, eu tentei).
L0c0b0x

Eu tenho muito mais interfaces de rede do que en0. Isso não é realmente equivalente à pergunta que está sendo feita.
gman

11

Não, não existe um init.d / service / launchctl equivalente a 'init.d / networking'.

Se estiver relacionado ao wifi, você pode acessar a interface na linha de comando (no SL) com: /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport

Se estiver conectado, use ifconfig.

Fora isso, eu verificaria dmesg e / var / log / * em busca de erros.

Você também pode descarregar / recarregar o kld ou verificar se há erros ... e recarregá-lo, mas nunca tentei isso, prefiro apenas reiniciar. :)

Vejo:

kextfind (8) - encontra extensões do kernel (kexts) com base em vários critérios e imprime informações
kextload (8) - carrega extensões do kernel (kexts) no
kext kextunload (8) - encerra instâncias do driver I / O Kit e descarrega o kernel extensions (kexts)
kextutil (8) - carrega, diagnostica problemas e gera símbolos para extensões do kernel (kexts)


1
+1 para a resposta 'relacionada ao kernel'.
L0c0b0x

8

Se você quiser fazê-lo a partir de um shell ssh / remote:

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

3

Se uma simples ifconfigoperação para cima / baixo não funcionar, crie um "Local" adicional que tenha todos os dispositivos de rede desativados, depois corra scutilpara alternar para ele, durma por alguns segundos e traga-o de volta.

Dito isso, nunca vi isso acontecer em nenhum dos meus Macs, exceto nos casos em que o servidor DHCP se adaptou e coincidiu com a renovação da concessão (e, portanto, o Mac acabou configurado incorretamente). A configuração de rede está realmente correta quando isso ocorre? Se for DHCP, pressionar o botão "Renovar" em Preferências de rede> {Dispositivo}> TCP / IP tem algum efeito? Que tal, no caso da tecnologia sem fio, desligar e ligar o aeroporto novamente? Se você puder descobrir o que, além de uma reinicialização, o trará de volta, você estará um grande passo para descobrir o que realmente está desencadeando o comportamento - atingindo-o com um grande bastão (que é o que faz com que as interfaces sejam efetivamente trocadas), só vai afetar os sintomas, não a causa.


Adicionadas mais informações à pergunta. Sim, nesta instância (nesta manhã), o DHCP estava funcionando bem, assim como o DNS. Estou procurando a etapa "se tudo falhar" que não inclui uma reinicialização do sistema operacional.
L0c0b0x

1
no Linux, /etc/init.d/networking stoppraticamente faz apenas ifconfig ethX downpara cada interface. também pode esvaziar a tabela de roteamento e, possivelmente, limpar o cache do ARP. a mágica está no startcomando, não o stop- e tudo o que faz é configurar o endereçamento e as rotas (ou renovar a concessão do DHCP, se apropriado) se o módulo do dispositivo de rede já estiver presente. Reiniciar é muito, muito, muito raramente, o melhor curso de ação.
Mo.

para esclarecer - quando você diz que o DHCP e o DNS estão funcionando bem, a saída ifconfige arpnas máquinas clientes é a mesma que em circunstâncias normais? seus comutadores podem alcançá-los, mesmo que não possam ver outras coisas na rede? para que isso aconteça com bastante frequência (e com condições tão variadas) para você resolver a questão, eu observaria uma parte da infraestrutura que não seja os próprios clientes, com toda a honestidade.
Mo.

Talvez seja principalmente o que estou tentando responder aqui, o que a rede pára / inicia realmente faz por você ... e como você pode fazer o mesmo no OSX. Nesse caso, a máquina OSX conseguiu adquirir um IP, mas não se conectar a um ponto de acesso para autenticação / portal ativo (a associação estava correta), eu deveria ter feito um tcpdump para descobrir onde a COM estava quebrando, mas decidi reiniciar e isso pareceu 'consertar' o problema. Minha preocupação é que eu já tive problemas antes de desabilitar / habilitar uma NIC não fazer o 'truque' quando a reinicialização o fez.
L0c0b0x

ok… o equivalente mais próximo networking restart é desabilitar / habilitar as interfaces - é o que esses scripts shell fazem. portanto, se isso não estiver funcionando, é um problema de driver ou hardware. Dado que isso está acontecendo em um monte de máquinas diferentes em diferentes versões do sistema operacional, ao longo com e sem fio, o único verdadeiro fator comum é a infra-estrutura que está se conectando.
Jun

1

Eu tive o mesmo problema (a rede começou a ficar lenta depois de algumas horas, estou trabalhando principalmente em um Mac conectado por uma rede com fio a um computador com Windows) e o que funcionou para mim foi ejetar o computador ao qual estava conectado (no Finder) e desligue a Ethernet (Preferências do sistema -> Rede -> Ethernet -> Desligar) e conecte essas duas novamente. :)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.