Macin VPN jumissa kohdassa »Katkaistaan«: mitä siellä oikeasti pyörii
Katkaisu on siirtymä, ei pysäytetty tunneli. Tarkista, mikä komponentti omistaa purun, lue reitit ja DNS, ja vältä prosessien laajaa tappamista.
»Katkaistaan« on tila, jonka asiakas ilmoittaa purkaessaan tunnelia, ei tuomio siitä, että liikenne on pysähtynyt. Macissa tuo purku etenee lyhyenä sarjana, ja merkintä vaihtuu vasta kun yhteyden omistava komponentti raportoi takaisin. Kun jokin vaihe odottaa apuria, liitännäistä tai käytäntöpäätöstä, merkintä voi jäädä paikoilleen sen jälkeen kun rajapinta on poissa, tai tunneli voi jatkaa välittämistä samalla kun valikko näyttää sitä. Kohtele tekstiä merkintänä »purku käynnissä, tulos tuntematon« ja selvitä, kumpi puoli pitää paikkansa.
Kaksi vikaa näyttävät valikkoriviltä samoilta ja vaativat vastakkaiset toimet. Toisessa tunneli kuljettaa yhä paketteja ja vain näyttö on vanhentunut. Toisessa tunneli on poissa, mutta erillinen käytäntö pitää liikenteen estettynä, mikä on usein tahallista. Reitit ja DNS-tila erottavat ne nopeammin kuin mikään valikon toimenpide.
Mikä merkintä seuraa
VPN-asiakas pitää pientä tilakonetta, ja valikkorivi on sen projektio. Yhteydessä, jota macOS itse hallitsee, tuo kone on järjestelmän VPN-kehyksessä. Sovelluksen hallitsemassa tunnelissa se on sovelluksessa ja sen etuoikeutetussa apurissa. Pysäytyksen viimeinen vaihe ei ole pistokkeen sulkeminen. Se on sen vapauttaminen, mikä teki tunnelista toimivan: utun-rajapinta, siihen osoittaneet reitit, asiakkaan lisäämät selvittäjätietueet ja mikä tahansa palomuurisääntö tai käytäntö, joka esti liikennettä yhteyden ollessa auki.
Nuo vaiheet ovat erillisiä, joten pysäytys voi juuttua mihin tahansa niistä. Apuri, joka lakkaa vastaamasta, reitti, jota toinenkin rajapinta vaatii, tai selvittäjätietue, jonka toinen profiili omistaa, voivat jättää asiakkaan odottamaan. Merkintä on raportti asiakkaan omasta edistymisestä, mikä tekee siitä auktoriteetin aikomuksen suhteen ja epäluotettavan verkon suhteen.
Etsi komponentti, joka omistaa yhteyden
Natiiveissa kokoonpanoissa scutil --nc list tulostaa järjestelmän tuntemat palvelut ja niiden tilan, ja scutil --nc status "Work VPN" antaa yhden palvelun tiedot. Kolmannen osapuolen sovelluksen pitämä tunneli ei välttämättä näy luettelossa lainkaan, joten tyhjä tulos ei todista, ettei mitään ole yhdistetty.
Kun profiili kuuluu sovellukselle, luota sen tilanäkymään ja dokumentoituun »Katkaise»-säätimeen. Ikkunan sulkeminen ei ole pysäytyspyyntö, jos taustalla toimiva apuri omistaa tunnelin; kuvake katoaa ja apuri pitää rajapinnan elossa. Applen VPN-asetusten viite kattaa natiivit säätimet ja sen, mistä hallitut asetukset tulevat.
Lue rajapinnat, reitit ja DNS
Kolme tarkistusta vastaavat suurimpaan osaan kysymyksestä koskematta yhteyteen. Ne on tulkittava yhdessä, sillä kukin yksin johtaa harhaan.
scutil --nc list
netstat -rn -f inet | head -20
ifconfig | grep -A 3 '^utun'
scutil --dns | head -30
- utun-rajapinta on olemassa, oletus- tai jaettu reitti kulkee sen kautta, selvittäjä osoittaa palveluntarjoajaan: tunneli on yhä ylhäällä ja merkintä on vanhentunut.
- ei utunia, tavallinen oletusreitti, DNS DHCP:stä, ei internettiä: katkaisun yhteydessä estävä käytäntö tekee työnsä.
- ei utunia, ei reittiä, selvittäjä osoittaa yhä palveluntarjoajaan: purku pysähtyi puoliväliin, ja DNS on jäljelle jäänyt siivottava.
Lähetä sitten yksi pyyntö sisäiselle isännälle, jonka pitäisi vastata vain tunnelin kautta, ja yksi julkiselle isännälle. Tavoitettavuus erottaa käytännön jäännöstilasta tekemättä tarkistuksesta mittausharjoitusta. Tallenna etätyö ensin, jos polku vielä vastaa, ja järjestä toinen sisäänkäynti ennen kuin muutat verkon asetuksia koneella, jota hallitset etänä.
Miksi laaja tappaminen ja profiilin poisto johtavat harhaan
Prosessinimet kuten pppd, racoon ja configd kuuluvat tietyille toteutuksille. Niiden tappaminen voi vaikuttaa muihin yhteyksiin, jättää reittejä ja utun-rajapintoja jälkeensä eikä anna lainkaan tietoa siitä, mikä vaihe juuttui. Vanha prosessinimi ei myöskään todista, että se omistaa nykyisen profiilin.
Profiilin poistaminen ja luominen uudelleen on suurempi muutos kuin juuttuneen siirtymän siivoaminen. Se voi heittää pois hallitut asetukset ja paikallisen identiteettimateriaalin selvittämättä, mikä epäonnistui, ja valvotussa Macissa se voidaan yksinkertaisesti palauttaa. Säästä poistaminen kokoonpanolle, joka on todella vanhentunut, ja diagnosoi sen sijaan siirtymä.
Pysäytysjakso, joka jättää jäljen
Alla oleva järjestys jättää yhteyden omat säätimet vastuuseen ja tuottaa merkinnän, jos juuttuminen palaa. Se estää myös muuttamasta näyttöongelmaa verkkomuutokseksi.
- Tallenna etätyö ja varmista, että pääset Maciin toista kautta, jos se on etänä.
- Kirjaa asiakkaan nimi, versio ja profiili. Kaappaa lyhyt ikkuna komennolla
log show --last 5m --predicate 'subsystem == "com.apple.networkextension"'; vanhemmat versiot säilyttävät vähemmän historiaa, joten aja se heti juuttumisen jälkeen. - Käytä dokumentoitua »Katkaise»-säädintä, odota ja toista sitten rajapinnan ja reittien tarkistukset.
- Jos merkintä on vanhentunut mutta tunneli on alhaalla, jätä se ja anna asiakkaan päivittyä sen sijaan että pakottaisit prosesseja.
- Jos purku todella juuttui, käynnistä asiakas uudelleen ja suunnittele sitten Macin uudelleenkäynnistys, kun työ on tallennettu. Hallitut koneet vaativat ylläpitäjän menettelyn.
Varmista palautumisen jälkeen, että tavallinen oletusreitti ja DHCP-selvittäjä ovat palanneet ja että estetty liikenne on joko palautettu tai tahallisesti yhä estetty. Kirjaa profiili ja asiakasversio oireen kanssa, jotta seuraava tapaus alkaa todisteista eikä valikkorivin arvauksesta.