په macOS کې، امنیتي سویچ یوازې هومره ښه دی څومره چې تر شا یې د پاکټ فلټر پالیسي ده، او pf هغه برخه ده چې دا پالیسي پلي کوي۔ پالیسي باید په یو وخت کې دوه مخالف کارونه وکړي: کلاینت ته اجازه ورکړي چې خپل سرور ته ورسیږي تر څو تونل موجود وي، او نور هر څه له مستقیم وتلو څخه ودروي۔ ډېری خپاره شوي قواعد د دویم کار کوي او لومړی هېروي، نو ماشین د خوندیتوب په ترلاسه کولو کې د اړیکې ضایع کوي۔ هغه نسخه چې کار کوي د پای نقطې، حل کوونکي او تونل نومونه اخلي، او له دې زیات نه۔

د پاکټ فلټر څه کولی شي او څه نشي کولی

pf انټرفیسونه، پتې، د پروتوکول شمېرې او پورټونه ګوري، او هلته ودریږي۔ دا هېڅکله نه پوهیږي چې کوم پروسې سوکیټ پرانیستی، نو د یو پروګرام لپاره لیکل شوې اجازه د هر هغه پروګرام اجازه ګرځي چې هماغه پورټ ته رسېدلی شي۔ همدا راز یو سخي UDP استثنا امنیتي سویچ بیرته عادي شبکه ګرځوي۔ د اپلیکیشن پوهاوی بندول د کلاینت یا د سیستم توسیع کار دی، نه دې فایل۔

فلټر مسیرونه هم نه جوړوي۔ کله چې کلاینت ولویږي، ډیفالټ مسیر کېدای شي لا هم یو مړ تونل ته اشاره وکړي، او pf هغه په بند شوو پاکټونو بدلوي نه په Wi-Fi باندې خاموش بیرته تګ۔ بندول هغه پایله ده چې غوښتل شوې، نه هغه خرابي چې باید له مخې تېره شي۔

پایله ډېره وخت د قاعدې د متن پرځای ترتیب ټاکي۔ پرته له quick pf له سمون وروسته هم ارزونه ته دوام ورکوي او وروستی سمون خوړونکی قاعده ګټي، نو د لاندې خوا یو پراخ تېرېدل پورته احتیاطي استثناوې باطلوي۔ تېرېدنو ته quick نښه کول لومړی سمون وروستی کوي، او د پالیسۍ لیکونکی معمولا همدا غواړي۔

لومړی د انټرفیس او پای نقطې حقایق ولولئ

بېسیم انټرفیسونه په هر Mac کې یو شان شمېرل شوي نه دي، او د تونل وسیله داسې شمېره اخلي چې د بوټونو تر منځ بدلېدلی شي۔ هغه قاعده چې نه شته وسایل نوموي په پارس کې ناکامه کیږي، چې لوړ او اسانه نیول کېدونکی دی، په داسې حال کې چې د غلط موجود وسیله نومول شوې قاعده پاکه پارس کیږي او هغه ترافیک اجازه کوي چې تاسو یې د بندولو غوښتنه لرله۔

حقایق هغه وخت راټول کړئ چې کلاینت وصل وي، ځکه د تونل وسیله یوازې هماغه وخت موجوده ده۔ تاسو ته هغه انټرفیس ته اړتیا ده چې ډیفالټ مسیر لري، هغه وسیله چې کلاینت جوړه کړې، او د هغه سرور پته او پورټ چې دا ورته زنګ وهي۔ هماغه وروستی ارزښت دی چې ډېری قواعد یې پرېږدي، او پرېښودل یې هغه سبب دی چې یو کاپي شوی ټولګه خپل تونل بندوي۔

route -n get default
ifconfig -l
scutil --nc list

لومړی حکم هغه انټرفیس نوموي چې اوس ګټي، دویم هر هغه وسیله لیست کوي چې کرنل یې پېژني، او دریم هغه VPN ترتیبات ښیي چې سیستم یې پیلولی شي۔ هغه ځوابونه ولیکئ، بیا د کلاینت له خپل ترتیب څخه د سرور پته او پورټ ولولئ۔

قواعد د تونل د لارې شاوخوا ولیکئ

لاندې فایل په ډیفالټ توګه ردوي او پنځه شیان بیا مني: لوپ بیک، د تونل وسیله، د کلاینت لار د هغه سرور ته، هغه حل کوونکی چې د تونل له جوړېدو دمخه کارول کیږي، او هغه دوه تبادلې چې بېسیم اړیکه کارولو وړ ساتي۔ د انټرفیس نومونه او د سرور پته ستاسو له ماشین څخه راځي، نو هغه ارزښتونه بدل کړئ چې تاسو تایید کړي دي۔ د تونل شمېره هم ستاسو سره سمون نه خوري۔

set skip on lo0
block all
pass out quick on utun0
# maintain this line when the server address changes
pass out quick on en1 inet proto udp to 203.0.113.10 port 1194
# only the resolver the client uses before the tunnel exists
pass out quick on en1 inet proto udp to 192.0.2.53 port 53
pass out quick on en1 inet proto udp from any port 68 to any port 67
pass out quick on en1 inet proto udp to 224.0.0.251 port 5353

د DHCP کرښه ځکه ده چې Mac د پتې له لرلو دمخه پته غواړي، نو غوښتنه له پورټ 68 څخه پورټ 67 ته کارولو وړ سرچینې پتې پرته وځي۔ د ملټي کاسټ کرښه سیستم ته اجازه ورکوي چې فیصله وکړي بېسیم اړیکه د کارولو وړ ده که نه، او لرې کول یې داسې ماشین جوړوي چې په فعاله شبکه کې هم هېڅ اړیکه نه ښیي۔ د پای نقطې کرښه هغه ده چې OpenVPN ته اجازه ورکوي چې خپل سرور ته ورسیږي؛ پرته له دې block all بهرنی لاس ورکول غورځوي او تونل هېڅکله پورته نه راځي۔ د حل کوونکي کرښه له عمومي DNS اجازې څخه تنګه ده، ځکه یوه پته او یو پورټ نوموي نه هر هغه پوښتنه چې ماشین کوي۔

هغه پای نقطه او حل کوونکی استثناوې هغه دوه دي چې باید موجودې وي؛ نور هر څه بند پاتې کیږي۔ که کلاینت لفظي پتې ته زنګ وهي، د حل کوونکي کرښه لرې کړئ او د پای نقطې کرښه وساتئ۔ که د سرور پته بدلیږي، هغه کرښه د بلې اړیکې دمخه تازه کړئ، یا د کلاینت له خپل کنډک څخه pf جدول ډک کړئ او پرځای یې جدول سره سمون کړئ۔

تونل ښکته کړئ، بیا بیا پیل کړئ

له بار کولو دمخه پارس کړئ، ځکه د نحو تېروتنه په وچه ازموینه کې ارزانه او په لرې ناسته کې ګرانه ده۔ بیا فایل بار کړئ، که فلټر بند و نو فعال یې کړئ، او ولولئ چې واقعا څه نافذ دي۔ بیا لوستل مراسم نه دي: بل انګور کېدای شي هغه قواعد اضافه کړي چې تاسو نه دي لیکلي، نو چاپ شوې ټولګه له خپل فایل سره پرتله کړئ۔

sudo pfctl -n -v -f /etc/pf.conf
sudo pfctl -f /etc/pf.conf
sudo pfctl -e
sudo pfctl -s rules
sudo pfctl -s Anchors
sudo pfctl -a <anchor> -s rules
sudo pfctl -s info

د قواعدو په بار حالت کې تونل ښکته کړئ او هڅه وکړئ یوه پاڼه باره کړئ۔ عادي ترافیک باید ودروي، او باید وروسته له دې چې ماشین ویده او ویښ شي هم درول شوی وي، ځکه په هماغه بدلون کې زوړ حالت بیرته ننوځي۔ بیا وصل شئ او تایید کړئ چې ترافیک پرته له دې چې قواعدو ته لاس ووهئ بیرته پیل کیږي۔ که تونل بند وي او براوزر لا هم کار کوي، یوه قاعده ستاسو له فکر څخه پراخه ده، او بیا لوستل معمولا نوم یې اخلي۔

بیا پیل هغه برخه ده چې خلک یې پرېږدي۔ macOS په بوټ کې /etc/pf.conf لولي، خو فایل لوستل د فلټر فعالولو سره یو شان نه دي، نو اوس کار کوونکی قواعد ممکن بیا پیل وروسته غیر فعال وي۔ بیا sudo pfctl -s info وچلوئ او تایید کړئ چې د حالت کرښه فلټر فعال ښیي۔

د وتلو او بیا پیل لاره صادقه وساتئ

هغه قواعد چې هر څه بندوي کېدای شي تاسو له هغه ماشین څخه هم وباسي چې له لرې یې اداره کوئ۔ کله چې شونې وي له سیمه ییزې ناستې سمون وکړئ، پخوانی فایل د نوي تر څنګ وساتئ، او د بېرته تګ لاره له اړتیا دمخه وپېژنئ۔ لاندې حکمونه فلټر غیر فعالوي او هغه کاپي چې ساتلې یې بیا باروي، او دا هغه ترتیب دی چې باید له کنسول څخه وچلول شي، نه له هغه تونل چې همدا اوس پرې کړی۔ د پنځو ثانیو بېرته تګ هر وخت یوه هوښیاره قاعده ماتوي۔

sudo pfctl -d
sudo pfctl -f /etc/pf.conf.previous
sudo pfctl -s rules

دوام ته د پیل یو ډیمون ته اړتیا ده چې pfctl -e وچلوي او ستاسو فایل په بوټ کې باروي۔ له دې سره لکه د هر بل امتیازي کار په څېر چلند وکړئ: مطلق لارې، یو لاګ چې وروسته یې لولوئ، او په هغه ماشین کې ازموینه چې فزیکي توګه ورته رسېدلی شئ۔ هغه ډیمون چې خاموش ناکام شي ماشین بې ساتنې او نورمال ښکاره پریږدي۔

تشې ثبت کړئ، له دویم VPN کلاینت څخه پیل کړئ چې خپله د تونل وسیله جوړوي۔ ستاسو قواعد یو تونل انټرفیس نوموي، نو دویم بند پاتې کیږي یا وروسته اضافه شوې پراخه قاعده یې نیسي۔ ټیترینګ او هټ سپاټ انټرفیسونه یوازې کله ناکله ښکاري او هماغه یادښت ته ارزښت لري۔ له دې تشو څخه هېڅ یوه د پالیسۍ د پرېښودو سبب نه ده؛ دا هغه شرایط دي چې پالیسي لا هم پکې اعتبار لري۔

اړوندې مقالې