Wiersz poleceń OS X Interfejs IPv4 Reset

10

Klient Network Connect VPN Juniper wydaje się pozostawić interfejs sieciowy OS X w stanie bezużytecznym, jeśli nie rozłączy się płynnie.

Edycja: „rozłącz się z gracją” odnosi się do każdego momentu, w którym VPN spada, z innych powodów niż kliknięcie przycisku „Wyloguj się” na kliencie oprogramowania. Dzieje się tak, gdy Wi-Fi przestaje działać wystarczająco długo, aby spowodować spadek VPN lub być może zamknąłem ekran laptopa, nie pamiętając o rozłączeniu itp.

Z terminala, prosty ping otrzyma następujący wynik:

ping: sendto: Cannot allocate memory

Ponowne uruchomienie rozwiązuje problem, ale jest to niewygodne.

Użycie ifconfig do zresetowania interfejsu nie działa:

ifconfig en0 down
ifconfig en0 up

Opróżnianie tabeli tras również nie jest możliwe:

route -n flush

Próbowałem też zresetować pamięć podręczną DNS (zupełnie nieistotne, ale pomyślałem, że i tak spróbuję). To oczywiście nie działało.

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

Ostatecznie działało niezawodnie, aby wyłączyć IPv4, a następnie włączyć go ponownie, wykonując następujące czynności:

  1. Otwórz Preferencje systemowe
  2. Kliknij ikonę sieci
  3. Kliknij uszkodzony interfejs.
  4. Kliknij przycisk Zaawansowane.
  5. Wybierz TCP / IP
  6. Wybierz „Wył.” W Konfiguruj IPv4.
  7. Wybierz „OK”
  8. Wybierz „Zastosuj”.
  9. Wykonaj ponownie czynności 4–8, ale zastąp 6 wybraną metodą konfiguracji adresu IP.

Więc na moje pytanie ... Czy jest sposób na osiągnięcie tego samego, co kroki 1-9 powyżej z wiersza poleceń? Idealnie chciałbym móc wywołać skrypt bash w celu zresetowania.

Uwaga: Zostało to przetestowane na OS X Mountain Lion i OS X Yosemite. Pominąłem OS X Mavericks, stąd powód, dla którego pominąłem ten konkretny tag. Mam wszelkie powody, dla których dotyczy to również Mavericks, ale nie mogę tego udowodnić.

Chuck Wolber
źródło
„Wygląda na to, że klient Network Connect VPN Juniper pozostawia interfejs sieciowy OS X w stanie bezużytecznym, jeśli nie rozłączy się płynnie”. - Nie jestem pewien, co byłoby niegodnym rozłączeniem dla twojej sprawy, ale od lat obsługujemy urządzenia SA z klientami OSX i nie doświadczyliśmy tego, co widzisz. Czy skontaktowałeś się w tej sprawie z Juniper TAC?
TheCleaner
Za każdym razem, gdy połączenie sieciowe znika na tyle długo, aby zabić VPN, pozostaję w tym stanie. Czasami wifi ma czkawkę, a może zamknąłem laptopa, zanim odpowiednio się rozłączyłem itp. Kontakt z Juniper TAC po prostu nie jest opcją w moim szczególnym przypadku.
Chuck Wolber
Mam doświadczenie, gdy jestem połączony przez VPN przez połączenie Wi-Fi, a połączenie Wi-Fi przestaje odpowiadać (z powodu zasad sesji, awarii sieci itp.), Klient Juniper Network Connect zaczyna pytać o hasło roota, aby „zmienić” rzeczy Możesz zabić klienta i uruchomić go ponownie, a nawet wyłączyć i włączyć Wi-Fi, ale klient nigdy nie połączy się ponownie bez ponownego uruchomienia. Nie bez odpowiedzi Sunila P. poniżej.
Snapman,

Odpowiedzi:

8

Te polecenia działały dla mnie.

Wyłączanie IPv4:

sudo networksetup -setv4off Wi-Fi

Powrót do DHCP:

sudo networksetup -setdhcp Wi-Fi
Sunil P.
źródło
3
Działa świetnie. A w przypadku połączenia przewodowego:s/Wi-Fi/Ethernet/
Chuck Wolber
Jeśli robisz to zdalnie (np. TeamViewer), pierwsze samo polecenie prawdopodobnie przerwie połączenie, więc uruchom oba polecenia w tym samym wierszu, oddzielone średnikiem.
mwfearnley
W moim przypadku były różne nazwy, networksetup -listallnetworkservicesmówi wszystko.
Ed Randall
1

Może szukasz networksetup? W szczególności włączanie / wyłączanie, które jest ostatnie na tej skróconej liście, wraz z innymi opcjami, które mogą być bezpośrednio przydatne. (Uruchom to polecenie bez argumentów, aby zobaczyć całą ogromną długą listę opcji).

 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).
Patrick Tudor
źródło
1

Widzę ten problem za każdym razem, gdy zamykam VPN Network Connect w niewdzięczny sposób. Skorzystałem z odpowiedzi podanej powyżej i mam w swoim imieniu alias/etc/profile

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

Teraz, kiedy to się dzieje, piszę netbouncena terminalu i wszystko jest w porządku ze światem.

Jonathan.Wagner
źródło
0

Zobacz tabelę routingu i usuń wszystkie trasy do sieci lokalnych / VPN, a następnie spróbuj ponownie połączyć się z VPN.

sudo route delete 192.168.1.0

lub tak :)

Janne Pikkarainen
źródło