Negdje u skripti za objavljivanje postoji provjera je li tunel aktivan prije nego kopiranje počne. Dostupna su tri odgovora i ne znače isto: stanje usluge koje javlja scutil, ruta koju je kernel odabrao i to odgovara li drugi kraj doista. Usporedba tih odgovora razlika je između provjere koja predviđa kopiranje i one koja samo ukrašava zapisnik.

Tri odgovora na pitanje je li VPN aktivan

Stanje usluge činjenica je upravljačke ravnine. macOS zna da je konfiguracija povezana jer je to rekla njezina klijentska procedura. Ruta je činjenica podatkovne ravnine: kernel će to odredište poslati kroz to sučelje. Dostupnost je činjenica s kraja na kraj i može pasti zbog razloga koje nijedan od ostalih dvaju ne vidi.

SignalAnswersBlind spot
scutil --nc statusIs the service connected?Third-party clients, wrong routes
route -n getWhere would this go?The peer may be down
A request to the far sideDoes it work now?Slow, and it changes state

Korisna provjera spaja prva dva i koristi treći kao potvrdu da prva dva nisu lagala. Bilo koji sam za sebe je nagađanje s vremenskom oznakom.

Čitajte identifikator, ne prikazano ime

scutil --nc list
scutil --nc status "Office"

Popis ispisuje jedan redak po usluzi, a svaki redak nosi status u zagradama, zatim identifikator usluge, vrstu i prikazano ime. Skriptu pišite prema identifikatoru jer je prikazano ime ono što je netko upisao u Postavke sustava i može se promijeniti bez najave. Naredba za status ispisuje jednu riječ, a za neke vrste usluga iza nje statistiku; uspoređujte tu prvu riječ umjesto da tražite ime po cijelom izlazu, koje se pojavljuje i drugdje.

Pokretanje usluge može izazvati upit za autorizaciju ili biti izravno odbijeno kad je profil pod upravljanjem. To odbijanje nije kvar tunela; to je izjava politike o tome kome je dopušteno podići ga.

Klijent treće strane skriva se od popisa

Prazan popis ne znači da VPN-a nema. Konfiguracije stvorene u vlastitim mrežnim postavkama sustava pojavljuju se ovdje; dobavljačev klijent, profil upravljanja ili aplikacija treće strane mogu držati aktivan tunel koji ova naredba nikad ne vidi. Vlastiti alat autoritet je za vlastitu uslugu. Pitati scutil o klijentu koji se kod njega nikada nije registrirao vraća ništa, a ništa nije isti odgovor kao isključeno.

Kad je popis prazan, ali je promet očito šifriran, tražite sučelje: uređaj utun ili ppp s adresom u očekivanom rasponu dokaz je da je nešto uspostavilo tunel. To je slabiji signal od stanja usluge, pa ga uparite s provjerom rute umjesto da sučelje uzimate kao dokaz identiteta. Nekoliko klijenata može stvoriti nekoliko takvih sučelja, a samo jedno od njih pripada tunelu koji ste mislili.

Status nije usmjeravanje

Povezana usluga kaže da tunel postoji. Ne kaže da se vaše odredište njime služi. Pročitajte adrese, pa pitajte kernel izravno:

ifconfig | grep -A4 utun
netstat -rn -f inet
route -n get 10.40.0.20

Klijent punog tunela postavlja zadanu rutu kroz tunel; klijent podijeljenog tunela postavlja određene privatne prefikse. Oba javljaju Connected, a skripta koja provjerava samo status rado će krenuti pogrešnim putem. Zaustavljanje tunela ne uklanja nužno rute koje je postavio drugi klijent, a to je jedan od načina na koji stroj završi s povezanom uslugom i zastarjelom rutom istodobno. Gledajte odredište koje vam je važno, ne cijelu tablicu usmjeravanja.

Imenovanje je zaseban problem

Drugi strojevi ne mogu doći do Maca po imenu dok njegova adresa radi, i to se prijavljuje kao kvar VPN-a. Lokalno ime hosta, ime hosta i DNS zapis tri su različite stvari. scutil --get LocalHostName pokazuje Bonjour ime; sudo scutil --set HostName mac-office postavlja ime koje sustav javlja.

Nijedna od tih postavki ne stvara zapis u uredskoj zoni. Ako drugi hostovi moraju razriješiti ime preko DNS-a, vlasnik zone mora ga dodati ili skripta umjesto toga treba koristiti adresu. Postavljanje stabilnog imena čini najave dosljednima; ne tjera razrješivač da odgovori.

Zabilježite identifikator usluge i očekivani oblik rute zajedno u skripti i provjerite oboje prije kopiranja. Tunel koji je aktivan i usmjeren na pogrešnu stranu pada točno kao da tunela nema, a zapis koji kaže Connected poslat će sljedeću osobu da traži na pogrešnom mjestu.

Povezani članci