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 эски префиксте калтырсаңыз, сервер кол алышууну кабыл алат, шифрленген пакеттерди алат жана аларды таштайт, анткени ички булак ал ошол өнөктөш менен байланыштырган эч бир диапазонго дал келбейт. Эч кандай ката журналга жазылбайт, ал эми кардар убакыттын бүтүшүн көрөт.
Ошондуктан кабыл алуучу тарапты атайын жаңыртыңыз: сервердеги өнөктөш жазуусу жаңы кардар префиксин тизмелеши керек, сервердин өз кайтаруу маршруту ошол префикс үчүн туннелге көрсөтүшү керек, ал эми сервердин артындагы каалаган төмөнкү тармак жаңы жолду үйрөнүшү керек. Эски диапазонду атаган брандмауэр саясаты да ошол эле дарылоону талап кылат, ошондой эле булакка негизделген тандоо жасаган нерселердин баары.
Эки бузулууну ажыратуучу диагностика арзан. Жаңы кол алышуу бирок маалымат жок болсо, туннел көтөрүлгөн жана ички даректөө макул эмес. Кол алышуу такыр жок болсо, сиз жеткиликтүүлүккө же ачкычтарга карап жатасыз. Префикс маселеси үчүн ачкычтарды айландырбаңыз; бул иштеп турган жалгыз нерсени баштапкы абалга келтирет.
Сиздин түзөтүүңүздөн узак жашаган эскирген көчүрмөлөр
Файлды түзөтүү иштеп турган системаны өзгөртүү менен бирдей эмес, ал эми көчүрмөлөр адамдар күткөндөн көп: интерфейске ээ unit же менеджер, башка каталогдо ошол эле ат менен экинчи профиль, конфигурациясы сүрөткө бышырылган контейнер, өзүнүн түзөтүлгөн версиясын сактаган маршрутизатор интерфейси жана ишке киргизилгенде сакталган туннелди кайра импорттогон кардар колдонмосу. Алардын ар бири сиздин өзгөрүүңүз бүткөндөй көрүнгөндөн кийин эски префиксти кайтара алат.
Аттар да саякаттайт. Эгер сандык маршрут иштеп, хост аты иштебей калса, ички DNS жазуусу же кызмат конфигурациясы дагы эле туннелдин эски дарегине көрсөтүп турат. Ар бир өнөктөш диапазонун кеңейтүүнүн ордуна шилтемени оңдоңуз, анткени бул чыныгы маселени жаап, ошол эле учурда булак ACLди чоңойтот.
Иштеп жатканда бир калыбына келтирүү жолун ачык кармаңыз: хостко кирүүнүн экинчи жолу, сериялык консоль же конфигурация файлдарын пландалган кайтаруу. Өзгөртүп жаткан машинаңыздан сизди кулпулаган туннел өзгөрүүсү — бул тапшырманын кечке айланышынын эң кеңири тараган жолу.
Экөөнүн ортосунда тандоо жана которууну текшерүү
Ар бир өнөктөш сиздики болсо, саны аз болсо жана кыска тыныгуу кабыл алынса, А тандаңыз. Өнөктөштөр сиз көзөмөлдөбөгөн алыскы колдор болсо, сайт-сайт байланышы көтөрүлүп турушу керек болсо же ар бир көчүрмө бир өтүүдө жаңырат деп кепилдик бере албасаңыз, Б тандаңыз. Ошондой учурда жаңы префиксти эки интерфейске кошуңуз, өнөктөштөрдү бир-бирден көчүрүңүз, жаңысындагы трафикти байкаңыз, ошондон кийин гана эски интерфейсти жана анын маршруттарын алып салыңыз.
Эки вариантта тең өзгөрүү төрт текшерүү өткөндө бүтөт: кол алышуу жаңы, жаңы префикстүү максатка маршрут издөө туннелди атайт, бир нече жүз байттык жүк эки багытта тең өтөт жана хостту же менеджерди кайра күйгүзгөндөн кийин да ошондой бойдон калат. Расмий wg(8) колдонмосу ар бир багытта AllowedIPs эмнени билдирерин түшүндүргөн маалымдама болуп саналат жана симптомду жок кылуу үчүн диапазонду кеңейтүүдөн мурун аны кайра окуу пайдалуу.
- Кол алышуу жаңы жана маалымат жок: ачкычтарга тийүүдөн мурун кабыл алуучудагы AllowedIPs караңыз.
- Маршрут издөө туура эмес интерфейсти көрсөтөт: маршрутка менеджер же контейнер ээ, сиздин файлыңыз эмес.
- Сандык дарек тартибинде, хост аты бузулган: эски шилтеме, маршруттоо илмеги эмес.
- Өзгөрүү кайра күйгүзгөндөн кийин да жаңы префикс колдонулганда гана бүтөт.