Dva uplinka, jedan gateway i WireGuard peer čiji se saobraćaj stalno pojavljuje na rezervnoj liniji. Handshake ostaje zdrav cijelo vrijeme. Zato je simptom lako pogrešno pročitati kao kvar WireGuarda, a ne kao problem rutiranja.

Izvršite provjere ispod po redu. Svaka ima uslov za zaustavljanje, a preskakanje naprijed obično daje samouvjeren pogrešan odgovor.

Odvojite handshake od proslijeđenog toka

Šifrirana razmjena s peerom ima rutu do javne adrese servera. Proslijeđeni saobraćaj klijenta ima drugu odredišnu adresu i može biti odabran oznakama ili pravilima politike. To su dvije odluke rutiranja koje dijele jedan interfejs. Tretirati jednu kao dokaz o drugoj prva je greška.

Zaustavite se čim se uhvatite da zaključujete iz handshakea. On je dokaz samo o putanji do krajnje tačke.

Čitajte pravilo politike, ne zadanu tabelu

Zadana tabela pokazuje šta se dešava kada nijedno pravilo politike ne odgovara. Na gatewayu koji rutira po izvoru, oznaci ili odredištu, odlučujuće pravilo živi negdje drugdje. Obična tabela može izgledati potpuno razumno dok se pravi izbor donosi iznad nje.

ip rule show
ip route show table main
ip -4 route get 203.0.113.9 from 10.30.8.2

Pročitajte pravila politike i tabele na koje upućuju. Zatim potvrdite koje pravilo odgovara vašem testnom toku. Pravilo koje upućuje na interfejs koji više ne nosi željeni uplink je nalaz, a ne detalj. Traženje rute na kraju pokazuje odgovor mnogo brže od čitanja tabele i nagađanja.

Provjerite oznaku i translaciju zajedno

Rutiranje po politici oslanja se na oznaku paketa postavljenu ranije u lancu. Ako pravilo označavanja promaši vaš saobraćaj, tok pada u glavnu tabelu i izlazi kroz ono što je tamo zadano. Proslijeđeni paketi često preskaču lance napisane za lokalno generiran saobraćaj.

nft list chain inet filter prerouting
conntrack -L -s 10.30.8.2 2>/dev/null | head
ip -s link show dev eth1

Translacija se mora slagati s uplinkom koji nosi tok. Pravilo koje prevodi na primarnu adresu dok paket izlazi kroz rezervnu liniju stvara odgovore adresirane na interfejs koji tok nikada nije koristio. Provjerite vlastiti uslov interfejsa u pravilu translacije. Bezuslovno pravilo radi dok se ne koristi drugi uplink, a zatim pada na način koji izgleda isprekidano.

Gledajte koji interfejs nosi odgovor

Snimajte na oba uplinka dok jedan zahtjev traje. Zabilježite koji interfejs nosi zahtjev, a koji odgovor. Asimetrične putanje mnogo je lakše vidjeti nego predvidjeti.

Ako odgovor stigne kroz pogrešan uplink, problem se preselio s WireGuarda na praćenje veza ili translaciju. Nikakva promjena peer konfiguracije to neće popraviti.

Promijenite jednu stvar s putem natrag

Zadržite pristup preko konzole ili izvan pojasa prije uređivanja pravila politike na gatewayu. Napravite jednu promjenu, testirajte istu dozvoljenu destinaciju, zatim se ponovo povežite i potvrdite da handshake još koristi željenu putanju do krajnje tačke. Dodajte numerički test na drugoj familiji adresa, jer politika samo za v4 ostavlja istu grešku dostupnom.

Zabilježite koji je uplink svaki tok koristio. Taj zapis pretvara sljedeći izvještaj u provjeru od dvije minute umjesto cijelog popodneva. WireGuardove napomene o imenskim prostorima i rutiranju opisuju kako namjerno odvojiti putanju do krajnje tačke od tuneliranog saobraćaja, što je obično čistije od kopiranja zaobilaznog rješenja sa zadanom rutom.

Povezani članci