WireGuard: ei reittiä vertaiselle aliverkon vaihdon jälkeen — kaksi ulospääsyä
Aliverkon vaihto rikkoo WireGuardin kahdessa paikassa: AllowedIPs ja paluureitti. Vertaa paikan päällä uudelleennumerointia rajapinnan uudelleenrakentamiseen.
Kättely on tuore wg show'n tulosteessa, päätepiste on oikea, avaimet eivät ole koskaan muuttuneet — ja ping sanoo silti, ettei reittiä vertaiselle ole. Vaihdoit tunnelin aliverkon tunti sitten. Se oire on etuliitteen epäsuhdan allekirjoitus eikä avainongelma: WireGuard sai kättelyn valmiiksi ja pudotti sitten datan, koska lähdeosoite ei enää vastaa sitä, minkä vastaanottava vertainen hyväksyy. Aliverkon vaihdon toteuttamiseen on kaksi järkevää tapaa, ja ne epäonnistuvat eri kohdissa.
Kaksi tapaa toteuttaa vaihto, ja mitä kumpikin maksaa
Vaihtoehto A on uudelleennumerointi paikan päällä: muokkaa rajapinnan osoitetta, vertaisten alueita, reittejä ja jokaista konfiguraation kopiota ja lataa sitten uudelleen. Vaihtoehto B on rakentaa toinen rajapinta uudelle etuliitteelle vanhan viereen, siirtää vertaiset sinne ja poistaa vanha rajapinta vasta kun liikenne on todella siirtynyt.
| 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 |
Juuri puolittain sovellettu tila tekee vaihtoehdosta A vaarallisen, koska se ei näytä rikkinäiseltä. Rajapinta nousee, kättely onnistuu ja vain datapolku epäonnistuu. Vaihtoehto B vaatii enemmän työtä mutta pitää toimivan polun elossa, kun etsit jokaista viitettä.
Mikä sinun päässäsi on siirrettävä yhdessä
Neljä asiaa paikallisella isännällä kuvaavat samaa aliverkkoa, ja yhden muutos on kaikkien muutos: rajapinnan osoite, kunkin vertaisen AllowedIPs, reitti, jota järjestelmä käyttää noihin kohteisiin, ja kaikki mitä hallintaohjelma asentaa puolestasi. wg-quickin kanssa kaksi viimeistä luodaan konfiguraatiosta joka kerta, kun rajapinta nousee, joten vanhentunut kopio asentaa vanhan etuliitteen hiljaa takaisin.
Vertaa määritettyä siihen, mikä on elossa, sen sijaan että luottaisit jompaankumpaan:
wg show
wg showconf wg0
ip addr show wg0
ip route get 10.90.0.5Reittihaku on se vaihe, jonka ihmiset ohittavat. Se vastaa, mitä ydin todella tekisi kohteelle, mukaan lukien tarkempi reitti, jonka hallintaohjelma tai konttien ajonaikainen ympäristö on jättänyt. Jos se ilmoittaa eri rajapinnan kuin tunneli, konfiguraatio ei ole ongelma.
Käynnissä olevalle rajapinnalle: ota muokattu tiedosto käyttöön repimättä tunnelia alas:
wg syncconf wg0 <(wg-quick strip wg0)Se päivittää vertaiset ja alueet paikan päällä. Se ei päivitä rajapinnan osoitetta tai reittejä, koska ne eivät ole WireGuardin asetuksia — joten uudelleennumerointi vaatii yhä rajapinnan luomisen uudelleen tai osoitteen muuttamisen ip:llä ja sen jälkeen reitityksen uuden tarkistuksen.
Mikä kaukopäässä on siirrettävä yhdessä
Tässä aliverkon vaihto yleensä kuolee. AllowedIPs ei ole vain reititysvihje; se on myös luettelo lähdeosoitteista, jotka vertainen saa esittää. Kun numeroit uudelleen asiakkaat ja jätät palvelimen AllowedIPs:n vanhalle etuliitteelle, palvelin hyväksyy kättelyn, vastaanottaa salatut paketit ja hylkää ne, koska sisäinen lähde ei vastaa mitään aluetta, jonka se yhdistää tuohon vertaiseen. Virhettä ei kirjata, ja asiakas näkee aikakatkaisun.
Päivitä siis vastaanottava puoli tarkoituksella: palvelimen vertaismerkinnän on lueteltava asiakkaan uusi etuliite, palvelimen oman paluureitin on osoitettava tunneliin tuolle etuliitteelle, ja jokaisen palvelimen takana olevan alavirran verkon on opittava uusi polku. Palomuuriperiaate, joka nimesi vanhan alueen, tarvitsee saman kohtelun, samoin kaikki lähteeseen perustuvaa valintaa tekevä.
Diagnostiikka, joka erottaa kaksi vikaa, on halpaa. Tuore kättely ilman dataa tarkoittaa, että tunneli on ylhäällä ja sisäinen osoitteistus on eri mieltä. Kättelyn täydellinen puuttuminen tarkoittaa, että katsot tavoitettavuutta tai avaimia. Älä kierrätä avaimia etuliiteongelman takia; se nollaa ainoan asian, joka toimi.
Vanhentuneet kopiot, jotka elävät muokkauksesi yli
Tiedoston muokkaaminen ei ole sama kuin käynnissä olevan järjestelmän muuttaminen, ja kopioita on enemmän kuin ihmiset odottavat: yksikkö tai hallintaohjelma, joka omistaa rajapinnan, toinen samanniminen profiili toisessa hakemistossa, kontti, jonka konfiguraatio on leivottu levykuvaan, reitittimen käyttöliittymä omalla muokatulla versiollaan ja asiakassovellus, joka tuo tallennetun tunnelin uudelleen käynnistyksessä. Jokainen niistä voi palauttaa vanhan etuliitteen sen jälkeen, kun muutoksesi näyttää valmiilta.
Nimetkin matkustavat. Jos numeerinen reitti toimii mutta isäntänimi ei, sisäinen DNS-tietue tai palvelun konfiguraatio osoittaa yhä vanhaan tunneliosoitteeseen. Korjaa viite sen sijaan, että levennät jokaista vertaisaluetta, mikä peittäisi todellisen ongelman ja kasvattaisi samalla lähde-ACL:ää.
Pidä yksi palautuspolku auki työskennellessäsi: toinen tapa päästä isännälle, sarjakonsoli tai konfiguraatiotiedostojen ajastettu palautus. Tunnelimuutos, joka lukitsee sinut ulos koneesta, jota muutat, on yleisin tapa, jolla tästä tehtävästä tulee ilta.
Kahden väliltä valitseminen ja katkaisun varmistaminen
Valitse A, kun omistat jokaisen vertaisen, määrä on pieni ja lyhyt katko on hyväksyttävä. Valitse B, kun vertaiset ovat kaukokäsiä, joita et hallitse, kun sivustojen välinen linkki on pidettävä pystyssä tai kun et voi taata, että jokainen kopio päivitetään yhdellä kierroksella. Siinä tapauksessa lisää uusi etuliite molempiin rajapintoihin, siirrä vertaisia yksi kerrallaan, seuraa liikennettä uudella ja vasta sitten poista vanha rajapinta ja sen reitit.
Kummassakin vaihtoehdossa muutos on valmis, kun neljä tarkistusta menee läpi: kättely on tuore, uuden etuliitteen kohteen reittihaku nimeää tunnelin, muutaman sadan tavun hyötykuorma siirtyy molempiin suuntiin ja sama pätee isännän tai hallintaohjelman uudelleenkäynnistyksen jälkeen. Virallinen wg(8)-käsikirja on viite siihen, mitä AllowedIPs tarkoittaa kussakin suunnassa, ja se kannattaa lukea uudelleen ennen kuin levennät aluetta oireen hävittämiseksi.
- Tuore kättely eikä dataa: katso vastaanottajan AllowedIPs ennen kuin kosket avaimiin.
- Reittihaku osoittaa väärään rajapintaan: reitin omistaa hallintaohjelma tai kontti, ei sinun tiedostosi.
- Numeerinen osoite kunnossa ja isäntänimi rikki: vanha viite, ei reitityssilmukka.
- Muutos on valmis vasta, kun uudelleenkäynnistys käyttää yhä uutta etuliitettä.