WireGuard-vertaispää poistuu väärän WANin kautta: viisi tarkistusta järjestyksessä
Monen uplink-yhteyden yhdyskäytävässä kättely ja edelleen välitetty virta voivat kulkea eri reittejä. Käy sääntö, merkintä, käännös ja vastaus läpi tässä järjestyksessä.
Kaksi uplink-yhteyttä, yksi yhdyskäytävä ja WireGuard-vertaispää, jonka liikenne nousee yhä uudelleen varayhteydelle. Kättely pysyy terveenä koko ajan. Siksi oire on helppo lukea väärin WireGuardin viaksi reititysvian sijaan.
Tee alla olevat tarkistukset järjestyksessä. Jokaisella on pysäytysehto, ja edelle hyppääminen tuottaa yleensä itsevarman väärän vastauksen.
Erota kättely edelleen välitetystä virrasta
Salatulla vertaisvaihdolla on päätepistereitti palvelimen julkiseen osoitteeseen. Edelleen välitetyllä asiakasliikenteellä on eri kohde, ja se voidaan valita merkinnöillä tai käytäntösäännöillä. Ne ovat kaksi reitityspäätöstä, jotka jakavat yhden rajapinnan. Toisen pitäminen todisteena toisesta on ensimmäinen virhe.
Pysähdy heti, kun huomaat päätteleväsi kättelystä. Se on todiste vain päätepisteen polusta.
Lue käytäntösääntö, älä oletustaulua
Oletustaulu näyttää, mitä tapahtuu, kun mikään käytäntösääntö ei täsmää. Yhdyskäytävässä, joka reitittää lähteen, merkinnän tai kohteen mukaan, ratkaiseva sääntö asuu muualla. Tavallinen taulu voi näyttää täysin järkevältä, vaikka todellinen valinta tehdään sen yläpuolella.
ip rule show
ip route show table main
ip -4 route get 203.0.113.9 from 10.30.8.2
Lue käytäntösäännöt ja taulut, joihin ne viittaavat. Vahvista sitten, mikä sääntö täsmää testivirtaasi. Sääntö, joka viittaa rajapintaan, joka ei enää kanna aiottua uplink-yhteyttä, on löydös, ei yksityiskohta. Reittihaku lopussa näyttää vastauksen paljon nopeammin kuin taulun lukeminen ja arvaaminen.
Tarkista merkintä ja käännös yhdessä
Käytäntöreititys nojaa ketjussa aiemmin asetettuun pakettimerkintään. Jos merkintäsääntö ei osu liikenteeseesi, virta putoaa päätauluun ja poistuu sen kautta, mikä siellä on oletuksena. Edelleen välitetyt paketit ohittavat usein ketjut, jotka on kirjoitettu paikallisesti tuotetulle liikenteelle.
nft list chain inet filter prerouting
conntrack -L -s 10.30.8.2 2>/dev/null | head
ip -s link show dev eth1
Käännöksen on vastattava uplink-yhteyttä, joka kantaa virran. Sääntö, joka kääntää ensisijaiseen osoitteeseen paketin poistuessa varayhteydelle, tuottaa vastauksia, jotka on osoitettu rajapinnalle, jota virta ei koskaan käyttänyt. Tarkista käännössäännön oma rajapintaehto. Ehdoton sääntö toimii, kunnes toista uplink-yhteyttä käytetään, ja epäonnistuu sitten tavalla, joka näyttää ajoittaiselta.
Seuraa, mikä rajapinta kantaa vastauksen
Kaappaa molemmilta uplink-yhteyksiltä, kun yksi pyyntö on käynnissä. Merkitse, mikä rajapinta kantaa pyynnön ja mikä vastauksen. Epäsymmetriset polut on paljon helpompi nähdä kuin ennustaa.
Jos vastaus saapuu väärältä uplink-yhteydeltä, ongelma on siirtynyt WireGuardista yhteyksien seurantaan tai käännökseen. Mikään muutos vertaispään kokoonpanossa ei korjaa sitä.
Muuta yhtä asiaa paluutien kanssa
Pidä konsoli- tai kaistanulkoinen pääsy ennen käytäntösääntöjen muokkaamista yhdyskäytävässä. Tee yksi muutos, testaa sama valtuutettu kohde, yhdistä sitten uudelleen ja vahvista, että kättely käyttää edelleen aiottua päätepistepolkua. Lisää numeerinen testi toiselle osoiteperheelle, koska vain v4:tä koskeva käytäntö jättää saman virheen saataville.
Kirjaa, mitä uplink-yhteyttä kukin virta käytti. Tämä kirjaus tekee seuraavasta raportista kahden minuutin tarkistuksen kokonaisen iltapäivän sijaan. WireGuardin muistiinpanot nimiavaruuksista ja reitityksestä kuvaavat, miten päätepistepolku erotetaan tarkoituksella tunneloidusta liikenteestä, mikä on yleensä siistimpää kuin oletusreitin kiertotien kopioiminen.