Ich habe ein Problem, bei dem sich mein MacBook nicht wieder mit dem Internet verbindet, nachdem ich mein Arbeits-VPN deaktiviert habe. Ein einfacher Neustart behebt dies, aber ich habe mich gefragt, ob es eine Möglichkeit gibt, die Netzwerkkonfigurationen neu zu starten oder den Cache (nicht sicher, was genau das Problem ist) von der Befehlszeile aus zu löschen - ohne einen Neustart durchführen zu müssen?
Ich habe folgendes versucht, ohne Erfolg
$ ifconfig en0 down && ifconfig en0 up
Gibt es eine Möglichkeit, die Netzwerkkonfiguration nach einem Neustart auf die Standardwerte zurückzusetzen?
Bearbeiten: Dies passiert nicht jedes Mal, ich bin mir nicht genau sicher, welche Ereigniskette es auslöst.
Mangelnder Netzwerkzugriff nach der Trennung von einem VPN kann ein Symptom für ein Routing-Problem sein. Wenn Ihr VPN-Client die Verbindung nicht ordnungsgemäß trennt, kann das Gateway, das Ihren Datenverkehr an das virtuelle Netzwerk weiterleitet, manchmal bestehen bleiben und Ihren Datenverkehr effektiv in eine Sackgasse leiten.
Ich würde vorschlagen, Ihre Schnittstellen herunterzufahren, die Routing-Tabelle der Gateway-Einträge zu leeren und sie wieder hochzufahren:
Fahren Sie Ihre Netzwerkschnittstellen herunter:
for i in $(ifconfig | egrep -o "^[a-z].+\d{1}:" | sed 's/://'); do sudo ifconfig "$i" down; done
Leeren Sie die Routing-Tabelle: sudo route -n flush
.
Bringen Sie Ihre Schnittstellen wieder hoch: (wiederholen Sie Schritt 1 mit up
statt down
).
Wenn Sie dafür eine wiederverwendbare Bash-Funktion wünschen, die Sie in Ihre .bashrc (oder wo auch immer) einfügen können, können Sie Folgendes speichern:
resetroute () {
echo "Flushing routes...";
for i in $(ifconfig | egrep -o "^[a-z].+\d{1}:" | sed 's/://');
do
sudo ifconfig "$i" down;
done;
sudo route -n flush;
for i in $(ifconfig | egrep -o "^[a-z].+\d{1}:" | sed 's/://');
do
sudo ifconfig "$i" up;
done
}
Allan
Ben
Allan
sudo networksetup -setnetworkserviceenabled Ethernet off; sleep 10; networksetup -setnetworkserviceenabled Ethernet on
That deaktiviert Ihr Ethernet, wartet 10 Sekunden und schaltet es dann wieder ein.Ben
kumowoon1025
sudo networksetup -setadditionalroutes "Insert Name of Network Service here"
. Das Fehlen von Argumenten nach dem Dienstnamen löscht alle zusätzlichen Routen. PS Ich glaube nicht, dass macOS so niedrigen Zugriff auf Schnittstellen gewährt hat, die Sie von der Verwendung von erwarten könntenifconfig
, es ist im Grunde ein Wrapper, der an dieser Stelle für die Kompatibilität übrig bleibt. Werfen Sie einen Blick aufman scutil
für eine wirklich feinkörnige Steuerung.