تاسو یوه کرښه ورزیاتوئ چې خپله ځایي تلوالې لاره وساتئ، او له هغې وروسته تونل نور داخلي DNS سرور ته نه رسیږي. هغه کرښه pull-filter ignore "route" وه، چې مانا یې "دا لاره له پامه غورځوه" نه ده. مانا یې "هر هغه هڅول شوی انتخاب وغورځوه چې متن یې په همدغو پنځو تورو پیل کیږي" ده، او په یو عادي سرور کې دا له لارو سره یوځای route-gateway, route-metric او route-ipv6 هم رانغاړي. لاندې چک لیست هغه څه دي چې زه یې پرمخ وړم مخکې له دې چې د بل چا د کارولو وړ پروفایل ته لاس ووهم.

فلټر یوازې پر هڅول شویو انتخابونو اغیزه کوي

pull-filter یوازې پر هغو انتخاب-کرښو کار کوي چې سرور د تونل له جوړېدو وروسته لیږي، او پر بل هیچا نه. هغه انتخابونه چې ستاسو په ځایي فایل کې لیکل شوي له دې اغیزه نه اخلي، او د غوښتنلیکونو ترافیک هم نه. که تاسو هیله درلوده چې یوه پروسه د تونل له کارولو منع کړئ، دا په بشپړه توګه غلطه وسیله ده او د فلټرونو هیڅ ترکیب به دا ونه کړي.

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

مخکې له دې چې نمونه ولیکئ، تایید کړئ چې سرور واقعاً څه لیږي. په لوړ تفصیل کې کارن هغه هڅول شوې انتخاب-تړنه چې ترلاسه کړې چاپوي، او دا هغه یوازینی صادق سرچینه ده د هغه دقیق متن لپاره چې تاسو ورسره پرتله کوئ:

sudo openvpn --config /etc/openvpn/corp.ovpn --verb 4
sudo grep -n 'pull-filter' /etc/openvpn/corp.ovpn

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

سمون یو مخکښ دی، نو تشې ټوله لوبه ده

پرتله د تړنې مخکښ ده، نه تحلیل شوی انتخاب-نوم. له همدې امله "route" له route-gateway 10.8.0.1, route-ipv6 2001:db8::/32 او route-metric 100 سره سمون خوري. په پای کې یوه تشه ورزیاتول هغه کورنۍ ته یې نږدې کوي چې تاسو یې احتمالاً په نظر کې درلود، او بشپړ مخکښ یې لا ډېر تر یو ځانګړي منزل پورې محدودوي.

Filter textWhat it actually matchesTypical outcome
"route"Every option beginning with those lettersRoutes, gateway, metric and IPv6 routes all dropped
"route "Route entries only, not the hyphenated siblingsThe routes go, the rest survives
"route 10.60."A single destination rangeThe narrowest rule, and the easiest to audit
"dhcp-option DNS"Pushed DNS settingsResolver stays local, internal names stop resolving

وروستی قطار هغه دی چې خلک د ویشل شوي تونل په کار کې نیسي. خپل ریزالور ساتل یو قانوني انتخاب دی، او مانا یې دا ده چې اوس هر داخلي نوم پر هغه ریزالور تکیه ده چې شخصي زون نه شي لیدلای. دا هغه پایله ده چې په قصدي ډول منل کیږي، نه هغه ضمني اغیزه چې په تولید کې کشف شي.

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

درې فعلونه، درې بېلې پایلې

accept, ignore او reject د یوې مفکورې درې املا نه دي. دوی په دې کې توپیر لري چې کارن له سمون سره څه کوي او آیا څوک پرې پوهیږي.

ignore سمون خور کوونکی انتخاب په خاموشۍ غورځوي، چې دا هغه څه دي چې تاسو یې د قصدي بدل شوې ترتیبا لپاره غواړئ. reject هغه غورځوي او کارن ته شکایت کوي، چې دا هغه څه دي چې تاسو یې غواړئ کله چې د هغه نه شتون باید په لاګ کې ښکاره شي نه چې وروسته کشف شي. accept مثبته بڼه ده، کله چې تاسو د اجازې لیست جوړوئ نه د جلا انتخابونو لرې کول، کارول کیږي.

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

پلي شوې لاره او ریزالور وګورئ، نه پروفایل

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

ip route show default
ip route show | grep -c 'proto static'
resolvectl status | grep -A4 'Link.*tun0'
curl -sS -o /dev/null -w '%{http_code}\n' --max-time 5 https://intranet.example.internal/

لومړي دوه کرښې تاسو ته وایي آیا هڅول شوې تلواله لاره ورسیده او څو سټاټیک ننوتنې پاتې شوې. د ریزالور پوښتنه ښیي چې د تونل انټرفیس واقعاً کوم سرور کاروي، او معمولاً هماغې خوا ته د DNS حیرانتیا ښکاري. وروستۍ کرښه د کاروونکي لپاره یوازینۍ مهمې پوښتنې ته ځواب ورکوي.

هلته چې یاست دواړه لوري وازموئ. هغه قاعده چې ستاسو ځایي انټرنیټ روان ساتي خو داخلي نوم-حل په خاموشۍ ماتوي، سطحې کتنه تېریږي او په لومړنۍ ریښتینې دنده کې ناکامه کیږي، نو په هماغه ازموینه کې یو داخلي سرچینه او یو عامه وېبپاڼه شامل کړئ.

استثنا او د هغې مالک ثبت کړئ

فلټر د آپریټر د ډیزاین استثنا ده، نو د لامل او بیاکتنې نقطې سره یې ولیکئ. "هڅول شوې لارې له پامه غورځوي ترڅو ځایي تلواله وساتي" د بیاکتنې وړ ده؛ په پروفایل کې بربنډه کرښه نه ده، او بل څوک به یې ړنګه کړي یا په اټکل پراخه کړي.

نسخه دلته هم مهمه ده. د سمون چلند او دقیق منل شوی سینټکس په OpenVPN 2.4, 2.5 او 2.6 کې بشپړ شوي، نو نمونه د هغه بیلډ د لارښود سره تایید کړئ چې تاسو یې لیږئ، نه د زوړ نسخه په اړه د فورمې پوسټ سره. د OpenVPN 2.6 لارښود دا انتخاب او د هغه د سمون قاعده مستندوي.

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

اړوندې مقالې