Egy telepítő szkript valahol ellenőrzi, hogy az alagút fut-e, mielőtt a másolás elkezdődik. Három válasz áll rendelkezésre, és nem ugyanazt jelentik: a szolgáltatás állapota, amelyet scutil jelent, a kernel által választott útvonal, és hogy a túlsó vég valóban válaszol-e. Ezek összevetése a különbség az aközött az ellenőrzés között, amely megjósolja a másolást, és aközött, amely csak díszíti a naplót.

Három válasz arra, hogy fut-e a VPN

A szolgáltatás állapota vezérsík-tény. A macOS tudja, hogy egy konfiguráció csatlakozva van, mert a kliensfolyamata ezt mondta. Az útvonal adatsík-tény: a kernel ezt a célt azon a felületen keresztül küldi. Az elérhetőség végponttól végpontig terjedő tény, és olyan okokból is meghiúsulhat, amelyeket a másik kettő egyike sem lát.

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

Egy hasznos ellenőrzés az első kettőt ötvözi, a harmadikat pedig annak megerősítésére használja, hogy az első kettő nem hazudott. Bármelyik önmagában időbélyeggel ellátott találgatás.

Az azonosítót olvassa, ne a megjelenő nevet

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

A lista szolgáltatásonként egy sort ír ki, és minden sor zárójelben tartalmazza az állapotot, majd a szolgáltatás-azonosítót, a típust és a megjelenő nevet. A szkriptet az azonosítóra építse, mert a megjelenő név az, amit valaki a Rendszerbeállításokban beírt, és figyelmeztetés nélkül megváltozhat. Az állapotparancs egyetlen szót ír ki, egyes szolgáltatástípusoknál statisztikát utána; azt az első szót illessze, ne a teljes kimenetben keresse a nevet, amely máshol is előfordul.

A szolgáltatás indítása engedélyezési kérést válthat ki, vagy egyenesen elutasítható, ha a profil kezelt. Ez az elutasítás nem az alagút hibája; ez szabályzat arról, ki hozhatja fel.

A harmadik féltől származó kliens rejtve marad a listáról

Az üres lista nem azt jelenti, hogy nincs VPN. A rendszer saját hálózati beállításaiban létrehozott konfigurációk itt jelennek meg; egy szállító kliensprogramja, egy kezelési profil vagy egy harmadik féltől származó alkalmazás olyan aktív alagutat tarthat fenn, amelyet ez a parancs soha nem lát. A saját szolgáltatására a saját eszköze a mérvadó. Ha scutil-tól kérdezünk egy olyan kliensről, amely soha nem regisztrált nála, semmit kapunk, a semmi pedig nem ugyanaz a válasz, mint a leválasztott.

Amikor a lista üres, de a forgalom egyértelműen titkosított, keresse a felületet: a várt tartományba eső című utun vagy ppp eszköz bizonyíték arra, hogy valami alagutat hozott létre. Ez gyengébb jel a szolgáltatás állapotánál, ezért párosítsa útvonal-ellenőrzéssel, ahelyett hogy a felületet az azonosság bizonyítékának tekintené. Több kliens több ilyen felületet is létrehozhat, és közülük csak egy tartozik ahhoz az alagúthoz, amelyre gondolt.

Az állapot nem útválasztás

A csatlakozott szolgáltatás azt mondja, hogy létezik az alagút. Nem azt mondja, hogy a célja használja. Olvassa el a címeket, majd kérdezze meg közvetlenül a kernelt:

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

A teljes alagutas kliens alapértelmezett útvonalat telepít az alagúton át; a megosztott alagutas kliens meghatározott privát előtagokat telepít. Mindkettő Connected állapotot jelent, és a csak az állapotot ellenőrző szkript vígan elindul a rossz úton. Az alagút leállítása nem feltétlenül távolítja el a másik kliens által telepített útvonalakat, és ez az egyik módja annak, hogy egy gép egyszerre kerül csatlakozott szolgáltatással és elavult útvonallal. Azt a célt nézze, amely fontos önnek, ne a teljes útvonaltáblát.

Az elnevezés külön probléma

Más gépek nem érik el a Macet név szerint, miközben a címe működik, és ezt VPN-hibaként jelentik. A helyi gépnév, a gépnév és a DNS-rekord három különböző dolog. scutil --get LocalHostName a Bonjour-nevet mutatja; sudo scutil --set HostName mac-office beállítja a nevet, amelyet a rendszer jelent.

Egyik beállítás sem hoz létre rekordot az irodai zónában. Ha más gazdagépeknek DNS-en keresztül kell feloldaniuk a nevet, a zóna tulajdonosának hozzá kell adnia, vagy a szkriptnek inkább a címet kell használnia. Egy stabil név beállítása egységessé teszi a bejelentéseket; nem készteti válaszra a feloldót.

Rögzítse a szolgáltatás-azonosítót és a várt útvonalformát együtt a szkriptben, és a másolás előtt ellenőrizze mindkettőt. Egy futó, de rossz irányba irányított alagút pontosan úgy meghiúsul, mint a semmilyen alagút, a Connected szót tartalmazó naplósor pedig a következő embert rossz helyre küldi keresni.

Kapcsolódó cikkek