Ripristino dell'interfaccia IPv4 della riga di comando di OS X.


10

Il client VPN Network Connect di Juniper sembra lasciare un'interfaccia di rete OS X in uno stato inutilizzabile se non si disconnette con grazia.

Modifica: "disconnetti con grazia" si riferisce a ogni volta che la VPN si interrompe per motivi diversi dal clic sul pulsante "Esci" sul client software. Questo accade quando il wifi si interrompe abbastanza a lungo da causare la caduta della VPN, o forse ho chiuso lo schermo del laptop senza ricordarmi di disconnettermi, ecc.

Dal terminale, un semplice ping ti dà il seguente risultato:

ping: sendto: Cannot allocate memory

Il riavvio risolve il problema, ma è scomodo.

L'uso di ifconfig per ripristinare l'interfaccia non funziona:

ifconfig en0 down
ifconfig en0 up

Né svuota la tabella di route:

route -n flush

Ho anche provato a ripristinare la cache DNS (completamente irrilevante, ma ho pensato di provarlo comunque). Ovviamente non ha funzionato.

launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
launchctl load /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

Ciò che alla fine ha funzionato in modo affidabile è stato lo spegnimento di IPv4 e quindi la sua riattivazione utilizzando i seguenti passaggi:

  1. Apri le Preferenze di Sistema
  2. Fai clic sull'icona di rete
  3. Fai clic sull'interfaccia non funzionante.
  4. Fai clic sul pulsante Avanzate.
  5. Seleziona TCP / IP
  6. Seleziona "Off" in Configura IPv4.
  7. Seleziona "OK"
  8. Seleziona "Applica".
  9. Ripeti i passaggi da 4 a 8, ma sostituisci 6 con il metodo di configurazione IP desiderato.

Quindi alla mia domanda ... C'è un modo per ottenere lo stesso dei passaggi 1-9 sopra dalla riga di comando? Idealmente, vorrei essere in grado di chiamare uno script bash per eseguire il ripristino.

Nota: questo è stato testato su OS X Mountain Lion e OS X Yosemite. Ho ignorato OS X Mavericks, quindi il motivo per cui ho omesso quel tag specifico. Ho tutte le ragioni per cui questo vale anche per Mavericks, ma non posso provarlo.


"Il client VPN Network Connect di Juniper sembra lasciare un'interfaccia di rete OS X in uno stato inutilizzabile se non si disconnette con grazia." - Non sono sicuro di quale sarebbe una disconnessione sgradevole per il tuo caso, ma da anni gestiamo dispositivi SA con client OSX e non abbiamo sperimentato quello che stai vedendo. Hai verificato con Juniper TAC al riguardo?
TheCleaner,

Ogni volta che la connessione di rete cade abbastanza a lungo da uccidere la VPN, rimango in questo stato. A volte il wifi avrà un singhiozzo, o forse ho chiuso il laptop prima di disconnettermi correttamente, ecc. Contattare Juniper TAC semplicemente non è un'opzione nel mio caso particolare.
Chuck Wolber,

La mia esperienza è quando sono connesso tramite VPN tramite una connessione Wi-Fi e la connessione Wi-Fi smette di rispondere (a causa di criteri di sessione, errori di rete, ecc.), Il client Juniper Network Connect inizia a chiedere le password di root per "cambiare" cose. Puoi uccidere il client e riavviarlo, e persino attivare e disattivare il Wi-Fi, ma il client non si riconnetterà mai senza un riavvio. Non senza la risposta di Sunil P qui sotto.
Snapman

Risposte:


8

Questi comandi hanno funzionato per me.

Chiusura di IPv4:

sudo networksetup -setv4off Wi-Fi

Ripristino su DHCP:

sudo networksetup -setdhcp Wi-Fi

3
Funziona alla grande. E per una connessione cablata:s/Wi-Fi/Ethernet/
Chuck Wolber,

Se lo fai da remoto (ad es. TeamViewer), il primo comando da solo interromperà presumibilmente la connessione, quindi esegui entrambi i comandi sulla stessa linea, separati da un punto e virgola.
mwfearnley,

Nel mio caso c'erano nomi diversi, networksetup -listallnetworkservicesdice tutto.
Ed Randall,

1

Forse stai cercando networksetup? In particolare l'on / off che è l'ultimo in questo elenco abbreviato con altre opzioni che possono essere direttamente utili. (Esegui quel comando senza argomenti per vedere l'intero lungo elenco di opzioni.)

 Usage: networksetup -listnetworkserviceorder
      Display services with corresponding port and device in order they are tried for connecting
      to a network. An asterisk (*) denotes that a service is disabled.

 Usage: networksetup -listallnetworkservices
      Display list of services. An asterisk (*) denotes that a network service is disabled.

 Usage: networksetup -getnetworkserviceenabled <networkservice>
      Display whether a service is on or off (enabled or disabled).

 Usage: networksetup -setnetworkserviceenabled <networkservice> <on off>
      Set <networkservice> to either <on> or <off> (enabled or disabled).

1

Vedo questo problema ogni volta che chiudo Network VPN in modo ingrato . Ho usato la risposta fornita sopra e mi ha dato un alias nel mio/etc/profile

alias netbounce='sudo networksetup -setv4off Wi-Fi;sudo  networksetup -setdhcp Wi-Fi'

Ora, quando succede, scrivo netbounceal terminale e tutto va bene per il mondo.


0

Vedi la tabella di routing e rimuovi tutti i percorsi verso le tue reti locali / VPN, quindi prova a riconnetterti alla tua VPN.

sudo route delete 192.168.1.0

o così :)

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.