VPN lock ng PF sa Mac: patakaran ng site, hindi isang feature na maipapadala
Ang Packet Filter ay hindi sinusuportahang API para sa mga distributed na produkto. Bigyan ng may-ari ang set ng panuntunan, pangalanan ang bawat pagbubukod, at subukan ang mga paglipat.
Gumagana ito sa iyong Mac, kaya mukhang isang bagay na maaari mong ibigay sa mga user. Ang pagpapalagay na iyon ang unang dapat bitawan. Malinaw na sinasabi ng Apple TN3165 na ang Packet Filter ay hindi sinusuportahang API para sa pangkalahatang distributed na mga produkto, at itinuturing nitong makatwiran ang pribilehiyado at kontroladong administrasyon ng site. Kaya ang VPN lock na binuo sa PF ay isang lokal na patakarang pang-operasyon na may may-ari, hindi isang feature na maipapadala sa loob ng isang app.
Ang PF ay hindi isang ibabaw ng packaging
Ang pagkakaiba ay hindi akademiko. Ang isang distributed na produktong umaasa sa PF ay nagmamana ng bawat pagbabagong ginagawa ng Apple dito, bawat salungatan sa ibang tool na nagsusulat din ng mga panuntunan, at walang pangako ng suporta na patuloy itong gagana. Ang isang site na nag-aanunsyo ng sarili nitong mga makina ay may ibang ugnayan: maaari nitong idokumento ang dependency, subukan ito sa bawat release ng OS, at tanggapin ang maintenance.
Ang ilang payo sa pag-install ay lumalabag sa isang linyang dapat pangalanan. Ang pag-overwrite sa buong set ng panuntunan ng system para mag-load ng isang anchor, ang pag-edit sa configuration ng startup ng system ng Apple, o ang pag-disable sa System Integrity Protection ay hindi katanggap-tanggap na mga pangangailangan para sa isang recipe na magagamit muli. Kung kailangan ng isang publikadong gabay ang alinman sa mga ito, naglalarawan ito ng isang lab, hindi ng isang patakarang maaaring i-deploy.
Isulat ang intensyon ng paglabas bago ang syntax
Magpasya kung ano ang pinapayagan bago pumili ng isang keyword. Karaniwang kailangang may tatlong landas: ang sariling transport ng VPN client patungo sa server nito, ang protektadong trapiko ng app sa loob ng tunnel, at anumang setup o lokal na serbisyo na tunay na nangangailangan ng direktang landas.
Bigyan ang bawat iminungkahing pagbubukod ng destinasyon, transport, at may-ari. Ang pagpayag sa bawat port patungo sa isang endpoint ay nagpapahintulot ng higit pa sa nag-iisang transport na ginagamit ng tunnel, at ang dagdag na pagkakalantad ay dumarating nang walang sinumang nagpasyang dapat itong gayon. Ang pagpayag sa isang pampublikong resolver ay ang parehong bitag sa mas palakaibigang kasuotan: lumilikha ito ng direktang landas ng DNS kahit nakababa ang tunnel, kaya tumutulo pa rin ang paghahanap ng pangalan.
| Path | Destination | Owner |
|---|---|---|
| VPN transport | Gateway address, one UDP port | Network team |
| Tunnel traffic | Internal prefixes | Application owner |
| Resolver exception | Named internal resolver | Security team |
Ang kapaki-pakinabang na pagsubok para sa isang pagbubukod ay kung maipapangalan mo ang taong humiling nito at ang pagpalya na pinipigilan nito. Kung wala ang alinman sa mga sagot, ang panuntunan ay malamang isang paraan sa paligid ng maling configuration na kung hindi ay mananatiling hindi nakikita.
Ang mga numero ng utun ay hindi pagkakakilanlan
Gumagawa ang MacOS ng mga interface ng tunnel bilang mga device na utun, at ang numerong itinatalaga sa iyong VPN ay hindi stable sa mga reboot, muling pagkonekta, o pagkakaroon ng ibang client. Ang isang panuntunang naglilista ng ilang hinulaang numero ay hindi patakaran; ito ay isang snapshot ng isang hapon.
Ikabit ang panuntunan sa isang bagay na kumikilala sa nilalayong provider: ang plano ng address na itinatalaga ng tunnel, ang prosesong nagmamay-ari ng interface, o isang configuration na pinapanatili ng VPN client mismo. Pagkatapos itala kung paano gumagana ang pagkakakilanlang iyon, dahil ang taong susuri sa panuntunan sa isang taon ay wala ang iyong kasaysayan ng shell.
Gawing maiuukol ang na-load na patakaran
Ang pangalan ng anchor ay nag-aayos ng mga panuntunan; hindi nito pinapatunayan na ang epektibong patakaran ay ang nilalayon mo. Ang isa-higit-sa-isa sa mga anchor, mga panuntunang na-load ng ibang software, at umiiral na estado ay maaaring magbago ng resulta. Suriin ang epektibong set kasama ng sinumang ibang nagmamay-ari ng PF sa makinang iyon, at idokumento ang pagmamay-ari sa parehong lugar ng configuration. Dalawang may-ari na nag-e-edit ng magkaibang anchor na may magkaibang palagay ang karaniwang paraan kung paano nagkakaroon ng butas ang isang lock.
Panatilihin ang set ng panuntunan sa sinusuportahang landas ng configuration ng site, i-version ito, at itala kung aling mga release ng macOS ang nasubukan. Ang pagbabagong inilalapat sa kamay at naaalala ng isang tao ay hindi maintained na imprastraktura, anuman ang sabihin ng header ng file.
Subukan ang mga paglipat, hindi ang konektadong estado
Ang screenshot na kinuha habang nakataas ang tunnel ay halos walang pinapatunayan. Daanan ang mga estado sa halip: pagsisimula bago ang anumang koneksyon, gumaganang tunnel, tunnel na bumabagsak nang walang babala, sinadyang pagdiskonekta, at paglipat mula Wi-Fi patungo sa hotspot. Bawat estado ay may sariling sagot, at ang mga kawili-wili ay ang mga pagpalya, hindi ang masayang landas.
Sa bawat estado, itala kung ano ang sinadyang maabot. Suriin ang IPv4 at IPv6 nang hiwalay, subukan ang resolusyon ng pangalan, at isama ang daloy na naitatag na bago ang paglipat, dahil ang mga umiiral na koneksyon ay hindi laging sumusunod sa bagong patakaran. Ang browser na nabigo habang nakababa ang tunnel ay isang data point, hindi ebidensya na ang lahat ng ibang landas ay naka-block.
Sa huli, panatilihin ang isang paraan ng pagbawi na hindi umaasa sa landas ng network na binabago mo. Ang kilalang mabuting configuration sa lokal na storage at dokumentadong paraan upang i-load ito ay ginagawang patakaran ang isang lock; kung wala ang mga ito, ang isang masamang revision ay nagla-lock sa administrator palabas ng makinang dapat protektahan.