Grensesnittet er oppe, men wg-quick feila: kva du gjer no
Ei feila eining kan etterlate ein halvkonfigurert tunnel. Les det første trinnet som feilar, avgjer om du skal rydde eller reparere, og prov det deretter med ein førespurnad.
Eininga er raud, grensesnittet finst, og tunnelen verkar stort sett, som er den mest forvirrande kombinasjonen som finst. Oppsettet er ein sekvens: først vert grensesnittet oppretta, deretter følgjer adresser, ruter, resolver-innstillingar og eventuelle hook-kommandoar. Ein feil på fjerde trinn lèt dei tre første stå, så grensesnittnamnet er prov på at oppstarten byrja, ikkje at han vart fullført. Éi ekstra opplysning ville ha spara forvirringa: trinnet som feila.
Delvis tilstand er den normale feilen
Den åtferda er verdt å vente på i staden for å handsame han som korrupsjon. Grensesnittet er den billegaste delen av oppsettet og den lettaste å etterlate, og det er òg delen som får maskinen til å sjå halvfunksjonell ut.
Det som enno ikkje finst, er alt som kom etter det feilande trinnet. Viss feilen var i resolver-trinnet, finst adresser og ruter, og DNS gjer det ikkje. Viss det var ei rute, har tunnelen ei adresse og ingen veg gjennom henne.
Konsekvensen er ein maskin som svarar på nokre testar og feilar på andre, og difor konkluderer folk med at tenesta blafrar når ho aldri starta vellukka. Ei teneste som aldri vart fullført, kan ikkje blafre. Ho kan berre feile gong på gong av same grunn.
Finn det første trinnet som feilar
Les journalen for eininga i staden for berre gjeldande status, og les han frå toppen av den feila køyringa. Den siste linja fortel deg utgangskoden; den første feilen fortel kva som skal reparerast.
Desse kommandoane skriv ut tilstanden til eininga, oppstartsjournalen for den eininga og live-tilstanden til tunnelen:
systemctl status wg-quick@wg0
journalctl -u wg-quick@wg0 -b --no-pager | tail -40
wg show
ip -4 addr show dev wg0Ein resolverfeil, ei rute som allereie finst, ein hook som enda med ein kode ulik null og ein feil i konfigurasjonsparsingen viser seg alle i det vindauget, og kvar av dei nemner sin eigen komponent. Å gjette berre ut frå tilstanden til grensesnittet overser all den informasjonen.
Tre vilkår som avgjer reparasjonen
Avgjer om du ryddar, reparerer på staden eller fjernar eininga frå oppstartsstien, og avgjer det før du skriv noko.
Viss grensesnittet er øydelagt men konfigurasjonen er riktig, ryddar du og startar på nytt. Viss konfigurasjonen er feil, rettar du han og ryddar likevel først, fordi å starte ein andre handterar over delvis tilstand gjev to eigarar til eitt grensesnitt. Viss feilen er ein manglande systemkomponent som ein resolver-hjelpar maskinen ikkje har, installer eller fjernar du avhengnaden med vilje i staden for å redigere eininga til ho sluttar å klage.
Desse tre tilfella dekkjer det meste av det som ser ut som ei mystisk raud eining. Det avgjerande spørsmålet er om den same feilen ville oppstå på ein maskin med rein tilstand, og svaret kjem vanlegvis frå den første feillinja.
Rydd før du prøver igjen
Eit nytt forsøk over eksisterande tilstand kan feile av ein ny grunn og skjule den opphavlege. Ta grensesnittet ned med same verktøy som oppretta det, og stadfest deretter at ingenting er att.
Ikkje slett urelaterte grensesnitt og ikkje tilbakestill nettverksstakken til verten. Begge er store handlingar for å reparere eit lite objekt, og dei gjer éin feila tunnel om til ein maskin der andre tilkoplingar må gjenopprettast. Riktig omfang er eitt grensesnitt og eininga som eig det. Alt vidare krev ein grunn skriven ned før det skjer.
Prov tunnelen, ikkje eininga
Ei grøn eining betyr at oppstartssekvensen enda med null. Det betyr ikkje at ein pakke nådde den andre sida, og ikkje at resolveren vart sett slik du meinte.
Send ein førespurnad gjennom tunnelen og les tilstanden som skapte han:
systemctl is-active wg-quick@wg0
wg show wg0 latest-handshakes
ping -c 3 10.63.0.1
resolvectl query internal.example.netEit handtrykk utan svar fortel deg framleis at tunnelen vart danna og at den fjerne sida er stille, som er eit anna problem enn ei eining som aldri starta. Hald tilstanden til eininga, handtrykket og resultatet av førespurnaden i éi registrering, fordi dei feilar uavhengig og berre kombinasjonen skildrar systemet.