د DNS له خوا خوراک شوی nftables سیټ WireGuard ته: لېږد څنګه کار کوي
د DNS ځواب کولی شي nftables سیټ ته خوراک ورکړي، خو سیټ پخپله هېڅ لارښوونه نه کوي. هغه څلور لېږدونه او درې عمرونه وګورئ چې پرېکړه کوي لارښوونه به کار وکړي که نه.
نومونه پتې ته حل کېږي، او هغه پتې کولی شي د اورېدونکې دېوال په سیټ کې ځای ومومي چې وروسته پر لارښوونې اغېزه کوي، چې دا پرته له پروکسي د نوم پر بنسټ لارښوونه ممکنه کوي. ستونزه دا ده چې څلور برخې باید سم لېږد وکړي: حل کوونکی، سیټ، هغه طبقه بندي کوونکی چې نوی بهیر نښه کوي، او هغه جوړه چې دا یې وړي. هر لېږد بل ډول ناکامېږي او هر یو خپل وخت ساتي.
ډیزاین د ترتیب نه، بلکې د زنځیر په توګه وګورئ. په هر ګام کې پوښتنه دا ده چې کومه برخه پرېکړې لري او کله چې د هغې ننوتل نه وي څه پېښېږي.
د DNS ځواب څه کولی شي او څه نه شي کولی
dnsmasq کولی شي له ځوابونو پتې nftables سیټ ته کاپي کړي، چې دا خوراک دی نه د لارښوونې پرېکړه. هغه انتخاب، چې په د dnsmasq لارښود کې مستند شوی، کورنۍ، جدول او سیټ نوموي، او د هغه پیل 4# یوازې A ریکارډونه ټاکي، نو v6 منزلونو ته خپل ترتیب غواړي. سیټ باید دمخه موجود وي، ځکه چې حل کوونکی هغه څه ته عناصر ورزیاتوي چې د اورېدونکې دېوال خاوند جوړ کړی. په هغه ګام کې هېڅ شي انټرفیس، جدول یا جوړه نه ټاکي.
کلیانت هم باید د نوم لپاره هماغه حل کوونکی وکاروي. هغه اپلیکیشن چې خپل کوډ شوی DNS لري، یا د تګلارې دمخه کیش شوی ځواب، پرته له دې چې په سیټ کې کومه ننوتنه جوړه کړي وصلېږي.
سیټ ننوتل دی، لار نه ده
په سیټ کې عنصر د برابرۍ شرط دی. یو څه باید ورته وګوري، پرېکړه وکړي چې دا بسته نوی بهیر پیلوي، او هغه تګلاره پلي کړي چې بهیر د تونل له لارې لېږي. په Linux کې دا معمولاً معنا لري د لارښوونې وړ بهر وتلې لاره چې نښه کولی شي، یو قاعده چې نښه شوې بستې ځانګړي جدول ته لېږي، او په هغه جدول کې یو لار چې WireGuard وسیلې ته اشاره کوي. یوازې غړیتوب له دې څخه هېڅ نه نصبوي.
nft add set inet vpn_select office_v4 { type ipv4_addr\; }
ip rule add fwmark 0x40 table 200
ip route add default dev wg0 table 200
wg show wg0 allowed-ips
جوړه دویمه پوښښ څېړنه پلي کوي چې خلک یې هېروي. WireGuard بسته یوازې هغې جوړې ته کوډ کوي چې اجازه شوې پتې یې منزل لري، نو انټرفیس ته د تګلارې لار کافي نه ده کله چې د جوړې لیست هغه مخکښې بنديز لرې کړي. لیست د مدیر له خوا د جوړ شوو لارو پر ځای د لارښوونې خاوند تر کنټرول لاندې وساتئ.
نښې، جدولونه او د جوړې پوښښ
نښې شریک نوم ځای دی، نو ارزښت او ماسک دواړه باید له هغو نورو شیانو سره سمون ولري چې هغوی کاروي. هغه قاعده چې نښه شوې ترافیک ځانګړي جدول ته لېږي، کله چې هغه جدول کې سمون لرونکې لار نه وي، تعریف شوې پایله غواړي، ځکه چې بې ځوابه پلټنه کولی شي بلې قاعدې ته ولاړه شي او بسته د فزیکي انټرفیس له لارې بهر ولېږي. په ځانګړي جدول کې دننه blackhole تلواله لار هغه غلی تېښته ښکاره غورځېدنه کوي. هغه څه چې ډیزاین لا هم نه شي کولی، د هغه منزل لپاره په ناکامۍ کې بندېدل دي چې کله هم سیټ ته نه دی راغلی.
د تونل خپلې بهرنۍ بستې باید له طبقه بندي کوونکي وځي. د WireGuard وسایل په دقیق ډول د دې موخې لپاره د ساکټ نښه برابروي، او د هغې کارول د دې مخه نیسي چې انکپسولیشن بیرته هغه انټرفیس ته ولارښوول شي چې دا یې جوړوي.
هر عمر جلا وازموئ
درې زېرمې د درې مهال ویشونو له مخې زاړه کېږي: د حل کوونکي کیش، د سیټ عناصر او تعقیب شوې اړیکه. هغوی په همدې ترتیب وازموئ او وګورئ چې هر یو کله چې باید خوځېږي. لاندې حکمونه پرته له دې چې څه بدل کړي حل کوونکی، سیټ، د اړیکو جدول او د تګلارې قاعدې لولي.
dig +short office.example
nft list set inet vpn_select office_v4
conntrack -L -d 10.60.8.15
ip rule show
هغه تازه پلټنه چې عنصر ورزیاتوي ثابتوي خوراک کار کوي، خو هغه زوړ عنصر چې له خپل ځواب څخه اوږد ژوند کوي د عمر ناسمون دی چې د لیکلو ارزښت لري. په اړیکو جدول کې د تمې وړ نښې سره نوې اړیکه ښکارېدل ښیي چې طبقه بندي کوونکی چلېدلی، او زړه اړیکه چې خپله اصلي نښه ساتي سم چلند دی نه خرابي. د قاعدو لیست ځواب ورکوي چې د تګلارې پلټنه په اصل کې شته که نه، چې دا له دې پوښتنې څخه بېله ده چې سمون یې وکړ که نه. څلور وتنې په همدې ترتیب ولولئ او ناکام لېږد به خپله ځان وښيي.
چېرې چې غوښتنه دا ده چې یو ځانګړی نوم به تل یوه لار کاروي، هلته د DNS خوراک شوی سیټ نشي ثابتولی، ځکه چې شریکې پتې نور نومونه هم وړي. پروکسي یا د اپلیکیشن کچې میکانیزم د هغې تضمین وسیله ده.