WireGuard: дэд сүлжээ сольсны дараа хамтрагч руу маршрут байхгүй — хоёр гарц
Дэд сүлжээний өөрчлөлт WireGuard-ыг хоёр газарт эвддэг: AllowedIPs болон буцах зам. Газар дээрх дахин дугаарлалтыг интерфейсийг дахин барихтай харьцуулна уу.
wg show-д гар барилт шинэ, төгсгөлийн цэг зөв, түлхүүрүүд хэзээ ч өөрчлөгдөөгүй — гэтэл ping хамтрагч руу маршрут байхгүй гэсээр байна. Та нэг цагийн өмнө туннелийн дэд сүлжээг сольсон. Энэ шинж түлхүүрийн асуудал биш, префиксийн зөрүүний тамга: WireGuard гар барилтыг дуусгаад дараа нь өгөгдлийг хаясан, учир нь эх сурвалжийн хаяг хүлээн авагч хамтрагчийн хүлээж авах утгатай цаашид таарахгүй байна. Дэд сүлжээний өөрчлөлтийг хэрэгжүүлэх хоёр ухаалаг арга байгаа бөгөөд тэд өөр өөр газарт бүтэлгүйтдэг.
Өөрчлөлтийг хэрэгжүүлэх хоёр арга ба тус бүрийн өртөг
А хувилбар нь газар дээрх дахин дугаарлалт: интерфейсийн хаяг, хамтрагчдын хүрээ, маршрут болон тохиргооны хуулбар бүрийг засаж, дараа нь дахин ачаална. Б хувилбар нь шинэ префикс дээр хуучинтай зэрэгцэн хоёр дахь интерфейс барьж, хамтрагчдыг зөөж, урсгал үнэхээр шилжсэний дараа хуучин интерфейсийг устгах юм.
| A: renumber in place | B: parallel interface | |
|---|---|---|
| Downtime | The reload window, per host | None if peers are added to both |
| Rollback | Re-apply the previous files | Point peers back at the old interface |
| Risk | Half-applied change: new address, old ranges | Two live interfaces with overlapping intent |
| Effort | Small, if the deployment has one owner | Higher, and needs a cleanup step |
| Fits | Two or three peers you control | Many peers, remote sites, or no maintenance window |
А хувилбарыг аюултай болгодог зүйл бол хагас хэрэгжсэн төлөв, учир нь энэ нь эвдэрсэн харагддаггүй. Интерфейс өсч, гар барилт амжилттай болж, зөвхөн өгөгдлийн зам бүтэлгүйтдэг. Б хувилбар илүү их ажил шаарддаг ч та бүх лавлагааг олох хүртэл ажиллаж буй замыг амьд байлгадаг.
Таны талд юу хамт хөдлөх ёстой
Орон нутгийн хост дээрх дөрвөн зүйл нэг дэд сүлжээг тодорхойлдог бөгөөд нэгийг өөрчлөх нь бүгдийг өөрчлөх явдал: интерфейсийн хаяг, хамтрагч бүрийн AllowedIPs, систем тэдгээр чиглэлд ашигладаг маршрут, менежер таны өмнөөс суулгадаг зүйл. wg-quick-ийн хувьд сүүлийн хоёр нь интерфейс босох бүрт тохиргооноос үүсдэг тул хуучирсан хуулбар хуучин префиксийг чимээгүйгээр сэргээдэг.
Аль нэгэнд нь итгэхийн оронд тохируулсаныг ажиллаж буйтай харьцуулна уу:
wg show
wg showconf wg0
ip addr show wg0
ip route get 10.90.0.5Маршрут хайлт бол хүмүүсийн алгасдаг алхам. Энэ нь цөм нэг чиглэлд үнэхээр юу хийхийг хариулна, үүнд менежер эсвэл контейнерийн орчин үлдээсэн илүү тодорхой маршрут багтана. Хэрэв туннелээс өөр интерфейс зааж байвал тохиргоо нь асуудал биш.
Ажиллаж буй интерфейсийн хувьд зассан файлыг туннелийг эвдэхгүйгээр хэрэглэнэ үү:
wg syncconf wg0 <(wg-quick strip wg0)Энэ нь хамтрагчид болон хүрээг газар дээр нь шинэчилнэ. Интерфейсийн хаяг эсвэл маршрутыг шинэчлэхгүй, учир нь тэдгээр нь WireGuard тохиргоо биш — тиймээс дахин дугаарлалт интерфейсийг дахин үүсгэх эсвэл хаягийг ip-ээр солих, дараа нь маршрутлалтыг дахин шалгах шаардлагатай хэвээр.
Алслагдсан талд юу хамт хөдлөх ёстой
Дэд сүлжээний өөрчлөлт ихэвчлэн энд үхдэг. AllowedIPs нь зөвхөн маршрутлалтын сануулга биш; энэ нь мөн хамтрагчийн танилцуулж болох эх сурвалжийн хаягуудын жагсаалт юм. Та клиентүүдийг дахин дугаарлаж, серверийн AllowedIPs-ийг хуучин префикс дээр үлдээвэл сервер гар барилтыг хүлээж авч, шифрлэсэн пакетуудыг хүлээн авч, дараа нь хаядаг, учир нь дотоод эх сурвалж тэр хамтрагчтай холбосон ямар ч хүрээтэй таарахгүй байна. Алдаа бүртгэгдэхгүй, клиент хугацаа хэтэрсэн хардаг.
Тиймээс хүлээн авагч талыг санаатайгаар шинэчил: сервер дээрх хамтрагчийн бичлэг шинэ клиентийн префиксийг жагсаах ёстой, серверийн өөрийн буцах маршрут тэр префиксэд туннель рүү заах ёстой, серверийн ард байгаа аливаа доод сүлжээ шинэ замыг сурах ёстой. Хуучин хүрээг нэрлэсэн галт хананы бодлого мөн адил эмчилгээ шаарддаг, эх сурвалжид суурилсан сонголт хийдэг бүхэн ч мөн адил.
Хоёр бүтэлгүйтлийг ялгах оношилгоо хямд. Шинэ гар барилт боловч өгөгдөл байхгүй бол туннель боссон бөгөөд дотоод хаяглалт санал нийлэхгүй байна. Гар барилт огт байхгүй бол та хүртээмж эсвэл түлхүүрийг харж байна. Префиксийн асуудалд түлхүүрийг эргүүлэх хэрэггүй; энэ нь ажиллаж байсан цорын ганц зүйлийг дахин тохируулна.
Таны засвараас илүү удаан амьдрах хуучирсан хуулбарууд
Файл засах нь ажиллаж буй системийг солихтой ижил биш бөгөөд хуулбарууд хүмүүсийн хүлээхээс илүү олон: интерфейсийг эзэмшдэг нэгж эсвэл менежер, өөр хавтас дахь ижил нэртэй хоёр дахь профайл, тохиргоо нь дүрс рүү шатаасан контейнер, өөрийн зассан хувилбарыг хадгалдаг маршрутизаторын интерфейс, эхлэх үед хадгалсан туннелийг дахин импортолдог клиент програм. Тэдний аль нь ч таны өөрчлөлт дууссан мэт харагдсаны дараа хуучин префиксийг сэргээж чадна.
Нэрс ч мөн аялдаг. Хэрэв тоон маршрут ажиллаж, хостын нэр бүтэлгүйтвэл дотоод DNS бичлэг эсвэл үйлчилгээний тохиргоо хуучин туннелийн хаяг руу заасаар байна. Хамтрагч бүрийн хүрээг өргөтгөхийн оронд лавлагааг зас, учир нь энэ нь жинхэнэ асуудлыг далдалж, зэрэг эх сурвалжийн ACL-ийг томруулна.
Ажиллаж байхдаа нэг сэргээх замыг нээлттэй байлга: хост руу орох хоёр дахь зам, цуваа консол эсвэл тохиргооны файлуудыг төлөвлөсөн буцаах. Өөрчилж буй машинаас таныг түгжих туннелийн өөрчлөлт нь энэ ажлыг орой болгох хамгийн нийтлэг зам юм.
Хоёрын хооронд сонголт хийх ба шилжилтийг шалгах
Хамтрагч бүр таных бол, тоо цөөн бол, богино тасалдал хүлээн зөвшөөрөгдөх бол А-г сонго. Хамтрагчид таны хянадаггүй алслагдсан гар бол, сайт хоорондын холбоос босоо байх ёстой бол, эсвэл хуулбар бүр нэг дамжуулалтад шинэчлэгдэнэ гэдгийг баталж чадахгүй бол Б-г сонго. Тэр тохиолдолд шинэ префиксийг хоёр интерфейсд нэмж, хамтрагчдыг нэг нэгээр нь зөөж, шинэ дээрх урсгалыг ажиглаж, дараа нь л хуучин интерфейс болон түүний маршрутыг устга.
Аль ч хувилбарт өөрчлөлт дөрвөн шалгалт дамжсан үед дуусна: гар барилт шинэ, шинэ префикстэй чиглэлийн маршрут хайлт туннелийг нэрлэнэ, хэдэн зуун байтын ачаа хоёр чиглэлд дамжина, хост эсвэл менежерийг дахин эхлүүлсний дараа ч мөн адил. Албан ёсны wg(8) гарын авлага нь чиглэл бүрт AllowedIPs юу гэсэн үг болохыг тайлбарласан лавлагаа бөгөөд шинжийг арилгахын тулд хүрээг өргөтгөхийн өмнө дахин унших нь зүйтэй.
- Гар барилт шинэ бөгөөд өгөгдөл байхгүй: түлхүүрт хүрэхийн өмнө хүлээн авагч дахь AllowedIPs-ийг хар.
- Маршрут хайлт буруу интерфейс зааж байна: маршрутыг менежер эсвэл контейнер эзэмшдэг, таны файл биш.
- Тоон хаяг хэвийн, хостын нэр эвдэрсэн: хуучин лавлагаа, маршрутлалтын гогцоо биш.
- Өөрчлөлт нь дахин эхлүүлсний дараа ч шинэ префиксийг ашиглаж байж л дууссан.