Hvaða macOS-tól getur þvingað eitt forrit að fara aðeins í gegnum VPN?
Mörk aðeins-VPN þurfa bæði slóð og synjun. Berið saman snið fyrir hvert forrit, milliþjóna, síur og PF, og prófið svo það eina forrit sem skiptir ykkur máli.
Ein lína í kröfuskjali — „þetta forrit má nota VPN og ekkert annað“ — biður hljóðlega um tvö fyrirkomulag sem enginn einn rofi veitir. Umferðin þarf slóð í gegnum tilætluð göngin, og synja verður umferð sem færi beint út. Tól sem gera annað vel og hitt alls ekki eru algeng, þess vegna svarar samanburður sem spyr aðeins hvort eitthvað geti lokað á örugglega helmingi spurningarinnar. Skrifið mörkin fyrst og veljið síðan þá hluta sem ná yfir báða helminga þeirra.
Tvær kröfur sem fela sig í einni setningu
Stýring er sá hluti sem setur tengingu í göngin eða milliþjóninn. Synjun er sá hluti sem kemur í veg fyrir að sama tenging fari út um aðra leið. Mismunandi hlutir útfæra þær, þeir bregðast á mismunandi vegu og vara getur verið frábær í öðru án þess að segja neitt um hitt:
| Approach | Steers traffic | Refuses direct egress | Knows the app identity |
|---|---|---|---|
| Per-app VPN profile | Yes, for the apps it names | Only if a filter or firewall also blocks | Yes, within its own rules |
| Application proxy setting | Partly, for requests that honour it | No | No |
| Content filter | No | Yes | Yes, if the filter is written that way |
| Local PF ruleset | No | Yes, by address and port | Not reliably |
Lesið töfluna sem gátlista en ekki sem röðun. Engin röð fyllir báða miðjudálkana, og raðirnar sem ná yfir þá eru tveir hlutir sem vinna saman: annar á slóðina, hinn synjunina. Auðkennisdálkurinn skiptir máli af annarri ástæðu, því regla sem getur ekki nefnt forritið getur ekki framfylgt reglu um það forrit. Hvað sem þið setjið upp verður það að svara öllum þremur, annars eru mörkin í kröfuskjalinu ekki mörkin á vélinni.
Stýring ein og sér skilur eftir útgang
Stilling milliþjóns fyrir forrit er skýrasta dæmið um stýringu án synjunar. Hún getur stýrt beiðnum frá forriti sem virðir milliþjón kerfisins og nær ekki yfir neitt annað: hjálparferli, uppfærsluforrit, bakgrunnsþjónusta eða önnur samskiptaregla geta farið sína eigin leið án þess að lesa þessa stillingu nokkurn tíma. Því skapar val á SOCKS-endapunkti í einum glugga ekki stefnu um bann við beinum útgangi fyrir forritið. Ef krafan snýst um forritið í heild, spyrjið hvaða hluta reglan greinir í raun.
VPN-snið fyrir hvert forrit stýrir betur en milliþjónn, því kerfið ræður því hvaða forrit fara inn í göngin í stað þess að hvert forrit ráði því sjálft. Samt synjar það engu: sniðið veitir slóð og umferð sem passar ekki við hana fer venjulegu leiðina. Einmitt það bil er staðurinn þar sem annar hlutur á skilið sæti sitt, og þess vegna eru vörur sem líta út eins og einn rofi yfirleitt tvær.
Synjun ein og sér brýtur forritið
Skjöl Apple um innihaldssíur lýsa úrskurði leyfa-eða-loka á umferð þegar hún fer í gegnum netstaflann. Sá úrskurður er hvorki göng né milliþjónstenging, því hann ræður því hvort eitthvað megi halda áfram, ekki hvert það fer. Sía ein og sér framfylgir synjuninni fullkomlega og skilur forritið eftir ónothæft, með hreinum annálum og engri skýringu. Úrskurður síu getur stöðvað tengingu en veitir aldrei göngin, svo að para hann við stýringu er hönnunarákvörðun en ekki valfrjáls viðbót.
Staðbundið stýrð PF-reglusett stendur á hinum enda litrófsins. Það er lögmæt stuðningsákvörðun á vél sem stjórnandi á, og það er ekki sjálfkrafa grunnur dreifanlegrar vöru, því sá sem á reglusettið á líka samskipti þess við aðra eldveggjanotendur, uppfærsluleið þess og endurheimt þegar regla er röng. Að bæta PF við vöru fjarlægir ekki þá eignarspurningu; það skilgreinir hana.
Uppsetningin ræður því hvort reglan er enn til á morgun
Hvernig Network Extension er sett upp á kerfum Apple fer eftir tegund veitanda, pökkun og þeirri OS-útgáfu sem er fyrir ykkur. Forritaviðbót á macOS keyrir í notendasamhengi og endar þegar sá notandi skráir sig út, en kerfisviðbót hefur alþjóðlegt samhengi sem er ekki háð lotunni. Ef verndin á að standa af sér útskráningu er sá munur öll hönnunin en ekki neðanmálsgrein. Staðfestið uppsetningarleiðina áður en þið lofið hegðuninni, því sami kóðinn lendir á mismunandi hátt eftir því hvaða viðbótartegund er send.
Fáanleiki frumkóða er annað mál en framfylgni. Að lesa geymslu segir ykkur hvernig eitthvað er útfært, ekki hvað uppsetta tvíundarforritið má gera á þessari vél. Undirskrift, uppsetning og heimild gilda áfram, og leiðbeiningar byggðar í kringum úrelta kjarnaviðbót eða bragð með innspýtingu bókasafns lýsa öðru kerfi og annarri áhættustöðu, hversu vel sem þær virkuðu einu sinni.
Viðtökutilfelli sem nefnir forritið
Veljið eina aðgerð sem forritið framkvæmir sjálft, skráið slóðina sem það ætti að ná og hvort hún er IPv4 eða IPv6, og endurtakið svo sömu aðgerð í samþykktu ástandi án ganga. Önnur keyrslan verður að framleiða tilkynnta synjun en ekki hljóðláta beina tilraun. Það er sá helmingur sem fólk lætur óskilgreindan, og eini helmingurinn sem sannar að synjun sé yfirhöfuð til. Keyrið hana fyrst með göngin tiltæk, svo að munurinn á tveimur niðurstöðum geti aðeins komið frá göngunum sem vantar.
Farið síðan í gegnum þau skipti sem krafan nefnir: endurræsing forritsins, hjálparferli sem fer af stað, göngin sem tengjast aftur, vélin sem skiptir um net, og útskráning eða endurræsing þar sem við á. Opinber IP-síða í vafra er ekki próf á sokkum annars forrits, svo hún getur ekki komið í stað þessa. Þar sem engin studd uppsetning nær yfir raunverulega hegðun forritsins er heimilað einangrað umhverfi með skýrri gátt og án annars útgönguleiðar ákvörðun um afmörkun með eigin stjórnunarkostnaði, ekki staðgengill fyrir gátreit.
Ljúkið með því að skrifa fjögur atriði: hvaða hlutir mynda forritið, hver á stýringuna, hver á synjunina og í hvaða ástandi reglan verður enn að gilda. Opin geymsla getur verið eitt valviðmið, en hún er ekki eitt af þeim fjórum, og þau atriði ráða því hvort tiltekið tól uppfyllir netkröfuna.