VPN-Status op macOS vum Terminal aus: scutil, Ruten oder Ping
Den Zoustand vum Service, d'Rut am Kernel an eng richteg Ufro beäntwerten dräi verschidde Froen. Schreift d'Skript no dem Service-Identifiant a kontrolléiert och d'Rut.
Iergendwou an engem Deploy-Skript gëtt kontrolléiert, ob den Tunnel un ass, ier eng Kopie ufänkt. Et ginn dräi Äntwerten, an déi bedeiten net datselwecht: den Zoustand vum Service, deen scutil mëlleft, d'Rut, déi de Kernel ausgewielt huet, an ob déi aner Säit wierklech äntwert. Si ze vergläiche ass den Ënnerscheed tëscht enger Kontroll, déi d'Kopie viraussoen, an enger, déi just de Log dekoréiert.
Dräi Äntwerten op d'Fro, ob de VPN un ass
Den Zoustand vum Service ass eng Tatsaach vun der Kontrollplang. macOS weess, datt eng Konfiguratioun verbonnen ass, well hire Clientprozess et gesot huet. D'Rut ass eng Tatsaach vun der Dateplang: de Kernel schéckt dës Destinatioun duerch déi Schnëttstell. D'Erreechbarkeet ass eng Tatsaach vum Enn zum Enn, a si kann aus Grënn feelen, déi déi aner zwee net gesinn.
| Signal | Answers | Blind spot |
|---|---|---|
scutil --nc status | Is the service connected? | Third-party clients, wrong routes |
route -n get | Where would this go? | The peer may be down |
| A request to the far side | Does it work now? | Slow, and it changes state |
Eng nëtzlech Kontroll verbënnt déi éischt zwou a benotzt déi drëtt als Bestätegung, datt déi aner zwou net gelunn hunn. Just eng dovun ass eng Vermutung mat engem Zäitstempel.
Liest den Identifiant, net den ugewisene Numm
scutil --nc list
scutil --nc status "Office"
D'Lëscht dréckt eng Linn pro Service, an all Linn huet e Status a Klameren, duerno de Service-Identifiant, den Typ an den ugewisene Numm. Schreift d'Skript no dem Identifiant, well den ugewisene Numm dee ass, deen een an de Systemastellungen agetippt huet, an en ännere kann ouni Ukënnegung. De Statusbefehl dréckt ee Wuert, an fir verschidde Servicetypen duerno Statistiken; vergläicht dat éischt Wuert, amplaz den Numm am ganzen Ausgab ze sichen, deen och soss optrëtt.
E Service ze starten kann eng Autorisatiounsufro ausléisen oder glat ofgeleent ginn, wa de Profil verwalt gëtt. Dës Oflehnung ass kee Feeler vum Tunnel; si ass eng Politik-Erklärung, wien en dierf eropsetzen.
En Drëttanbieter-Client verstoppt sech virun der Lëscht
Eng eidel Lëscht heescht net, datt et kee VPN gëtt. Konfiguratiounen, déi an den eegene Netzwierka-Stellungen vum System ugeluecht goufen, erschéngen hei; e Client vum Hiersteller, e Verwaltungsprofil oder eng App vun engem Drëttanbieter kënnen en aktiven Tunnel halen, deen dëse Befehl ni gesäit. Säin eegent Tool ass d'Autoritéit fir säin eegene Service. scutil froen iwwer e Client, dee sech ni bei him registréiert huet, gëtt näischt zréck, an näischt ass net déiselwecht Äntwert wéi getrennt.
Wann d'Lëscht eidel ass, awer den Traffic kloer verschlësselt ass, sicht d'Schnëttstell: en Apparat utun oder ppp mat enger Adress am erwaarte Beräich ass e Beweis, datt eppes en Tunnel opgebaut huet. Dat ass e méi schwaache Signal wéi de Service-Zoustand, also kombinéiert et mat enger Rutkontroll, amplaz d'Schnëttstell als Beweis vun der Identitéit ze huelen. E puer Cliente kënnen e puer sou Schnëttstelle schafen, an nëmmen eng dovun gehéiert zu deem Tunnel, deen dir gemengt hutt.
Status ass net Routing
E verbonnene Service seet, datt den Tunnel existéiert. Et seet net, datt Är Destinatioun en benotzt. Liest d'Adressen, a freet dann de Kernel direkt:
ifconfig | grep -A4 utun
netstat -rn -f inet
route -n get 10.40.0.20
E Client mat engem kompletten Tunnel setzt eng Standardrut duerch den Tunnel; e Client mat engem gedeelten Tunnel setzt bestëmmte privat Prefixen. Béid mellen Connected, an eng Skript, déi just de Status kontrolléiert, leeft fräi iwwer de falsche Wee. En Tunnel stoppen hëlt net onbedéngt d'Ruten ewech, déi en anere Client gesat huet, an dat ass ee Wee, wéi eng Maschinn gläichzäiteg e verbonnene Service an eng al Rut kritt. Kuckt op d'Destinatioun, déi Iech wichteg ass, net op d'ganz Ruttabelle.
Nummgebung ass e getrennte Problem
Anner Maschinne kommen net iwwer den Numm op de Mac, während seng Adress funktionéiert, an dat gëtt als VPN-Fehler gemellt. Den lokalen Hostnumm, den Hostnumm an den DNS-Andro sinn dräi verschidden Saachen. scutil --get LocalHostName weist den Bonjour-Numm; sudo scutil --set HostName mac-office setzt den Numm, dee de System mëlleft.
Keng vun den zwou Astellungen erstellt en Andro an der Büroszoon. Wann anner Hosten den Numm iwwer DNS opléise mussen, muss den Zoonbesëtzer en dobäisetzen, oder d'Skript sollt d'Adress benotzen. En stabile Numm ze setzen mécht d'Ukënnegungen eenheetlech; et mécht net, datt den Opléiser äntwert.
Halt de Service-Identifiant an d'erwaart Form vun der Rut zesummen am Skript fest, a kontrolléiert béid virun der Kopie. En Tunnel, dee verbonnen awer falsch geroutet ass, feelt genau wéi keen Tunnel, an déi Logzeil mat Connected schéckt déi nächst Persoun op déi falsch Plaz sichen.