WireGuard: dim llwybr at y cymar ar ôl newid is-rwydwaith — dwy ffordd allan
Mae newid is-rwydwaith yn torri WireGuard mewn dau le: AllowedIPs a’r llwybr dychwelyd. Cymharwch ailrifo yn ei le ag ailadeiladu’r rhyngwyneb.
Mae’r ysgwyd llaw yn ffres yn wg show, mae’r pwynt terfyn yn iawn, ni newidiodd yr allweddi erioed — ac mae’r ping yn dal i ddweud nad oes llwybr at y cymar. Fe wnaethoch newid is-rwydwaith y twmffat awr yn ôl. Arwydd o gamgymharu rhagddodiad yw’r symptom hwnnw, nid problem allwedd: cwblhaodd WireGuard yr ysgwyd llaw, yna gollyngodd y data oherwydd nad yw cyfeiriad ffynhonnell bellach yn cyfateb i’r hyn a fydd y cymar sy’n derbyn yn ei dderbyn. Mae dwy ffordd synhwyrol i gyflawni newid is-rwydwaith, ac maent yn methu mewn gwahanol leoedd.
Dwy ffordd i gyflawni’r newid, a beth mae pob un yn ei gostio
Opsiwn A yw ailrifo yn ei le: golygu cyfeiriad y rhyngwyneb, amrediadau’r cymar, y llwybrau a phob copi o’r ffurfweddiad, yna ail-lwytho. Opsiwn B yw adeiladu ail ryngwyneb ar y rhagddodiad newydd wrth ymyl yr hen un, symud y cymariaid draw, a dileu’r hen ryngwyneb ar ôl i’r traffig symud go iawn.
| 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 |
Y cyflwr hanner-gymhwysol sy’n gwneud Opsiwn A yn beryglus, oherwydd nid yw’n edrych yn doredig. Mae’r rhyngwyneb yn codi, mae’r ysgwyd llaw yn llwyddo, a dim ond llwybr y data sy’n methu. Mae Opsiwn B yn costio mwy o waith ond yn cadw llwybr gweithredol yn fyw tra byddwch yn dod o hyd i bob cyfeiriad.
Beth sy’n rhaid symud gyda’i gilydd ar eich pen chi
Mae pedair peth ar y gwesteiwr lleol yn disgrifio’r un is-rwydwaith, ac mae newid un yn newid y cyfan: cyfeiriad y rhyngwyneb, AllowedIPs pob cymar, y llwybr y mae’r system yn ei ddefnyddio ar gyfer y cyrchfannau hynny, a’r hyn bynnag y mae’r rheolwr yn ei osod ar eich rhan. Gyda wg-quick, mae’r ddau olaf yn cael eu cynhyrchu o’r ffurfweddiad bob tro y bydd y rhyngwyneb yn codi, felly mae copi hen yn ailosod yr hen ragddodiad yn dawel.
Cymharwch yr hyn sydd wedi’i ffurfweddu â’r hyn sy’n fyw yn lle ymddiried yn y naill na’r llall:
wg show
wg showconf wg0
ip addr show wg0
ip route get 10.90.0.5Y chwiliad llwybr yw’r un y mae pobl yn ei hepgor. Mae’n ateb beth fyddai’r cnewyllyn yn ei wneud mewn gwirionedd ar gyfer cyrchfan, gan gynnwys llwybr mwy penodol a adawyd gan reolwr neu amgylchedd gweithredu cynwysyddion. Os yw’n adrodd rhyngwyneb gwahanol i’r twmffat, nid y ffurfweddiad yw’r broblem.
Ar gyfer rhyngwyneb sy’n rhedeg, cymhwyswch y ffeil olygedig heb ddymchwel y twmffat:
wg syncconf wg0 <(wg-quick strip wg0)Mae hynny’n diweddaru cymariaid ac amrediadau yn eu lle. Nid yw’n diweddaru cyfeiriad y rhyngwyneb na’r llwybrau, oherwydd nid yw’r rheini’n osodiadau WireGuard — felly mae ailrifo yn dal i fod angen ail-greu’r rhyngwyneb neu newid y cyfeiriad gydag ip, ac yna gwirio’r llwybro eto.
Beth sy’n rhaid symud gyda’i gilydd yn y pen pell
Dyma lle mae newid is-rwydwaith fel arfer yn marw. Nid yw AllowedIPs yn awgrym llwybro yn unig; mae hefyd yn rhestr o gyfeiriadau ffynhonnell y caiff cymar eu cyflwyno. Pan fyddwch yn ailrifo cleientiaid ac yn gadael AllowedIPs y gweinydd ar yr hen ragddodiad, mae’r gweinydd yn derbyn yr ysgwyd llaw, yn derbyn y pecynnau amgryptiedig, ac yn eu gollwng oherwydd nad yw’r ffynhonnell fewnol yn cyfateb i unrhyw amrediad y mae’n ei gysylltu â’r cymar hwnnw. Ni chaiff unrhyw wall ei gofnodi, ac mae’r cleient yn gweld terfyn amser.
Felly diweddarwch yr ochr sy’n derbyn yn fwriadol: rhaid i gofnod y cymar ar y gweinydd restru rhagddodiad newydd y cleient, rhaid i lwybr dychwelyd y gweinydd ei hun bwyntio at y twmffat ar gyfer y rhagddodiad hwnnw, a rhaid i unrhyw rwydwaith i lawr yr afon y tu ôl i’r gweinydd ddysgu’r llwybr newydd. Mae angen yr un driniaeth ar bolisi mur tan yn enwi’r hen amrediad, ac felly hefyd unrhyw beth sy’n gwneud dewis yn seiliedig ar ffynhonnell.
Mae’r diagnostig sy’n gwahanu’r ddau fethiant yn rhad. Ysgwyd llaw diweddar heb ddata yn golygu bod y twmffat i fyny ac nad yw’r cyfeiriadu mewnol yn cytuno. Dim ysgwyd llaw o gwbl yn golygu eich bod yn edrych ar gyrhaeddiad neu allweddi. Peidiwch â throi allweddi am broblem rhagddodiad; mae’n ailosod yr un peth oedd yn gweithio.
Hen gopïau sy’n goroesi eich golygiad
Nid yw golygu ffeil yr un peth â newid y system sy’n rhedeg, ac mae’r copïau’n fwy niferus nag y mae pobl yn ei ddisgwyl: yr uned neu’r rheolwr sy’n berchen ar y rhyngwyneb, ail broffil â’r un enw mewn cyfeiriadur gwahanol, cynhwysydd â’i ffurfweddiad wedi’i bobi mewn delwedd, rhyngwyneb llwybrydd sy’n cadw ei fersiwn olygedig ei hun, a ap cleient sy’n ail-mewnforio twmffat wedi’i gadw wrth lansio. Gall pob un adfer yr hen ragddodiad ar ôl i’ch newid edrych yn gyflawn.
Mae enwau’n teithio hefyd. Os yw’r llwybr rhifol yn gweithio ond enw’r gwesteiwr yn methu, mae cofnod DNS mewnol neu ffurfweddiad gwasanaeth yn dal i bwyntio at hen gyfeiriad y twmffat. Trwsiwch y cyfeiriad yn lle lledu pob amrediad cymar, a fyddai’n cuddio’r gwir broblem ac yn ehangu’r ACL ffynhonnell ar yr un pryd.
Cadwch un llwybr adferiad ar agor tra byddwch yn gweithio: ail ffordd i mewn i’r gwesteiwr, consol cyfresol, neu aildroi wedi’i drefnu o’r ffeiliau ffurfweddu. Newid twmffat sy’n eich cloi allan o’r peiriant rydych chi’n ei newid yw’r ffordd fwyaf cyffredin i’r dasg hon droi’n noswaith.
Dewis rhwng y ddau, a gwirio’r toriad
Dewiswch A pan fyddwch yn berchen ar bob cymar, mae’r nifer yn fach, ac mae ymyrraeth fer yn dderbyniol. Dewiswch B pan fo cymariaid yn ddwylo pell nad ydych yn eu rheoli, pan fo’n rhaid i gysylltiad safle-i-safle aros i fyny, neu pan na allwch warantu y bydd pob copi’n cael ei ddiweddaru mewn un pas. Yn yr achos hwnnw ychwanegwch y rhagddodiad newydd at y ddau ryngwyneb, symudwch gymariaid un ar y tro, gwyliwch y traffig ar yr un newydd, a dim ond yna dileu’r hen ryngwyneb a’i lwybrau.
O dan y naill opsiwn na’r llall, mae’r newid yn gyflawn pan fydd pedwar gwiriad yn pasio: mae’r ysgwyd llaw yn ddiweddar, mae’r chwiliad llwybr ar gyfer cyrchfan â’r rhagddodiad newydd yn enwi’r twmffat, mae llwyth o ychydig gannoedd o feitiau’n trosglwyddo yn y ddau gyfeiriad, ac mae’r un peth yn dal ar ôl ailgychwyn y gwesteiwr neu’r rheolwr. Mae’r llawlyfr wg(8) yn gyfeirlyfr ar gyfer yr hyn y mae AllowedIPs yn ei olygu ym mhob cyfeiriad, ac mae’n werth ei ail-ddarllen cyn i chi ledu amrediad i wneud i symptom ddiflannu.
- Ysgwyd llaw diweddar a dim data: edrychwch ar AllowedIPs y derbynnydd cyn cyffwrdd ag allweddi.
- Chwiliad llwybr yn pwyntio at y rhyngwyneb anghywir: rheolwr neu gynhwysydd sy’n berchen ar y llwybr, nid eich ffeil.
- Cyfeiriad rhifol yn iawn a’r enw gwesteiwr yn doredig: hen gyfeiriad, nid dolen llwybro.
- Newid yn gyflawn dim ond pan fydd ailgychwyn yn dal i ddefnyddio’r rhagddodiad newydd.