Waarom traceroute in een rigting deur ’n VPN-tonnel sterf
’n Spoor wat in een rigting voltooi en in die ander sterretjies druk, is gewoonlik ’n diagnostiese probleem. Vergelyk peilmetodes, terugpaaie en ’n werklike versoek.
Traceroute-uitvoer wat in een rigting voltooi en in die ander rye sterretjies druk, lyk soos asimmetriese aanstuur, en dit is gewoonlik nie. Elke wysende hop vereis dat die peiling aankom, dat ’n roeteerder besluit om te antwoord, en dat die antwoord terugreis en by die peiling gepas word. Breek enige een van daardie skakels en die ry word ’n sterretjie terwyl die tonnel aanhou om data te dra.
Die spoor is getuienis oor diagnostiek voordat dit getuienis oor vervoer is. Die vraag wat die moeite werd is om te vra, is watter van die drie skakels gefaal het, en daardie antwoord kom uit die pakkette eerder as uit die vorm van die uitset.
’n Sterretjie Is ’n Ontbrekende Antwoord, Nie ’n Ontbrekende Hop Nie
Traceroute beweeg uitwaarts deur peilings te stuur waarvan die TTL elke ronde een roeteerder verder verstryk. ’n Roeteerder wat ’n verstrykte peiling weggooi, behoort ’n ICMP Time Exceeded-boodskap te stuur wat homself noem, en die hulpmiddel druk daardie naam. Waarvoor die hulpmiddel eintlik wag, is dat daardie boodskap binne ’n tydperk aankom. As die roeteerder van ’n ander bronadres antwoord, beperk hoe dikwels hy foute genereer, of die peiling sonder ’n woord laat val, lewer die ronde niks drukbaars nie.
Nie een van daardie uitkomste sê die vooruitpad is gebreek nie. ’n Sterretjie is ’n verslag oor onbeantwoorde pos, nie oor ’n leë pad nie.
Peilmetode Bepaal Watter Filter Jy Tref
Die verstekmetode op Linux is gewoonlik ’n UDP-bestemmingspoort met ’n hoë nommer, Windows tracert stuur ICMP-eggope, en Linux kan aangesê word om eerder ICMP of TCP te gebruik. Elkeen van dié lyk soos ’n ander soort verkeer vir ’n toestandsvolle firewall of ’n wolk-sekuriteitsgroep. Om ’n UDP-spoor van een kant met ’n ICMP-spoor van die ander te vergelyk, vergelyk twee verskillende eksperimente. Pen die metode, die adresfamilie, die bronadres en die tydsperdatum vas voordat jy die resultate ’n verskil noem.
Vir ’n regverdige vergelyking, hardloop die spoor vanaf die gashere wat die verkeer werklik dra eerder as vanaf ’n poort wat namens hulle aanstuur. ’n Roeteerder-gegenereerde spoor gebruik die roeteerder se eie bronadres en uitvoerbeleid, wat strenger kan wees as enigiets wat ’n kliënt sien. Teken die presiese opdrag aan sodat die volgende persoon dit kan herhaal.
Die tydsperdatum is die ander helfte van die eksperiment, en dit is maklik om uit die notas te laat. ’n Wag van twee sekondes op ’n versadigde pad rapporteer sterretjies waar ’n wag van vyf sekondes hops rapporteer. Hou die waarde identies oor lopies sodat die vergelyking oor die netwerk bly.
Die Terugpad Is Sy Eie Roete
’n ICMP-fout is ’n gewone pakket met sy eie bron en bestemming, en dit het ’n roete terug na die spoorder nodig. As die tonnelbeleid die LAN-voorvoegsels dra maar nie die roeteerderadres wat die fout gegenereer het nie, verlaat die boodskap langs ’n pad wat jou nie kan bereik nie. Antwoordfilters kan dit laat val selfs wanneer die roete bestaan, want die pakket kom van ’n onverwagte adres op ’n onverwagte koppelvlak. Dit is ’n wanverhouding in die diagnostiese vlak eerder as ’n toepassingsfout.
Om elke keurder te verbreed tot die spoor voltooi, maak die prentjie mooier en die beleid slegter. Herstel die spesifieke diagnostiese adres, of aanvaar die sterretjie en toets die toepassing op ’n ander manier.
Bevestig die Tonnel Met ’n Werklike Versoek
’n TCP-handdruk op die diens se eie poort oefen aanstuur, terugroetering en filtering in die rigting wat saak maak. Die opdragte hieronder loop aan beide kante en vergelyk wat elke kant kan oopmaak. Vervang die dienspoort en tonnelkoppelvlaknaam uit jou eie opstelling.
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
Lees eers die twee traceroute-lopies: as die ICMP-lopie hops wys en die TCP-lopie nie, is die verskil metode, nie pad nie. Neem dan die curl-resultaat as die antwoord op toepassingsvlak, want ’n voltooide uitruiling met ’n sinvolle statuskode beteken voor- en terugpaaie werk albei vir werklike verkeer. Die sokkie-lys wys of die verbinding hoegenaamd gevestig is, wat geen spoor vir jou kan sê nie.
’n Tonnel wat ’n interaktiewe sessie in beide rigtings dra terwyl een traceroute sterretjies druk, is gesond en net onfotogenies. Hou die opdraguitset van elke kant as die rekord, en behandel ontbrekende hops as ’n oop vraag oor diagnostiek eerder as ’n uitspraak oor die VPN.