Mac PF VPN-կողպեք. կայքի քաղաքականություն, ոչ թե տարածվող հատկություն
Packet Filter-ը տարածվող արտադրանքների համար աջակցվող API չէ: Կանոնների հավաքածուին տվեք սեփականատեր, անվանեք յուրաքանչյուր բացառություն և փորձարկեք անցումները:
Այն աշխատում է ձեր Mac-ում, ուստի թվում է՝ մի բան, որը կարող եք տալ օգտատերերին: Այդ ենթադրությունն առաջինն է, որ պետք է կորցնել: Apple-ի TN3165-ը հստակ ասում է, որ Packet Filter-ը ընդհանուր տարածվող արտադրանքների համար աջակցվող API չէ, և արտոնյալ, վերահսկվող կայքի ադմինիստրացիան ներկայացնում է որպես ողջամիտ դեպք: Այսպիսով, PF-ի վրա կառուցված VPN-կողպեքը սեփականատեր ունեցող տեղական գործառնական քաղաքականություն է, ոչ թե հատկություն, որը կարող եք տարածել հավելվածի ներսում:
PF-ը փաթեթավորման մակերևույթ չէ
Տարբերությունը ակադեմիական չէ: PF-ից կախված տարածվող արտադրանքը ժառանգում է Apple-ի կատարած յուրաքանչյուր փոփոխություն, յուրաքանչյուր բախում մեկ այլ գործիքի հետ, որը նույնպես կանոններ է գրում, և ոչ մի աջակցության պարտավորություն, թե այդ դասավորությունը կշարունակի աշխատել: Իր մեքենաները կառավարող կայքն այլ հարաբերություն ունի. այն կարող է փաստաթղթավորել կախվածությունը, փորձարկել այն յուրաքանչյուր ՕՀ թողարկման դեմ և ընդունել սպասարկումը:
Տեղադրման որոշ խորհուրդներ անցնում են մի սահման, որն արժե անվանել: Ամբողջ համակարգի կանոնների հավաքածուն վերագրելը, որպեսզի մեկ խարիսխ բեռնվի, Apple-ի համակարգի մեկնարկի կոնֆիգուրացիան խմբագրելը կամ System Integrity Protection-ն անջատելը վերօգտագործվող բաղադրատոմսի համար ընդունելի պահանջներ չեն: Եթե հրապարակված ուղեցույցին դրանցից որևէ մեկն անհրաժեշտ է, ապա այն նկարագրում է լաբորատորիա, ոչ թե տեղակայվող քաղաքականություն:
Ելքի մտադրությունը գրեք շարահյուսությունից առաջ
Որոշեք, թե ինչ է թույլատրված, նախքան մեկ հիմնաբառ ընտրելը: Սովորաբար պետք է լինեն երեք ուղիներ. VPN հաճախորդի սեփական տրանսպորտը դեպի իր սերվերը, պաշտպանված հավելվածի թրաֆիկը թունելի ներսում, և այն ամենը, ինչ կարգավորումը կամ տեղական ծառայությունները իրոք ուղիղ ուղի են պահանջում:
Յուրաքանչյուր առաջարկվող բացառության տվեք նպատակակետ, տրանսպորտ և սեփականատեր: Մեկ վերջնակետի բոլոր պորտերը թույլատրելը շատ ավելին է թույլատրում, քան թունելի օգտագործած միակ տրանսպորտը, և լրացուցիչ ազդեցությունը գալիս է առանց որևէ մեկի որոշման, որ այն պետք է լինի: Հանրային resolver-ը թույլատրելը նույն թակարդն է ավելի բարեկամական հանդերձանքով. այն ուղիղ DNS ուղի է ստեղծում նույնիսկ երբ թունելը կանգնած է, ուստի անունների որոնումները դեռ արտահոսում են:
| 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 |
Բացառության համար օգտակար փորձարկումն այն է, թե կարող եք արդյոք անվանել այն մարդուն, ով խնդրել է այն, և այն ձախողումը, որը այն կանխում է: Եթե պատասխաններից ոչ մեկը չկա, կանոնը հավանաբար սխալ կոնֆիգուրացիայի շրջանցում է, որը հակառակ դեպքում անտեսանելի կմնար:
utun համարները ինքնություն չեն
MacOS-ը թունելային ինտերֆեյսները ստեղծում է որպես utun սարքեր, և ձեր VPN-ին հատկացված համարը կայուն չէ վերագործարկումների, վերամիացումների կամ մեկ այլ հաճախորդի առկայության ընթացքում: Մի քանի գուշակված համարներ թվարկող կանոնը քաղաքականություն չէ. դա մեկ կեսօրվա լուսանկար է:
Խարիսխը կապեք մի բանի, որ նույնականացնում է նախատեսված մատակարարին. թունելի հատկացրած հասցեային պլանը, ինտերֆեյսին տիրող գործընթացը կամ կոնֆիգուրացիան, որը պահպանում է հենց VPN հաճախորդը: Այնուհետև գրանցեք, թե ինչպես է աշխատում այդ նույնականացումը, քանի որ մեկ տարի անց կանոնը վերանայողը չի ունենա ձեր shell-ի պատմությունը:
Բեռնված քաղաքականությունը դարձրեք վերագրվող
Խարիսխի անունը կազմակերպում է կանոնները. այն չի ապացուցում, որ արդյունավետ քաղաքականությունը ձեր նախատեսածն է: Խարիսխների միջև գերակայությունը, այլ ծրագրաշարի բեռնած կանոնները և գոյություն ունեցող վիճակը կարող են փոխել արդյունքը: Վերանայեք արդյունավետ հավաքածուն բոլոր նրանց հետ, ովքեր նույնպես տիրում են PF-ին այդ մեքենայում, և փաստաթղթավորեք սեփականությունը նույն տեղում, որտեղ կոնֆիգուրացիան է: Երկու սեփականատեր, որոնք խմբագրում են տարբեր խարիսխներ տարբեր ենթադրություններով, սովորական ձևն է, որով կողպեքը անցք է ստանում:
Պահեք կանոնների հավաքածուն կայքի աջակցվող կոնֆիգուրացիայի ուղում, տարբերակեք այն և նշեք, թե որ macOS թողարկումներն են փորձարկվել: Ձեռքով կիրառված և մեկ մարդու հիշողության մեջ մնացած փոփոխությունը սպասարկվող ենթակառուցվածք չէ, ինչ էլ որ ասի ֆայլի վերնագիրը:
Փորձարկեք անցումները, ոչ թե միացված վիճակը
Թունելի ակտիվ ժամանակ արված էկրանի պատկերը գրեթե ոչինչ չի ապացուցում: Փոխարենը անցեք վիճակներով. մեկնարկ մինչև ցանկացած միացում, աշխատող թունել, առանց նախազգուշացման ընկնող թունել, դիտավորյալ անջատում և Wi-Fi-ից hotspot անցում: Յուրաքանչյուր վիճակ ունի իր պատասխանը, և հետաքրքիրները ձախողումներն են, ոչ թե երջանիկ ուղին:
Յուրաքանչյուր վիճակում գրանցեք, թե ինչն է դիտավորյալ հասանելի: Ստուգեք IPv4-ը և IPv6-ը առանձին, փորձարկեք անունների լուծումը և ներառեք հոսք, որն արդեն հաստատվել էր անցումից առաջ, քանի որ գոյություն ունեցող միացումները միշտ չէ, որ հետևում են նոր քաղաքականությանը: Թունելի կանգնած ժամանակ ձախողվող զննարկիչը մեկ տվյալի կետ է, ոչ թե ապացույց, որ մյուս բոլոր ուղիները արգելափակված են:
Վերջապես, պահեք վերականգնման մեթոդ, որը կախված չէ այն ցանցային ուղուց, որը փոխում եք: Տեղական պահոցում հայտնի-լավ կոնֆիգուրացիան և այն բեռնելու փաստաթղթավորված եղանակը կողպեքը դարձնում են քաղաքականություն. առանց դրանց, մեկ վատ վերանայում ադմինիստրատորին փակում է դուրս այն մեքենայից, որը պետք է պաշտպանված լիներ: