Izlaz traceroute-a koji se završi u jednom smeru, a u drugom ispiše redove zvezdica, izgleda kao asimetrično prosleđivanje, a obično nije. Svaki prikazani skok zahteva da sonda stigne, da ruter odluči da odgovori i da se odgovor vrati i upari sa sondom. Prekinite bilo koju od tih veza i red postaje zvezdica, dok tunel nastavlja da prenosi podatke.

Trag je dokaz o dijagnostici pre nego dokaz o prenosu. Pitanje koje vredi postaviti jeste koja od tri veze nije uspela, a odgovor dolazi iz paketa, a ne iz oblika izlaza.

Zvezdica je odgovor koji nedostaje, a ne skok koji nedostaje

Traceroute ide prema spolja šaljući sonde čiji TTL ističe jedan ruter dalje u svakom krugu. Ruter koji odbaci isteklu sondu trebalo bi da vrati poruku ICMP Time Exceeded sa sopstvenim imenom, i alat ispisuje to ime. Alat zapravo čeka da ta poruka stigne u roku. Ako ruter odgovori sa druge izvorne adrese, ograniči koliko često stvara greške ili odbaci sondu bez reči, krug ne daje ništa za ispis.

Nijedan od tih ishoda ne kaže da je prednja putanja pokvarena. Zvezdica je izveštaj o neodgovorenoj pošti, a ne o praznom putu.

Metod sonde odlučuje na koji filter nailazite

Podrazumevani metod na Linuxu obično je UDP odredišni port sa visokim brojem, Windows tracert šalje ICMP odjeke, a Linuxu se može reći da umesto toga koristi ICMP ili TCP. Svaki od njih izgleda kao druga vrsta saobraćaja za stateful firewall ili bezbednosnu grupu u oblaku. Poređenje UDP traga sa jedne strane sa ICMP tragom sa druge strane poredi dva različita eksperimenta. Fiksirajte metod, familiju adresa, izvornu adresu i rok pre nego što rezultate nazovete razlikom.

Za pošteno poređenje pokrenite trag sa hostova koji stvarno nose saobraćaj, a ne sa pristupnika koji prosleđuje u njihovo ime. Trag koji generiše ruter koristi sopstvenu izvornu adresu i izlaznu politiku, koje mogu biti strože od svega što klijent vidi. Zapišite tačnu komandu da bi sledeća osoba mogla da je ponovi.

Vrednost roka je druga polovina eksperimenta i lako ispadne iz beleški. Čekanje od dve sekunde na zagušenoj putanji prijavljuje zvezdice tamo gde čekanje od pet sekundi prijavljuje skokove. Držite vrednost istom u svim pokretanjima da poređenje ostane o mreži.

Povratna putanja je sopstvena ruta

ICMP greška je običan paket sa sopstvenim izvorom i odredištem i treba joj ruta nazad do tragača. Ako politika tunela nosi LAN prefikse ali ne adresu rutera koji je generisao grešku, poruka izlazi putanjom koja vas ne može dosegnuti. Filtriranje odgovora može je odbaciti čak i kad ruta postoji, jer paket dolazi sa neočekivane adrese na neočekivanom interfejsu. To je nesklad u dijagnostičkoj ravni, a ne kvar aplikacije.

Proširivanje svakog selektora dok se trag ne završi čini sliku lepšom, a politiku gorom. Popravite konkretnu dijagnostičku adresu ili prihvatite zvezdicu i testirajte aplikaciju na drugi način.

Potvrdite tunel stvarnim zahtevom

TCP rukovanje na sopstvenom portu usluge proverava prosleđivanje, povratno rutiranje i filtriranje u smeru koji je važan. Komande ispod rade na oba kraja i porede šta svaka strana može da otvori. Zamenite port usluge i naziv interfejsa tunela iz svog podešavanja.

traceroute -I -n -w 2 203.0.113.40
traceroute -T -p 443 -n -w 2 203.0.113.40
curl -sS -o /dev/null -w '%{http_code} %{time_total}\n' --max-time 5 http://203.0.113.40:8080/health
ss -tan state established

Prvo pročitajte dva pokretanja traceroute-a: ako ICMP pokretanje pokazuje skokove, a TCP pokretanje ne, razlika je u metodu, ne u putanji. Zatim uzmite rezultat curl-a kao odgovor na nivou aplikacije, jer završena razmena sa smislenim statusnim kodom znači da prednja i povratna putanja rade za stvarni saobraćaj. Popis socketa pokazuje da li je veza uopšte uspostavljena, što vam nijedan trag ne može reći.

Tunel koji nosi interaktivnu sesiju u oba smera dok jedan traceroute ispisuje zvezdice je zdrav i samo nefotogeničan. Čuvajte izlaz komandi sa svake strane kao zapis i tretirajte skokove koji nedostaju kao otvoreno pitanje o dijagnostici, a ne kao presudu o VPN-u.

Povezani članci