د VPN سرور لیږدول نوي عامه IP ته: لومړی څه باید وګورو
په ځای کې بدلون او موازي تیریدل په بېلو ځایونو کې ماتېږي. ترتیبات، NAT او سندونه وګورئ، بیا وګورئ چې هر کلینټ نوم څنګه حل کوي.
د یوې پتې بیا ټاکل یوه دقیقه وخت نیسي. راتلونکې اونۍ هغه ځای دی چې لیږد هلته ماتېږي، او په نادره توګه هغه ځای چې د عرضه کوونکي کنسول یې وړاندیز کوي. نوی عامه IP په څلورو ځایونو کې یادېږي: هغه ساکټ چې ډیمون پرې اورېدل کوي، هغه باور لنگر چې کلینټان یې تصدیق کوي، هره هغه قاعده چې زاړه پته نوموي، او هغه DNS ریکارډ چې دوی سره نښلوي. دوه لیږدونه د کنټرول پینل څخه یو شان ښکاري خو بشپړ توپیر لري: په هغه ماشین کې پته بیا ټاکل چې تاسو یې چلوئ، یا دویم endpoint جوړول او کلینټان هلته لیږدول. لاندې څیړنې ارزانه نیمګړتیاوې لومړی ږدي، او هره برخه وایي چې کوم لیږد ته اړه لري.
په ځای کې بدلون او موازي تیریدل بېل کارونه دي
په ځای کې بدلون کوربه، کیلي، د لارښوونې جدول او د کاروونکو لیست ساتي؛ یوازې پته بدلېږي. دا هغه څه دي چې د تیرېدونکي IP بیا ټاکل یې کوي، او په څو عرضه کوونکو کې میلمه هېڅ هم نه پوهېږي، ځکه ژباړه د انسټانس مخې ته ترسره کېږي. بیا جوړول یا د عرضه کوونکي بیا ټاکل سخته وي: میلمه بدلون ویني، او هر هغه څه چې زاړه ارزښت یې کیش کړی و په همدې شیبه پوهېږي.
موازي endpoint هغه دویم کوربه دی چې همدا کار کوي. جوړ یې کړئ، په یوه پروفایل یې ازموئ، او زاړه یې پرېږدئ ځواب ووايي تر څو چې نوی په ریښتیني لار کې ځان ثابت کړي. بیه یې حالت دی. پرته له شریکو peer ننوتلو، لغوه کولو او لاګ کولو تاسو دوه شبکه لرئ چې په تصادفي توګه یو نوم شریکوي.
| Question | In-place swap | Parallel endpoint |
|---|---|---|
| Rollback in one step? | Only if you can get the old address back | Point DNS back; old host still up |
| Blast radius | Every client at once | Only the clients you moved |
| Best when | The address is yours to reassign | The old address is gone for good |
هر هغه ځای ومومئ چې زاړه پته پکې لیکل شوې ده
د متن پلټنې سره پیل وکړئ، ځکه چې د ترتیباتو فایلونه اسانه نیمه ده. د ډیمون ترتیبات، د اور وژنې ټوټې، د څارنې هدفونه او په ډیسک کې هر جوړ شوی کلینټ بنډل ولټوئ. که IPv6 پته خپروئ هغه هم شامل کړئ؛ هغه لیږد چې یوازې A ریکارډ تعقیبوي دوه ګونی سټیک کلینټان په زاړه لار پرېږدي.
OLD=203.0.113.10
grep -RIn -- "$OLD" /etc /root
ss -lunpt | grep -F "$OLD"
nft list ruleset | grep -F "$OLD"
iptables-save | grep -F "$OLD"
wg show all endpoints
بیا کرنل وګورئ، ځکه چې فعاله سیسټم پته په هغو ځایونو کې ساتي چې هېڅ فایل یې یادونه نه کوي. یوه ثابته سرچینه NAT قاعده، ipset ننوتنه، bind پته او conntrack ننوتنه له هغه ترتیباتي بدلون څخه چې دوی یې لرې کړل اوږد ژوند کوي، او ځینې یې بیا پیل هم تېروي ځکه چې له خوندي شوي قواعدو ټولګې څخه راستنې شوې. یوه پوړ پورته، د عرضه کوونکي امنیتي ګروپونه، د بار انډول کوونکي هدفونه او د څارنې څیړنې ستاسو په فایل سیسټم کې هېڅ نه دي.
له هر څه بدلولو دمخه لیست ولیکئ؛ دا د بیرته تګ سکریپټ په توګه هم کار کوي.
د کوربه نوم کلینټان روغېږي؛ لفظي IP کلینټان چوپه شي
که کلینټان د کوربه نوم له لارې سرور ته ورسیږي، تیریدل ډېری د DNS ستونزه ده، او هغه TTL چې پرون مو ټاکلی و هغه ټاکي چې څومره بد به وي. حل کوونکي کیش کوي، stub حل کوونکي بیا کیش کوي، او ډېری کلینټان نوم یوازې په نوي اړیکه کې لټوي، نو جوړ شوی تونل خپله پیل پته ساتي.
که endpoint لفظي پته وي، هېڅ شی بیا حل نه شي او هېڅ شی شکایت ثبت نه کړي. WireGuard یوه حل شوې ساکټ پته ذخیره کوي: Endpoint = vpn.example.net:51820 په هغه شیبه IP کېږي چې wg-quick up چلیږي او تر هغه پورې هماغه IP پاتې کېږي چې تاسو یې بدل کړئ. OpenVPN ډېر زغمونکی دی: هغه د اړیکې پر مهال remote کوربه نوم حل کوي او د resolv-retry infinite سره د بیاځلي اړیکې پر مهال بیا DNS هڅوي. په لفظي IP سره دواړه هغه ماشین ته زنګ وهلو ته دوام ورکوي چې نور نشته.
هغه څه چې خلک ګمراه کوي هغه د هندارې انځور دی. هغه کلینټ چې دمخه نوي پتې ته اشاره کوي، په داسې حال کې چې زاړه اورېدونکې لا ځواب وایي، ستاسو د خپل مېز له مخې هرې ازموینې ته بریالی کېږي. زه هم پرې دوکه شوم: نوی endpoint په تلیفون کې په لومړي هڅه پورته شو، او زاړه پروفایل لرونکی کلینټ یوازې هغه وخت راښکاره شو چې زاړه اورېدونکې ډېر وروسته بنده شوه.
باور له پتې سره نه ځي
WireGuard پیژندنه له رسیدو څخه بېلوي، چې د پتې لیږد نږدې وړیا کوي. peer-ونه د عامه کیلي له مخې پیژندل کېږي، او endpoint یوازې هغه ځای دی چې پاکټونه اوس هلته ځي؛ کوربه د peer endpoint د وروستي تصدیق شوي پاکټ د سرچینې پتې څخه تازه کوي. بېکاره peer لا هم د نوي ځای سره د خبرو دلیل ته اړتیا لري، او پته یوازې هغه وخت زده کوي چې غونډه یې زړه شي او د handshake تکراري هڅې په یو لیدونکي ځای کې ناکامې شي. د WireGuard چټک لارښود د endpoint ساحه پوښي.
د TLS پر بنسټ سرورونه مسله بدله حال ده. سند له یو نوم سره تړل شوی، او هغه کلینټ چې پته ډایل کوي هغه څه چې ډایل کړي د موضوع د بدیل نومونو سره پرتله کوي. په IP سره هغه سند ته ونیول شئ چې یوازې د DNS SAN لري او تصدیق ناکامېږي: هغه نوم چې کلینټ کارولی د سند په منځ کې نشته. د IP SAN سره بیا خپرول هغه یوه اړیکه جوړوي او بله لیږد پسې خرابوي. په پروفایل کې کوربه نوم ساتل او verify-x509-name په خپله ځای پرېښودل څیړنه کلکه ساتي په داسې حال کې چې لاندې پته بدلېږي.
بیا وګورئ چې ډیمون له کوم څه سره تړل شوی؛ هغه ساکټ چې زاړې پتې ته پین شوی په خاموشه توګه ناکامېږي. هغه OpenVPN سرور چې د local 203.0.113.10 سره پیل شوی د هغې پتې له منځه تللو سره سم پورته کېدو ته انکار کوي، په داسې حال کې چې په 0.0.0.0 اورېدونکې بدلون وړیا تعقیبوي. NAT هم همداسې وېشل کېږي: MASQUERADE هر هغه پته تعقیبوي چې ماشین اوس لري، او ثابته SNAT --to-source 203.0.113.10 هغې پتې ته بیا لیکلو ته دوام ورکوي چې نور ستاسو نه ده، نو د بیرته راتلونکي ترافیک ورکېږي. که نوی پته د بل upstream دروازې سره راشي، rp_filter وګورئ: د برعکس لار فلټر کول هغه بیرته راتلونکی ترافیک غورځوي چې هغې برخې ته رسیږي چې کرنل یې تمه نه لرله.
د تیریدو ترتیب او د هغې د کار کولو شواهد
TTL یوه ورځ دمخه راټیټ کړئ، نوی اورېدونکې پورته کړئ، او هغه په یوه پروفایل سره ثابت کړئ چې یوازې تاسو یې لرئ. د همدې شبکې له دننه ازموینه نږدې هېڅ شی نه ثابتوي، نو په ګرځنده شبکه کې تلیفون وکاروئ او د endpoint ته ping کولو پرځای هغه څه وازموئ چې تونل یې باید وړونکی وي.
د ټولې مودې په اوږدو کې دواړه پتې وګورئ. په نوي کوربه کې wg show all latest-handshakes، یا د OpenVPN حالت فایل، وایي چې څو peer-ونه په ریښتیا لیږدول شوي. کله چې نوی endpoint تمه شوي peer-ونه ولري او زاړه یوازې پاتې شوي، زاړه اورېدونکې تقاعد کړئ، زاړه NAT قاعده لرې کړئ او پته د عرضه کوونکي له اور وژنې څخه وباسئ. زاړه اورېدونکې لرې کول هغه ګام دی چې پریښودل کېږي، او هغه سوری بندوي چې زاړه پروفایل لا هم زاړه شبکه ته رسیږي.
له پیل دمخه د بیرته تګ محرک په لیکلي ډول وټاکئ: که د هوکړې شوې مودې وروسته نوی endpoint له یو هم ریښتیني کلینټ څخه handshake ونه لري، زاړه پته بیرته راوستل کړئ او د پروفایلونو ویشل بند کړئ. بیا پلټنه بیا وچلوئ او تایید کړئ چې هېڅ اورېدونکې لا هم تقاعد شوې پتې ته تړلې نه ده. دوه شیان بل لیږد ته ځي: په کلینټ پروفایل کې کوربه نوم تر څو بل بدلون DNS سمون وي، او هغه لیست چې د سرور د بیا رغونې یادښتونو سره ساتل کېږي.