Earne yn in deploy-skript sit in kontrôle oft de tunnel oan is foardat in kopy begjint. Trije antwridden binne beskikber, en se betsjutte net itselde: de tsjinststatus dy't scutil rapportearret, de rûte dy't de kernel keas, en oft de oare kant echt antwurdet. Se fergelykje is it ferskil tusken in kontrôle dy't de kopy foarsis en ien dy't allinnich in loch fersiert.

Trije antwridden op de fraach oft de VPN oan stiet

De tsjinststatus is in feit fan it kontrôleflak. macOS wit dat in konfiguraasje ferbûn is om't syn klientproses dat sein hat. De rûte is in feit fan it dataflak: de kernel sil dit bestimming troch dat ynterface stjoere. Berikberens is in feit fan ein oant ein, en it kin mislearje om redenen dy't gjin fan de oare twa sjocht.

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

In nuttige kontrôle kombinearret de earste twa en brûkt de tredde as befêstiging dat de oare twa net liigden. Elts allinnich is in gissing mei in tiidstimpel.

Lês de identifikaasje, net de werjefte namme

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

De list printsje ien rigel per tsjinst, en elke rigel draacht in status tusken heakjes, folge troch de tsjinstidentifikaasje, it type en de werjefte namme. Skriuw it skript tsjin de identifikaasje, want de werjefte namme is wat immen yn 'e Systeemynstellingen typt hat en kin sûnder warskôging feroarje. It statuskommando printsje ien wurd, folge troch statistiken foar guon tsjinsttypen; matsj dat earste wurd ynstee fan de namme yn 'e hiele útfier te sykjen, dy't ek earne oars foarkomt.

It starten fan in tsjinst kin in autorisaasjefersyk ophelje of hielendal wegere wurde as it profyl beheard wurdt. Dy wegering is gjin fout yn 'e tunnel; it is in beliedsferklearring oer wa't him ophelje mei.

In tredde-partijklient ferstoppet him foar de list

In lege list betsjut net dat der gjin VPN is. Konfiguraasjes makke yn 'e eigen netwurkynstellingen fan it systeem ferskine hjir; in leveransiersklient, in behearprofyl of in tredde-partij-app kin in aktive tunnel hâlde dy't dit kommando nea sjocht. Syn eigen ark is it gesach foar syn eigen tsjinst. Freegje scutil oer in klient dy't him nea by him registrearre hat, jout neat werom, en neat is net itselde antwurd as loskeppele.

As de list leech is mar it ferkear dúdlik fersifere, sykje dan it ynterface: in utun- of ppp-apparaat mei in adres yn it ferwachte berik is bewiis dat eat in tunnel oprjochte hat. Dat is in swakker sinjaal as in tsjinststatus, dus pearje it mei in rûtekontrôle ynstee fan it ynterface as bewiis fan identiteit te behanneljen. Ferskate kliïnten kinne ferskate sokke ynterfaces meitsje, en mar ien dêrfan heart by de tunnel dy'tst bedoelde.

Status is gjin routing

In ferbûne tsjinst seit dat de tunnel bestiet. It seit net dat dyn bestimming him brûkt. Lês de adressen en freegje dan de kernel direkt:

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

In foltunnelklient ynstallearret in standertrûte troch de tunnel; in splitstunnelklient ynstallearret beskate privee foarheaksels. Beide rapportearje Connected, en in skript dat allinnich de status kontrolearret, sil lokkich oer it ferkearde paad rinne. It stopjen fan in tunnel fuortsmyt net needsaaklikerwize rûtes dy't in oare klient ynstallearre, en dat is ien manier wêrop in masine tagelyk in ferbûne tsjinst en in ferâldere rûte hat. Sjoch nei de bestimming dy't dy oan giet, net nei de hiele rûtetabel.

Nammen binne in apart probleem

Oare masines kinne de Mac net by namme berikke wylst syn adres wurket, en dat wurdt as in VPN-fout rapportearre. De lokale hostnamme, de hostnamme en it DNS-record binne trije ferskillende dingen. scutil --get LocalHostName toant de Bonjour-namme; sudo scutil --set HostName mac-office set de namme dy't it systeem rapportearret.

Gjin fan beide ynstellingen makket in record yn 'e kantoarsône. As oare hosts de namme fia DNS ôfliede moatte, moat de sône-eigner it tafoegje, of it skript moat ynstee it adres brûke. In stabile namme ynstelle makket oankundigingen konsekwint; it lit de resolver net antwurdzje.

Skriuw de tsjinstidentifikaasje en de ferwachte rûtefoarm byinoar yn it skript, en kontrolearje beide foar de kopy. In tunnel dy't oan is en ferkeard rûte is, mislearret krekt as gjin tunnel, en de lochrigel dy't Connected seit, stjoert de folgjende persoan nei de ferkearde plak te sykjen.

Relatearre artikelen