Yksikkö on punainen, liitäntä on olemassa ja tunneli toimii suurelta osin, mikä on hämmentävin mahdollinen yhdistelmä. Asennus on sarja: ensin luodaan liitäntä, sitten tulevat osoitteet, reitit, resolverin asetukset ja mahdolliset koukkukomennot. Neljännen vaiheen epäonnistuminen jättää kolme ensimmäistä paikoilleen, joten liitännän nimi todistaa käynnistyksen alkaneen, ei sen päättyneen. Yksi lisätieto olisi säästänyt hämmennyksen: vaihe, joka epäonnistui.

Osittainen tila on tavallinen epäonnistuminen

Tätä käytöstä kannattaa odottaa sen sijaan että sitä pitäisi turmeltumisena. Liitäntä on asennuksen halvin osa ja helpoin jättää jälkeensä, ja se on myös se osa, joka saa koneen näyttämään puoliksi toimivalta.

Se, mitä ei vielä ole, on kaikki se, mikä tuli epäonnistuneen vaiheen jälkeen. Jos epäonnistuminen oli resolverin vaiheessa, osoitteet ja reitit ovat olemassa eikä DNS ole. Jos kyse oli reitistä, tunnelilla on osoite eikä mitään polkua sen läpi.

Seuraus on kone, joka vastaa joihinkin testeihin ja epäonnistuu toisissa, minkä vuoksi ihmiset päättelevät palvelun välkkyvän, vaikka se ei koskaan käynnistynyt onnistuneesti. Palvelu, joka ei koskaan valmistunut, ei voi välkkyä. Se voi vain epäonnistua toistuvasti samasta syystä.

Etsi ensimmäinen epäonnistuva vaihe

Lue yksikön lokia eikä vain nykyistä tilaa, ja lue se epäonnistuneen ajon alusta. Viimeinen rivi kertoo lopetuskoodin; ensimmäinen virhe kertoo, mitä korjata.

Nämä komennot tulostavat yksikön tilan, kyseisen yksikön käynnistyslokin ja tunnelin reaaliaikaisen tilan:

systemctl status wg-quick@wg0
journalctl -u wg-quick@wg0 -b --no-pager | tail -40
wg show
ip -4 addr show dev wg0

Resolverin virhe, jo olemassa oleva reitti, nollasta poikkeavalla koodilla poistunut koukku ja asetusten jäsennyksen epäonnistuminen näkyvät kaikki siinä ikkunassa, ja jokainen nimeää oman komponenttinsa. Pelkän liitännän tilan perusteella arvaaminen jättää kaiken tuon tiedon huomiotta.

Kolme ehtoa, jotka ratkaisevat korjauksen

Päätä, siivoatko, korjaatko paikan päällä vai poistatko yksikön käynnistyspolulta, ja päätä se ennen kuin kirjoitat mitään.

Jos liitäntä on rikki mutta asetukset ovat oikein, siivoa ja aloita uudelleen. Jos asetukset ovat väärin, korjaa ne ja siivoa silti ensin, koska toisen hallinnan käynnistäminen osittaisen tilan päälle tuottaa kaksi omistajaa yhdelle liitännälle. Jos epäonnistuminen on puuttuva järjestelmäkomponentti, kuten resolverin apuri, jota koneella ei ole, asenna tai poista riippuvuus tarkoituksella sen sijaan että muokkaisit yksikköä, kunnes se lakkaa valittamasta.

Nämä kolme tapausta kattavat suurimman osan siitä, mikä näyttää salaperäiseltä punaiselta yksiköltä. Erottava kysymys on, tapahtuisiko sama epäonnistuminen koneella, jonka tila on puhdas, ja vastaus tulee yleensä ensimmäisestä virherivistä.

Siivoa ennen uutta yritystä

Uusi yritys olemassa olevan tilan päälle voi epäonnistua uudesta syystä ja kätkeä alkuperäisen. Laske liitäntä alas samalla työkalulla, joka sen loi, ja vahvista sitten, ettei mitään jäänyt.

Älä poista asiaan kuulumattomia liitäntöjä äläkä nollaa isäntäkoneen verkkopinoa. Molemmat ovat suuria toimenpiteitä pienen kohteen korjaamiseksi, ja ne muuttavat yhden epäonnistuneen tunnelin koneeksi, jonka muut yhteydet on luotava uudelleen. Oikea laajuus on yksi liitäntä ja sitä omistava yksikkö. Kaikki laajempi vaatii perustelun, joka on kirjoitettu ennen kuin se tapahtuu.

Todista tunneli, älä yksikkö

Vihreä yksikkö tarkoittaa, että käynnistyssekvenssi poistui nollalla. Se ei tarkoita, että paketti saavutti toisen pään, eikä sitä, että resolver asetettiin niin kuin aioit.

Lähetä pyyntö tunnelin läpi ja lue tila, joka sen tuotti:

systemctl is-active wg-quick@wg0
wg show wg0 latest-handshakes
ping -c 3 10.63.0.1
resolvectl query internal.example.net

Kättely ilman vastausta kertoo silti, että tunneli muodostui ja vastapuoli on hiljaa, mikä on eri ongelma kuin yksikkö, joka ei koskaan käynnistynyt. Pidä yksikön tila, kättely ja pyynnön tulos yhdessä tietueessa, koska ne epäonnistuvat toisistaan riippumatta ja vain yhdistelmä kuvaa järjestelmää.

Aiheeseen liittyvät artikkelit